пятница, 3 августа 2012 г.

Переход к языкам высокого уровня


Первым шагом в создании более дружественных языков программирования была разработка мнемонических ассемблерных языков в начале 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. Программы, написанные на языках сценариев, чаще всего существенно короче эк­вивалентных программ, написанных на языках программирования наподобие С.

Комментариев нет:

Отправить комментарий