Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Оглавление.docx
Скачиваний:
38
Добавлен:
22.02.2015
Размер:
173.51 Кб
Скачать

Языки программирования высокого уровня

Язык программирования (алгоритмический язык) - набор правил, определяющих, какие последовательности символов составляют программу (синтаксические правила) и какие вычисления описывает программа (семантические правила).

Программа - текст, задающий множество процессов вычислений, в соответствии с которым исполнитель, понимающий программу, разворачивает какой-то один из них.

Выделим три основные характеристики языков программирования [Калинин, Мацкевич 1991].

  • Уровень языка - характеризуется сложностью задач, решаемых с помощью этого языка.

О том, чем определяется уровень языка программирования Интуитивно любой программист отличит язык программирования высокого уровня от языка программирования низкого уровня. В чем же состоит различие? Чем определяется уровень? Программирование представляет собой отображение в программах объектов, понятий и явлений предметной области задачи. Чем более адекватно можно выполнить это отображение, тем выше уровень языка программирования. А отображение будет выполнено тем лучше, чем богаче возможности типообразования языка программирования.

  • Мощность языка - характеризуется количеством и многообразием задач, алгоритмы решения которых можно записать, используя- это* язык.

О взаимосвязи уровня и мощности языка Чем выше уровень языка, тем ниже его мощность и наоборот.

  • Концептуальная целостность - характеризуется свойствами совокупности понятий, служащих для описания этого языка и включает три взаимосвязанных аспекта.

    • Экономия понятий - язык должен достигать своей Максимальной мощности минимальным количеством понятий.

    • Ортогональность понятий - между понятиями не должно быть взаимного влияния. Если понятие используется в различных контекстах, то правило его использования должно быть одним и тем же.

О неортогональности понятий даже самых лучших языков К сожалению, даже такие языки, как Pascal, допускают неортогональные конструкции. Например, пользователь может определить процедуры только с фиксированным числом параметров, однако некоторые стандартные процедуры (например, writeln()) могут быть вызваны с переменным числом параметров.

    • Единообразие понятий - требование согласованного единого подхода к описанию и использованию всех понятий.

Существует большое количество других характеристик.

  • Надежность - язык должен обеспечивать минимум ошибок при написании программ. Более того, язык должен быть таким, чтобы неправильные программы было трудно писать.

  • Удобочитаемость - легкость восприятия программ человеком. Это характеристика важна при коллективной работе, когда несколько человек работают с одними и теми же текстами программ.

  • Полнота - характеризует способность описать класс задач в некоторой предметной области.

  • Гибкость - характеризует легкость выражения необходимых действий.

Отметим два свойства, которые не влияют на процесс разработки, но играют важную роль, отражая реализаторскую позицию.

  • Мобильность - независимость от аппаратных средств, обеспечивающая переносимость программного обеспечения.

  • Эффективность - обеспечение эффективной реализации, которая включает:

    • эффективную реализацию компилятора;

    • эффективную генерацию компилятором кода программ.

И это только некоторые из свойств и характеристик. В одном из докладов военно-морскому флоту [Фоке 1985] исследователи насчитали более 2570 различных возможностей или свойств, которые можно выделить в языках программирования.

О конфликтовании характеристик языков Следует заметить, что многие из перечисленных характеристик конфликтуют друг с другом. Например, надежность и эффективность. Это подчеркивает сложности, с которыми приходится сталкиваться создателям новых языков.