Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Уровни и поколения языков программирования.




Уровни языков программирования

Разные типы процессоров имеют разные наборы команд. Язык программиро-

вания, ориентированный на конкретный тип процессора, называется языком програм-

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

ентированы на конкретные команды процессора (см. Микропрограммируемость).

С помощью языков низкого уровня создаются очень эффективные и компактные

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

другой стороны, при этом требуется очень хорошо понимать устройство компьютера,

затрудняется отладка больших приложений, а результирующая программа не может

быть перенесена на компьютер с другим типом процессора. Подобные языки обычно

применяют для написания небольших системных приложений, драйверов устройств,

модулей стыковки с нестандартным оборудованием, когда важнейшими требованиями

становятся компактность, быстродействие и возможность прямого доступа к аппарат-

ным ресурсам. В некоторых областях, например в машинной графике, на языке ассемб-

лера пишутся библиотеки, эффективно реализующие интенсивные вычисления алго-

ритмов обработки изображений.

Языки программирования высокого уровня значительно понятнее человеку. Осо-

бенности конкретных компьютерных архитектур в них обычно не учитываются, поэто-

му создаваемые программы на уровне исходных текстов легко переносимы на другие

платформы, для которых создан транслятор этого языка. Разрабатывать программы на

языках высокого уровня с помощью понятных и мощных команд значительно проще, а

ошибок при создании программ допускается гораздо меньше.

Высокоуровневый язык программирования – язык программирования, разрабо-

танный с расчетом на быстроту и удобство использования программистом. Обычно под

этим термином подразумеваются универсальные алгоритмические языки третьего по-

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

новная черта высокоуровневых языков – это абстракция, то есть использование смы-

словых конструкций, кратко описывающих такие структуры данных и операции над

ними, описание которых на машинном коде (или другом низкоуровневом языке про-

граммирования) очень длинно и сложно для понимания.

Кроме того, высокоуровневые языки позволяют упростить перенос программного

обеспечения между разными операционными системами. Это достигается использова-

нием разнообразных трансляторов и интерпретаторов, в то время как исходный код ос-

таётся неизменным.

Первым языком программирования высокого уровня считается язык Plankalkül,

разработанный немецким инженером Конрадом Цузе в 1942-1946 гг. Однако трансля-

тора для него не существовало вплоть до 2000 года. Поэтому первым компилируемым

языком программирования высокого уровня является Fortran.

Язык Fortran создан в середине 50-х гг. группой программистов IBM. Название

Fortran является сокращением от FORmula TRANslator (переводчик формул). Основ-

ным критерием при разработке компиляторов Фортрана являлась эффективность ис-

полняемого кода. В Фортране впервые был реализован ряд важнейших понятий про-

граммирования, но при этом удобство создания программ в целом было принесено в

жертву возможности получения эффективного машинного кода.

Фортран широко используется в первую очередь для научных и инженерных вы-

числений. За почти шесть десятилетий на нем создано огромное количество программ и

библиотек подпрограмм, начиная от статистических комплексов и заканчивая пакетами

управления спутниками. Многие из современных АСНИ реализованы именно на Фор-

тране.

Одной из причин такой живучести Фортрана является то, что он – жёстко стан-

дартизированный язык, и поэтому легко переносится на различные платформы. Новые

стандарты языка в значительной мере сохраняют преемственность с более старыми, что

позволяет интенсивно использовать уже разработанные и отлаженные коды, а также

модифицировать их.

Языков программирования высокого уровня существует множество. За десятиле-

тия развития информационных технологий ставились различные задачи, для решения

которых зачастую оптимальным вариантом было создание языка программирования,

ориентированного на задачи подобного рода. Закономерно, что многие из языков по

разным причинам не получили дальнейшего развития и сегодня не используются, а ряд

других языков по сути определяет развитие информационной индустрии в настоящее

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

удачные идеи, появляющиеся в них, включались в обновления старых языков. Всего

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

где не используется.

Сегодня существует около 200 популярных языков программирования высокого

