Первым шагом в создании более дружественных языков
программирования была разработка мнемонических ассемблерных языков в начале
1950-х годов.
Изначально команды ассемблера являлись всего лишь
мнемоническими представлениями машинных команд. Позже в языки ассемблера были
введены макросы, так что программист мог определять параметризованные
сокращения для часто использующихся последовательностей машинных команд.
Большим шагом к высокоуровневым языкам
программирования стала разработка во второй половине 1950-х годов языка
программирования Fortran — для научных
вычислений, Cobol — для
обработки бизнес-данных и Lisp — для символьных
вычислений. Философия, стоящая за этими языками, заключается в создании
высокоуровневой системы обозначений, облегчающей программисту написание
программ для численных вычислений, бизнес-приложений и символьных программ. Эти
языки были столь успешны, что применяются и сегодня.
В последующие десятилетия было создано множество
языков программирования с новыми возможностями, которые делали написание
программ более простым, естественным и надежным. Позже в этой главе мы
рассмотрим некоторые ключевые возможности многих современных языков программирования.
В настоящее время существуют тысячи языков
программирования. Их можно классифицировать различными способами. Один из
способов классификации — по поколениям. Языки первого поколения — это
машинные языки; языки второго поколения — языки ассемблера, а к
языкам третьего поколения относятся высокоуровневые языки
программирования, такие как Fortran,
Cobol,
Lisp,
С, С++, С# и Java. Языки четвертого поколения — это языки программирования, разработанные для
конкретных применений, например NOMAD — для генерации отчетов, SQL — для
запросов к базам данных и Postscript — для
форматирования текстов. Термин языки пятого поколения применяется к
языкам программирования, основанным на логике или ограничениях, таким как Prolog
и OPS5.
Еще в одной классификации языков программирования
используются термин императивный (imperative) по отношению к языкам программирования, в которых программа указывает,
как должны выполняться вычисления, и термин декларативный (declarative)
по отношению к языкам, которые
указывают, какие вычисления должны быть выполнены. Языки
программирования наподобие С, С++, С# и Java являются императивными. В императивных языках имеется понятие состояния
программы и инструкции, которые изменяют это состояние. Функциональные языки,
такие как ML и Haskell,
а также логические языки типа Prolog, часто рассматриваются как декларативные.
Термин язык фон Неймана (von
Neumann language)
применим к языкам программирования,
вычислительная модель которых основана на вычислительной архитектуре фон
Неймана. Многие современные языки программирования, такие как Fortran
и С, являются языками фон Неймана.
Объектно-ориентированные языки — это языки программирования, поддерживающие
объектно-ориентированное программирование, стиль программирования, в котором
программа состоит из набора объектов, взаимодействующих друг с другом. Главными
наиболее ранними объектно-ориентированными языками программирования стали Simula
67 и Smalltalk; примерами более поздних объектно- ориентированных языков программирования
являются С++, С#, Java и Ruby.
Языки сценариев ("скриптов") — это интерпретируемые языки с высокоуровневыми
операторами, разработанными для "склеивания" вычислений. Такие вычисления
изначально назывались сценариями (script). Популярными примерами
языков сценариев
являются Awk,
JavaScript,
Perl,
PHP,
Python,
Ruby,
REXX и Tel. Программы, написанные на языках сценариев, чаще всего
существенно короче эквивалентных программ, написанных на языках
программирования наподобие С.
Комментариев нет:
Отправить комментарий