Средства программирования. Языки программирования высокого и низкого уровня. Обзор языков программирования высокого уровня.

Программы для первых компьютеров приходилось писать на машинном языке, т. е. в кодах, непосредственно воспринимаемых компьютером. Это было очень тяжелой, малопроизводительной и кропотливой работой, в ходе которой можно было легко оши­биться. Для облегчения процесса программирования в начале 50-х годов были разработаны системы, позволяющие писать про­граммы не на машинном языке, а с использованием мнемониче­ских обозначений машинных команд, имен точек программы и т. д. Такой язык для написания программ называется автокодом, или языком ассемблера. Для каждого типа процессоров сущест­вует собственный язык ассемблера, поэтому для переноса про­граммы на ассемблере на другую аппаратную платформу ее при­дется почти полностью переписать.

Однако написание программ на языке ассемблера все же весь­ма трудоемко. Поэтому и после появления ассемблеров многие исследователи продолжали попытки облегчить процесс програм­мирования, "научив" компьютеры понимать более удобные для человека языки составления программ. Такие языки стали назы­вать языками программирования высокого уровня, а языки ас­семблера и другие машинно-ориентированные - языками низкого уровня. Программы на языках высокого уровня либо преобразу­ются в программы, состоящие из машинных команд (это делается с помощью специальных программ, называемых трансляторами или компиляторами), либо интерпретируются с помощью про­грамм-интерпретаторов.

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

Первые языки программирования высокого уровня, например язык Фортран, разрабатывались для решения задач, требовавших сложных и громоздких вычислений. С дальнейшим развитием и распространением компьютеров расширился круг решаемых с их помощью задач, появились задачи, связанные с обработкой нечи­словой информации. Наметился двоякий процесс: специализация и универсализация языков программирования. Это привело к созданию специализированных языков программирования, таких как языки Лисп и Пролог, ориентированных на узкие области применения и позволяющих эффективно решать некоторые зада­чи. С другой стороны, появились и быстро получили широкое распространение универсальные языки программирования, на­пример языкиПаскаль и Си.

В настоящее время существует около двух тысяч языков программирования. Столь внушитель­ное количество существующих языков объясняется многообрази­ем сфер применения и подходов к реализации программ.

Инструментальное ПО (или системы программирования, языки программирования) обеспечивают создание ВСЕХ КЛАССОВ ПРОГРАММ: системных, прикладных и новых систем программирования.

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

Первые языки программирования возникли относительно недавно. Различные исследователи указывают в качестве времени их создания 20-е, 30-е и даже 40-е годы XX столетия. Нашей задачей является не установление самого раннего языка, а поиск закономерностей в их развитии.

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

Программы, написанные на ранних языках программирования, представляли собой линейные последовательности элементарных операций с регистрами, в которых хранились данные.

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

В настоящее время существуют тысячи различных языков программирования. Их можно классифицировать по различным признакам. Прежде всего, все языки программирования принято разделять на четыре большие группы:

Наши рекомендации