уровня.ля оценки популярности часто используют индекс TIOBE. Он вычисляется на

основе подсчета результатов поисковых запросов, содержащих название языка, по не-

скольким информационным системам, таким как Google, Wikipedia, Baidu и др.

Рассмотрим некоторые наиболее популярные языки программирования в порядке

их популярности по состоянию на ноябрь 2012 г.

Си (англ. C) – стандартизированный процедурный язык программирования, раз-

работанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном иени-

сом Ритчи как развитие языка Би, из этого языка берут начало многие его особенности.

Первоначально C не рассматривался как массовый, а планировался для замены ассемб-

лера, чтобы иметь возможность создавать столь же эффективные и компактные про-

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

для использования в операционной системе UNIX, но с тех пор перенесен на многие

другие операционные системы и стал одним из самых используемых языков програм-

мирования. Си ценят за его эффективность; он является самым популярным языком для

создания системного программного обеспечения. Его также часто используют для соз-

дания прикладных программ. Несмотря на то, что Си разрабатывался не для новичков,

он активно используется для обучения программированию. В дальнейшем синтаксис

языка Си стал основой для многих других языков.

ля языка Си характерны лаконичность, современный набор конструкций управ-

ления потоком выполнения, структур данных и обширный набор операций. В 70-е годы

на нем написано множество прикладных и системных программ, а также ряд операци-

онных систем семейства Unix.

Паскаль (англ. Pascal) – высокоуровневый язык программирования общего назна-

чения. Один из наиболее известных языков программирования, широко применяется в

промышленном программировании, обучении программированию в высшей школе, яв-

ляется базой для большого числа других языков. Был создан Никлаусом Виртом в 1968-

69 годах (опубликован в 1970 году) после его участия в работе комитета разработки

стандарта языка Алгол-68.

Паскаль был создан как язык для обучения процедурному программированию

(хотя, по словам Вирта, язык нельзя считать только учебным, поскольку язык, непри-

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

Название языку дано в честь выдающегося французского математика, физика, литера-

тора и философа Блеза Паскаля.

Бейсик (от BASIC, сокращение от англ. Beginner’s All-purpose Symbolic Instruction

Code – универсальный код символических инструкций для начинающих; англ. basic –

основной, базовый) – семейство высокоуровневых языков программирования. Был раз-

работан в 1963 году профессорами артмутского колледжа Томасом Куртцем (Thomas

E. Kurtz) и жоном Кемени (John G. Kemeny).

Наиболее типичными примерами языков программирования низкого уровня яв-

ляются язык машинных команд и язык ассемблера.

Язык машинных команд представляет собой набор машинных команд в двоичном

(бинарном) или восьмеричном формате, который определяется архитектурой конкрет-

ной ЭВМ. Программа на ЯМК является прямым перечислением этих команд, состав-

ленным в соответствии с заданным алгоритмом. Каждый тип ЭВМ имел свой ЯМК,

причем программы на нем пригодны только для данного типа ЭВМ. От программиста

требуется хорошее знание не только машинного языка, но и архитектуры ЭВМ.

Язык ассемблера – система обозначений, используемая для представления про-

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

мисту пользоваться понятными обозначениями операций, по своему усмотрению при-

сваивать символические имена регистрам ЭВМ и памяти, а также задавать удобные для

себя схемы адресации (например, индексную или косвенную). Кроме того, он позволя-

ет использовать различные системы счисления (например, десятичную или шестнадца-

теричную) для представления числовых констант (вместо двоичной). Перевод про-

граммы на языке ассемблера в конечный исполнимый машинный код производится ас-

семблером.

Ассемблеры, как правило, также специфичны для конкретной микропроцессорной

архитектуры и операционной системы, хотя и не настолько, как ЯМК. Ассемблирова-

ние часто является промежуточным этапом при получении исполнимого кода програм-

мы, написанной на языке высокого уровня. Так, многие компиляторы с таких языков

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

транслируется на ЯМК.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...