Cтраница 1
Оценка языков программирования мало похожа на их описание. [1]
Вирта Оценка языка программирования Паскаль может в некотором смысле считаться ответом на критику языка Паскаль, высказанную в статье А. Кер-нигана Система разделения времени UNIX: Язык программирования Си, включающий введение и лишь одну, часть статьи, посвященную собственно оценке языка Си. Джехани Предварительная оценка языка программирования Ада во многом субъективна. [2]
Вирта Оценка языка программирования Паскаль обсуждаются некоторые решения, принятые в процессе разработки языка Паскаль, и поясняются причины принятия этих решений. Разработанный в 1969 г. язык Паскаль за прошедший с этого момента период времени неоднократно подвергался широкому обсуждению и различным модификациям. [3]
При проведении оценки языков программирования основной целью является формирование некоторого абсолютного ( а не относительно других языков программирования) суждения ( мнения) об оцениваемом языке программирования, которое должно быть сформировано с учетом ясно определенных целей его использования. Авторы хотели бы подчеркнуть, что основной целью настоящей статьи является именно сравнение языков программирования, а не их оценка. Проведенное сравнение языков программирования затрагивает в первую очередь те-средства сравниваемых языков программирования, которые являются наиболее критичными с точки зрения технологичности и хорошей программистской практики. [4]
В целом сравнения и оценки языков программирования, предпринятые в этих работах, основаны на детальном анализе различных особенностей языков программирования, рассмотренных авторами этих работ. В связи с тем, что цель настоящего сравнения намного более специфична, а именно: сравнение языков программирования в свете современных представлений о технологичности, то авторы избрали иной подход. [5]
Одной из причин проведения оценки языков программирования является необходимость выбора того или иного языка программирования для решения определенных задач. Процесс выбора языка программирования в этом случае часто приводит к горячим спорам, поскольку, как правило, отсутствуют ясно сформулированные цели выбора и общность интересов у спорящих. Поэтому результат процесса выбора языка программирования очень часто определяется предварительным программистским опытом, а не некоторым набором объективных критериев. [6]
В главе Методология сравнения и оценки языков программирования помещены четыре статьи. Эти статьи носят более общий характер, поскольку посвящены не оценке конкретных языков программирования или их сравнению, а методологии проведения таких оценок и сравнений. [7]
Установив различие между сравнением и оценкой языков программирования и обозначив контуры идеи, на которой основан предлагаемый авторами способ сравнения языков программирования, необходимо описать более подробно процесс сравнения языков программирования. [8]
В отличие от статей, посвященных оценке языков программирования и помещенных в предыдущей главе настоящего сборника, эти статьи затрагивают в основном слабые стороны языков Паскаль и Си. [9]
В настоящей статье предложена методология сравнения и оценки языков программирования. Предложенный подход состоит из двух этапов. На первом этапе формируется характеристика каждого из сравниваемых языков программирования на основе рассмотрения наиболее существенных его особенностей. Затем, на втором этапе, осуществляется сравнение сформированных ранее характеристик с точки зрения использования сравниваемых языков программирования в определенной области применения. [10]
Все это приводит к появлению еще одного критерия для оценки перспективных языков программирования - к оценке по их размеру. Имеется множество свидетельств травматического эффекта, наносимого языками программирования, имеющими большой размер, описания которых состоят из сотен страниц, полных специализированной и неотчетливой терминологии, введенной с неясными целями и скрывающей противоречия. Путешествие в мир документации по различным языкам программирования позволяет получить поистине уникальный опыт. [11]
Статьи, помещенные в предыдущих главах настоящего сборника, представляют собой частные случаи сравнения и оценки языков программирования. Статьи, представленные в заключительной главе сборника, носят более общий характер, поскольку в них внимание концентрируется собственно на процессах сравнения и оценки языков программирования. [12]
Хотя в сборник входят совершенно различные по своему уровню статьи, настоящая книга представляет собой первую попытку достаточно полного освещения проблем сравнения и оценки языков программирования. Книга содержит обширную библиографию по рассматриваемым вопросам. [13]
Авторы, однако, убеждены в возможности достижения объективности в сравнении языков программирования, и настоящая статья написана - в предположении, что это возможно. Оценка языков программирования включает их сравнение с формированием некоторого суждения ( мнения) о них. Процессы сравнения и оценки языков программирования могут быть упрощены благодаря наличию ясно сформулированных целей и определенной дополнительной информации. Настоящая статья может служить источником для получения части дополнительной информации, необходимой для оценки языков программирования в определенном контексте. [14]
В настоящей статье предложена методология сравнения языков программирования. Настоящая статья построена на базе некоторого перечня вопросов, лежащих в основе сравнения и оценки языков программирования. Этот перечень вопросов был сформирован, исходя из посылки его последующего применения для сравнения и оценки процедурных языков программирования, таких, например, как языки Ада, Си, Паскаль. С каждым из включенных в этот перечень вопросов ассоциирован ряд конкретных подвопросов, ответы на которые необходимы для формирования характеристики некоторого языка программирования. Кроме того, каждый из включенных в этот перечень вопросов сопровождается дополнительной информацией, представляющей собой критерии, которые могут быть использованы для оценки языка программирования на основе уже сформированной его характеристики. Описание таких критериев сопровождается реальными примерами их применения. [15]