Смекни!
smekni.com

Курс лекций (стр. 8 из 24)

СИ (C). Стал очень популярен благодаря многим решениям, сделавшим запись программы на Си весьма компактной. Накладывает на программиста не слишком много ограничений. С++ - первоначальное название "Си с классами". В язык Си Бъярном Строуструпом введены средства ООП и ряд других добавлений. До последнего времени самый модный язык. Сейчас принято считать, что Си++ сложноват и не слишком надежен.

АДА (ADA). Официальный язык программирования американских военных. Происходит от Паскаля, но заметно сложнее его.

МОДУЛА-2 (MODULA-2). Язык, который должен был заменить Паскаль, устранив основное его ограничение – отсутствие модульности. Но этого в полной мере не произошло. Благодаря политике компании Борланд, которая в тот момент, когда нужно было обеспечить модульность в создаваемых ею системах программирования, решила, что выгоднее добавить новые элементы в Паскаль, а не переходить на Модулу-2. Тем не менее, известно, что Модула-2 использовалась и используется в проектах, где важнейшую роль играет надежность. Средства межмодульного контроля Модулы-2 заметно совершенней аналогичных возможностей Турбо Паскаля и Си.

Оберон (OBERON). Разработан Н.Виртом в 1987 году. Представляет собой существенно упрощенный вариант Модулы-2, в который добавлены расширяемые записи – основной механизм ООП. Язык необычайно прост. При этом сохраняет универсальность и в функциональном отношении не уступает другим языкам. В 1992 году были приняты расширения языка Оберон-2, предложенные молодым коллегой Н.Вирта Ханспетером Мёссенбёком. В язык введены так называемые связанные процедуры – аналог виртуальных методов в других языках.

ЯВА (JAVA). Самый молодой и самый обсуждаемый ныне язык. Является непосредственным наследником Си++. Отличается от него отсутствием некоторых потенциально ненадежных механизмов, а также тем, что устранены любые, не относящиеся к ООП, средства. Объекты и ничего кроме объектов. Говорят, что Ява простой язык. Но стоит заглянуть в его официальное описание (James Gosling, Bill Joy, Guy Steele. The Java Language Specification Version 1.0), как возникает повод усомниться. Тяжелый (в прямом и переносном смысле) 700-страничный документ, насыщенный многословными и громоздкими определениями.

Немалую роль играют пропаганда и мода. Сейчас, например, мы все являемся свидетелями массированной пропагандистской кампании, развернутой вокруг языка Ява. Впервые язык программирования выводится на рынок такими же маркетинговыми приемами, что и традиционные товары.

ЛИСП (LISP, LISt Processing - обработка списков). Используется в области искусственного интелекта - направления, которое занимается созданием ПО, имиттирующего человеческий разум. Создан в конце 50-х годов математиком из МТИ Джоном Маккарти. Лучше подходит для задач, связанных с манипулированием символами, чем для обработки обычных чисел.

КОБОЛ (COBOL, COmmon Business Oriented Language - общий язык, ориентированный на деловые задачи). Создан в Пентагоне в 1960 г. совместными усилиями федерального правительства и производителей компьютеров. Основной целью было создать язык, который могли бы легко понимать деловые люди, профессионально не связанные с программированием. Структура и словарь близки к обычному английскому языку. Является основным языком в США для обработки данных в таких учереждениях как банки и страховые компании.

ФОРТ (FORTH - четвертый, по мнению автора язык четверого поколения). Идея создания принадлежит Чарлзу Муру, который разработал его в конце 60-х - начале 70-х годов как персональное средство повышения производительности труда. Стал широко применять в задачах управления после того, как Мур использовал его для реализации программы, предназначенной для управления радиотелескопом Аризонской обсерватории.

Языки программирования (ЯП) по своим возможностям и времени создания принято делить на несколько поколений (Generation Language, GL). (Пятое поколение -- языки программирования или прикладные системы? PC Week/RE
Сергей Бобровский 1997).
Каждое из последующих поколений по своей функциональной мощности качественно отличается от предыдущего. К сегодняшнему дню насчитывается пять поколений ЯП.

В первое поколение (1GL) входят языки, созданные в 40-50 гг., когда компьютеры только появились на свет. В то время программы писались в машинных кодах, то есть каждая компьютерная команда вместе с ее операндами вводилась в ЭВМ в двоичном виде. Это требовало огромных усилий по набору цифровых текстов и приводило к множеству трудноуловимых ошибок. Конечно, ни о каких мало-мальски больших проектах речи идти не могло. Ситуация качественно изменилась в середине 50-х годов, когда был написан первый ассемблер , что само по себе можно считать подвигом, учитывая довольно сложную логику программы. Хотя этот ассемблер был неполноценным в сегодняшнем понимании, но он позволял задавать названия команд в символическом виде и указывать числа не только в двоичном, но и в десятичном или шестнадцатиричном формате, что существенно облегчало работу программистов. Языки первого поколения продолжают использоваться и сегодня, хотя в значительно меньшем объеме. Чаще всего приходится писать программы в машинных кодах для новых микропроцессоров, для которых еще не разработаны компиляторы, поддерживающие требуемый набор команд.

Расцвет второго поколения языков программирования (2GL) пришелся на конец 50-х - начало 60-х годов. Был создан символический ассемблер, позволявший писать программы без привязки к конкретным адресам памяти. В него было введено понятие переменной, и он по сути стал первым настоящим (хоть и машинно-ориентированным) языком программирования со своим компилятором. Скорость создания и эффективность программ резко возросли. Ассемблеры активно применяются в настоящее время, как правило, для создания программ, максимально использующих возможности аппаратуры -- различных драйверов, модулей состыковки с нестандартным оборудованием и т. д. В некоторых областях, например, в машинной графике, на ассемблере пишутся библиотеки, эффективно реализующие стандартные алгоритмы обработки изображений. Кроме того, среди программистов просто есть немало людей, предпочитающих использовать ассемблер в своей работе. Как правило, это специалисты, хорошо разбирающиеся в электронике.

Третье поколение ЯП (3GL) принято относить к 60-м годам. В это время родились языки, которые называют универсальными языками высокого уровня, с их помощью можно решать задачи из любых областей. Это общеизвестные Фортран, Кобол, Алгол и др. Такие качества новых языков, как относительная простота, независимость от конкретного компьютера и возможность использования мощных синтаксических конструкций позволили резко повысить производительность труда программистов. Кроме того, понятная большинству пользователей процедурная идеология этих языков позволила привлечь к написанию небольших программ (как правило, расчетного или учетного характера), большое количество специалистов из некомпьютерных областей. Подавляющее большинство языков 3GL успешно применяется и сегодня. Современные компиляторы с интегрированными средами разработки предоставляют очень удобные средства поддержки процесса создания программ, легко осваиваемые студентами компьютерных специальностей первых курсов, благодаря чему простые в освоении языки 3-го поколения используются для разработки программ абсолютным большинством людей, зарабатывающих на жизнь программированием. Практически все современные коммерческие продукты, рассчитанные на массовый рынок, написаны на языках 3-го поколения.