Invest-currency.ru

Как обезопасить себя в кризис?
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Первый язык программирования высокого уровня

Язык программирования высокого уровня

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

Так, высокоуровневые языки стремятся не только облегчить решение сложных программных задач, но и упростить портирование программного обеспечения. Использование разнообразных трансляторов и интерпретаторов обеспечивает связь программ, написанных при помощи языков высокого уровня, с различными операционными системами и оборудованием, в то время как их исходный код остаётся, в идеале, неизменным.

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

Примеры: C++, Visual Basic, Python, Perl, Delphi (Pascal), строковых типов, объектов, операций файлового ввода-вывода и т. п.

Первым языком программирования высокого уровня считается компьютерный язык Plankalkül разработанный немецким инженером Конрадом Цузе ещё в период 1942—1946 гг. Однако, широкое применение высокоуровневых языков началось с возникновением Фортрана и созданием компилятора для этого языка (1957).

Содержание

Переносимость программ

Распространено мнение, что программы на языках высокого уровня можно написать один раз и потом использовать на компьютере любого типа. В действительности же это верно только для тех программ, которые мало взаимодействуют с операционной системой, например, выполняют какие-либо вычисления или обработку данных. Большинство же интерактивных (а тем более мультимедийных) программ обращаются к системным вызовам, которые сильно различаются в зависимости от операционной системы. Например, для отображения графики на экране компьютера программы под Microsoft Windows используют функции Windows API, которые недоступны в системах, поддерживающих стандарт программный интерфейс X-сервера.

К настоящему времени создан целый ряд программных библиотек (например, библиотека wxWidgets), скрывающих несоответствия системных вызовов различных операционных систем от прикладных программ. Однако такие библиотеки, как правило, не позволяют полностью использовать все возможности конкретных операционных систем.

Новые тенденции

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

См. также

Ссылки

Wikimedia Foundation . 2010 .

Смотреть что такое «Язык программирования высокого уровня» в других словарях:

язык программирования высокого уровня — — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN data retrieval languageDRL … Справочник технического переводчика

машинно-ориентированный язык программирования высокого уровня — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN machine oriented high level languageMOHLL … Справочник технического переводчика

Язык программирования низкого уровня — Низкоуровневый язык программирования (язык программирования низкого уровня) язык программирования, близкий к программированию непосредственно в машинных кодах используемого реального или виртуального (например, Java, Microsoft .NET) процессора.… … Википедия

ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ — ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ, ЯЗЫКИ ПРОГРАММИРОВАНИЯ, приемлемо близкие к разговорному языку. Высокоуровневый язык программирования преобразуется КОМПИЛЯТОРОМ в машинные коды, используемые непосредственно компьютером. Большинство… … Научно-технический энциклопедический словарь

Язык программирования Паскаль — процедурно ориентированный язык программирования высокого уровня, предназначенный для широкого класса задач. Язык Паскаль считается языком структурного программирования. По английски: Pascal language См. также: Процедурно ориентированные языки… … Финансовый словарь

Язык программирования Лисп — универсальный язык программирования высокого уровня. Язык Лисп: относится к декларативным языкам функционального типа; предназначен для обработки символьных данных, представленных в виде списков. Основой языка являются функции и рекурсивные… … Финансовый словарь

Язык программирования Си — Си Семантика: процедурный Тип исполнения: компилируемый Появился в: 1969 73 г. Автор(ы): Кен Томпсон, Денис Ритчи Типизация данных: статическая Основные реализации … Википедия

Язык программирования C — Си Семантика: процедурный Тип исполнения: компилируемый Появился в: 1969 73 г. Автор(ы): Кен Томпсон, Денис Ритчи Типизация данных: статическая Основные реализации … Википедия

Язык программирования — Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия,… … Википедия

Язык высокого уровня — согласно ГОСТ 19781 90 язык программирования, понятия и структура которого удобны для восприятия человеком. Языки высокого уровня отражают потребности программиста, но не возможности системы обработки данных. См. также: Алгоритмические языки… … Финансовый словарь

Языки программирования высокого уровня

Язык высокого уровня [high-level language] — Язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа, поэтому программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами транслятора либо интерпретатора. К языкам высокого уровня относят Фортран , ПЛ/1 , Бейсик , Паскаль , Си , Ада, C++, Visual Basic, Java, Python, Ruby, Perl, Delphi (Pascal), PHP.

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

Первым языком программирования высокого уровня считается компьютерный язык Plankalkul разработанный немецким инженером Конрадом Цузе ещё в период 1942—1946 гг. Однако, широкое применение высокоуровневых языков началось с возникновением Фортрана и созданием компилятора для этого языка (1957).

Ада [Ada] — Язык программирования высокого уровня, ориентированный на применение в системах реального времени и предназначенный для автоматизации задач управления процессами и/или устройствами, например, в бортовых (корабельных, авиационных и др.) ЭВМ. Разработан по инициативе министерства обороны США в 1980-х гг. Назван в честь английского математика Ады Августы Байрон ( Лавлейс), жившей в 1815-1851 гг.

Дартмутском колледже Томасом Куртом и Джоном Кемени . Первоначально предназначался для обучения программированию. Отличается простотой, легко усваивается начинающими программистами благодаря наличию упрощенных конструкций языка Фортран и встроенных математических функций, алгоритмов и операторов. Существует множество различных версий Бейсика, которые не полностью совместимы друг с другом. Некоторые реализации Бейсика включают средства обработки данных и наборов данных. Большинство версий Бейсика используют интерпретатор, который преобразует его компоненты в машинный код и позволяет запускать программы без промежуточной трансляции. Некоторые более совершенные версии Бейсика позволяют использовать для этой цели трансляторы. На IBM PC широко используются Quick Basic фирмы Microsoft, Turbo Basic фирмы Borland и Power Basic (усовершенствованная версия Turbo Basic, распространяемая фирмой Spectra Publishing ). В начале 1999 г. фирма Microsoft выпустила версию языка Visual Basic 6.0 (VB 6.0), предназначенного для создания многокомпонентных программных приложений для систем уровня предприятий. Подробнее о нем см. [429].

Кобол [COBOL — COmmon Buisiness-Oriented Language] — Язык программирования высокого уровня, разработанный в конце 1950-х гг. ассоциацией КАДАСИЛ для решения коммерческих и экономических задач. Отличается развитыми средствами работы с файлами. Поскольку команды программ, написанных на этом языке, активно используют обычную английскую лексику и синтаксис, Кобол рассматривается как один из самых простых языков программирования. В настоящее время используется для решения экономических, информационных и других задач.

Лисп [LISP — LISt Processing] — Алгоритмический язык, разработанный в 1960 г. Дж. Маккарти и предназначенный для манипулирования перечнями элементов данных. Используется преимущественно в университетских лабораториях США для решения задач, связанных с искусственным интеллектом. В Европе для работ по искусственному интеллекту предпочитают использовать Пролог .

ЛОГО [LOGO от греч. logos — слово ] — Язык программирования высокого уровня, разработан в Массачусетском технологическом институте в ориентировочно 1970 г. для целей обучения математическим понятиям. Используется также в школах и пользователями ПЭВМ при написании программ для создания чертежей на экране монитора и управления перьевым графопостроителем .

Паскаль [PASCAL — акроним с французского — Program Applique a la Selection et la Compilation Automatique de la Litterature] — Процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского математика XVII века Блеза Паскаля. В своей начальной версии Паскаль имел довольно ограниченные возможности, поскольку предназначался для учебных целей, однако последующие его доработки позволили сделать его хорошим универсальным языком, широко используемым в том числе для написания больших и сложных программ. Существует ряд версий языка (например, ETH Pascal, USD Pascal, Turbo Pascal ) и систем программирования на этом языке для разных типов ЭВМ. Для IBM PC наиболее популярной является система Turbo Pascal фирмы Borland (США).

Пролог [PROLOG — PROgramming in LOGic] — Язык программирования высокого уровня декларативного типа (см. выше декларативное программирование), предназначенный для разработки систем и программ Бейсик [BASIC — Beginner’s All-purpose Symbolic Instruction Code] — Язык программирования высокого уровня , разработанный в 1963 — 1964 гг. в искусственного интеллекта. Относится к категории языков пятого поколения. Был разработан в 1971 г. в университете г. Марсель (Франция), относится к числу широко используемых и постоянно развиваемых языков. Последняя его версия Prolog 6.0.

Читать еще:  Составление математической модели задачи линейного программирования

Си [C ] — Многоцелевой язык программирования высокого уровня, разработанный Денисом Ритчи в начале 1970-х гг. на базе языка BCPL. Используется на миниЭВМ и ПЭВМ. Является базовым языком операционной системы Unix , однако применяется и вне этой системы, для написания быстродействующих и эффективных программных продуктов, включая и операционные системы. Для IBM PC имеется ряд популярных версий языка Си, в том числе — Turbo C (фирмы Borland), Microsoft C и Quick C ( фирмы Microsoft ), а также Zortech C (фирмы Symantec ). Многие из указанных версий обеспечивают также работу с Си и Си++ (см. ниже).

Си++ [C++] — Язык программирования высокого уровня, созданный Бьярном Страустрапом на базе языка Си. Является его расширенной версией, реализующей принципы объектно-ориентированного программирования. Используется для создания сложных программ. Для IBM PC наиболее популярной является система Turbo C++ фирмы Borland (США).

PLANKALKüL — ПЕРВЫЙ ВЫСОКОУРОВНЕВЫЙ ЯЗЫК ПРОГРАММИРОВАНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Казакова И.А.

Общеизвестно, что первым высокоуровневым языком программирования стал Фортран, созданный в 1957 г. Однако менее известно, что еще в 1945 г. был создан язык Plankalkül («исчисление планов»). Разработчиком языка Plankalkül является немецкий инженер Конрад Цузе, в компьютерном мире более известный как создатель программируемых вычислительных машин, «изобретатель компьютера», как называли его на родине в Германии.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Казакова И.А.

Текст научной работы на тему «PLANKALKüL — ПЕРВЫЙ ВЫСОКОУРОВНЕВЫЙ ЯЗЫК ПРОГРАММИРОВАНИЯ»

И. А. Казакова, доцент Пензенского государственного университета

Plankalkйl — первый высокоуровневый язык программирования

Общеизвестно, что первым высокоуровневым языком программирования стал Фортран, созданный в 1957 г. Однако менее известно, что еще в 1945 г. был создан язык Plankalkйl («исчисление планов»). Разработчиком языка Р1апка1кй1 является немецкий инженер Конрад Цузе, в компьютерном мире более известный как создатель программируемых вычислительных машин, «изобретатель компьютера», как называли его на родине в Германии.

В 1930-х г. К. Цузе занимался проектированием самолетов в компании HenschelAircraft. Ему приходилось выполнять множество однообразных рутинных расчетов по заданной схеме для определения оптимальной конструкции крыльев.

В1937-1941 гг. он сконструировал несколько различных моделей электромеханических вычислительных машин Z1 — Z3 [1]. Не зная о работах Ч. Бэббиджа, К. Цузе создал машины, во многом подобные аналитической машине. Кроме того, в 1937 г. он представил заявку на два патента на вычислительные машины, которые в основном соответствовали принципам фон Неймана. Z3 являлся уже вполне полноценной машиной и был создан раньше знаменитой ENIAC — первой электронной машины.

Создание языка Plankalkul

При работе над машиной Z4 (начало — 1942 г.) К. Цузе придумал эффективный способ программирования компьютеров, пригодный не только для построенной на электронных лампах Z4, но и для любой другой аналогичной машины. Он решил, что нужна система числовых и символьных обозначений, построенная на основе логики, — по существу, система исчисления шагов решения задачи [2].

Так появился первый в мире язык программирования высокого уровня — Plankalkul — планирующее исчисление или исчисление планов. К. Цузе соединил в названии языка слова kalkul («исчисление») и plan («план»), потому что рассматривал программу как план работы вычислительного устройства. Таким образом, К. Цузе «разделил» компьютер на две составляющие, которые сейчас называются hardware и software.

В послевоенные годы К. Цузе, не имея возможности продолжать в полной мере работу непосредственно над компьютером, направил свою деятельность на развитие теории [3]. К. Цузе написал брошюру, где рассказал о своем творении и возможности его применения для решения разнообразных задач, включая сортировку чисел и выполнение арифметических действий в двоичной системе счисления (другие компьютеры того времени работали в десятичной системе). Не рассчитывая увидеть свой язык реализованным на компьютере, он отмечал: «Plankalkul родился исключительно как результат теоретической работы, без всякой связи с тем, появятся или нет в обозримом будущем машины, подходящие к программам на Plankalkul» [4].

В 1949 г. К. Цузе начал работать над коммерческими «потомками» машины Z4. После 1955 г. под руководством компании, созданной К. Цузе, — Zuse KG — началась полноценная работа по сборке и реализации

компьютеров серии Z. Появились версии Z5, Z11, Z22, Z23, Z25, Z31. Приблизительно за 20 лет своего существования Zuse KG реализовала 251 компьютер на общую сумму 100 млн дойчмарок [5].

Структура языка Plankalkul

К. Цузе создал первый в мире символический язык (термина «алгоритмический язык» еще не существовало) и технику трансляции адресов. Кроме того, он предложил использовать подпрограммы с параметрами. Язык не был привязан к архитектуре и наборам команд конкретной вычислительной машины.

К. Цузе придумал оператор присваивания, для которого определил знак ^ (на современных компьютерах обозначаемый как =>). На Цюрихской конференции по языку ALGOL (ALGOL 60 GAMM-committee) европейская группа хотела ввести в стандарт языка именно его, и только под сильным давлением американской группы, не заинтересованной в введении символов, не поддерживаемых в компьютерах США, согласилась на сочетание :=.

Если взять самый простой пример с операторами, можно привести ставшее уже хрестоматийным выражение V1 = V2 => R1, где сравниваются переменные V1 и V2. Если они равны, то значение «TRUE» записывается в R1. В противном случае итоговое значение будет «FALSE».

В Plankalkul было введено понятие объекта [6]. Объект мог быть:

• примитивным, основанным на двоичных числах произвольной длины. При записи логической единицы К. Цузе использовал символ L; например, двоичное число 1001 записывалось как L00L;

• составным (структуры, рекурсивно определяемые массивы произвольной размерности и т. д.). Битовый массив размерности [n] [m] обозначался как n • m • S0. Индексация в Plankalkul всегда начиналась с 0. Разрешалось работать с подмассивами: для трехмерного массива V [] [] [] можно ука-

где V — это строка для индексов, S — строка для задания типов данных, п.0 — целое неотрицательное число размером п бит.

Plankalkül поддерживал мощные синтаксические конструкции и позволял компактно описывать сложные условные циклы. В результате запись программы была «многоступенчатой», с верхними и нижними индексами, и похожа на символические потоковые диаграммы, широко распространенные в США в 60-х гг. XX в.

Перечислим характерные черты языка Plankalkül:

— свободная переносимость (т. е. независимость от архитектуры и набора команд конкретной ЭВМ);

• использование операторов условия и циклов;

• работа с массивами и подмассивами;

Пример программы на языке Plankalkül

Вычислительные машины К. Цузе были не электронными, а электромеханическими, поэтому им не нужен был компилятор. Тем не менее, в 2000 г., спустя пять лет после смерти создателя Plankalkül, силами Свобод-^ ного Берлинского университета был создан | компилятор для языка. В какой-то мере сбы- R0 _L [:8.0]

§ max (V0 [:8.0],V1 [:8.0]) => Z1 [:8.0]

1 max (Z1 [:8.0],V2 [:8.0]) => R0 [:8.0] Sc END

P2 max (V0 [:8.0],V1 [:8.0]) => R0 [:8.0] V0 [:8.0] => Z1 [:8.0] (Z1 [:8.0] V1 [:8.0] => Z1 [:8.0]

Z1 [:8.0] => R0 [:8.0] END

Программы и подпрограммы в языке начинаются с символа «P» и уникального номера. Далее идет имя, по которому их можно будет вызывать. В данном случае подпрограммы называются max3 и max. Заканчивается подпрограмма ключевым словом «END» (в оригинальном Plankalkül его не было).

В подпрограмме описываются входные и результирующие значения. Здесь используются три входных переменных — V0, V1, V2 размерностью 8 бит и одна выходная такой же размерностью.

Подпрограмма max находит максимум из двух переменных. Вначале предполагается, что максимумом является переменная V0, ее значение присваивается вспомогательной переменной Z1. Если же переменная V1 больше переменной V0, то переменной Z1 присваивается значение V1. Далее найденный максимум присваивается выходной переменной R0.

В программе max3 происходит поиск максимума из двух переменных посредством вызова подпрограммы max.

При каждом использовании переменной следует указывать ее тип.

Таким образом, Plankalkül можно считать первым высокоуровневым языком программирования в истории. Однако руководство по языку Plankalkül было опубликовано лишь в 1972 г., поэтому известности, развития и признания Plankalkül не получил, уступив место таким языкам, как FORTRAN (появился в 1957 г.), LISP (1958 г.), COBOL (1959 г.), ALGOL 60 (1960 г.) и ALGOL 68 (1968 г.). По мощности Plankalkül приближался к ALGOL 68, но в отличие от него в Plankalkül не поддерживалась адресная арифметика, что в целом повышало надежность программы.

Другие научные работы К. Цузе

Это вовсе не полный перечень научных разработок К. Цузе. С конца 1930-х гг. он занимался параллельными вычислениями, а с 1937 г. начал исследования в области искусственного интеллекта. В 1934 г. он предложил использовать двоичную арифметику для машинных вычислений. В СССР первым на эту тему защитил диссертацию В. Шестаков (МГУ) в 1938 г., Клод Шеннон (США) опубликовал аналогичные исследования в 1937-1938 гг. В Англии, США и СССР считываемые программы и устройства памяти появились в вычислительных машинах уже после Второй мировой войны.

В 1969 г. К. Цузе выпустил книгу Rechnender Raum («Вычислительное пространство»). Спустя год она была переведена на английский язык под названием Calculating Space. В книге К. Цузе делает выводы о том, что физические процессы — это вычисления, а наша Вселенная есть не что иное, как cellular automation (CA — клеточный автомат). Понятие CA ввел Джон фон Нейман. Под СА понимается математическая модель в виде однородной сетки из клеток, работающих параллельно. Все изменения клеток происходят синхронно в дискретные моменты времени, но лишь после вычисления нового состояния каждой клетки. Для конца 1960-х гг. такой взгляд на Вселенную был новаторским, но сейчас идея «самовычисляющейся» Вселенной стала широко распространенной. Например, Сет Ллойд, создатель первого в мире квантового компьютера, занимающийся вопросами квантовой теории информации и квантовой теории гравитации, заявляет, что «даже если Вселенная не является обычным компьютером, то она все же может вычислять» [9].

Читать еще:  Турбо паскаль обучение

В настоящее время работы К. Цузе известны во всем мире. Он оказал несомненное влияние на развитие европейских компьютерных технологий. Его труды исполь-

зовались при создании новых компьютеров | и при разработке алгоритмических языков Ц программирования. К. Цузе получил мно- ^ жество наград и призов и заслужил меж- s¿ дународное признание. Он был почетным доктором и профессором многих университетов Европы. В 1985 г. К. Цузе избрали первым почетным членом «Общества информатики» Германии. С 1987 г. оно начало вручать «Медаль Конрада Цузе» — престижную немецкую награду в области информатики. В 2003 г. К. Цузе назван «величайшим из живших немцев».

В сентябре 1999 г. имя Конрада Цузе торжественно внесено в Книгу славы Центра компьютерной истории (Калифорния, США) «за изобретение первого компьютера с программным управлением и первого высокоуровневого языка программирования Plankalkül».

1. Гутер Р. С., Полунов Ю. Л. От абака до компьютера. М.: Знание, 1981. — 208 с.

2. Себеста Р. У. Основные концепции языков программирования. М.: Вильямс, 2001 г. — 672 с.

3. Петров Ю. П. История и философия науки. Математика, вычислительная техника, информатика. СПб.: БХВ-Петербург, 2005. — 448 с.

4. Язык компьютера / пер. с англ. К. Г. Батаева, под ред. и с предисл. В. М. Курочкина. М.: Мир, 1990. — 240 с.

5. Знакомьтесь: компьютер = Understanding computers: Computer basics: Input/Output / пер. с англ. К. Г. Батаева. Под ред. и с пред. В. М. Курочкина. М.: Мир, 1989. — 240 с.

6. Частиков А. П. Архитекторы компьютерного мира. СПб.: БХВ-Петербург, 2002. — 384 с.

7. Plankalkül: The First High-Level Programming Language and its Implementation /Raúl Rojas, Cüneyt Göktekin, Gerald Friedland, Mike Krüger. Technical Report B-3/2000, February 2000. URL: http://www.zib.de/zuse/ Inhalt/Programme/Planka-lkuel/Plankalkuel-Report/Plankalkuel-Report. htm (дата обращения: 27.06.2012).

8. Computational Capacity of the Universe. Seth Lloyd in Physical Review Letters, Vol. 88. No. 23, article 237901Z. June 10. 2002. quant-ph/0110141.

Pascal, Fortran, 1C: почему умирают старые языки программирования

По разным оценкам, на сегодняшний день в мире существует от 2,5 до 10 тыс. языков программирования различного уровня и типа. На них только в России пишут около 500 тыс. человек, а точное количество программистов по всему миру до конца неизвестно — цифры расходятся от 18 до 25 млн разработчиков. Они работают в разных сферах — одни занимаются бэкенд-разработкой, другие — фронтенд, третьи пишут нейросети и работают с большими данными. «Хайтек» составил список языков программирования, на которых практически перестали работать уже сейчас либо которые забудутся уже в ближайшие годы.

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

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

Язык ассемблера

Физические принципы работы электронных устройств ЭВМ таковы, что компьютер может воспринимать только команды, которые состоят из единиц и нулей — последовательность перепада напряжения, машинный код.

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

Именно в качестве автоматизации машинного языка (на котором и сейчас периодически пишут код, но специалистов такого плана в мире осталось очень и очень немного) появился первый язык низкого уровня — ассемблер. С его помощью можно было представлять машинный код в более понятном для человека виде — именно тут появляются первые команды, которые отражают суть задачи. Например, команда сложения двух цифр на машинном коде выглядела как 000010, а на ассемблере — add.

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

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

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

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

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

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

Высокого уровня. К 1970-м годам сложность программ на языках ассемблера увеличилась настолько, что программисты перестали с ними справляться. В итоге появились языки программирования высокого уровня. Они намного легче переносятся с компьютера на другой и модифицируются, а программистам работать на них намного проще, чем раньше. В эту категорию входят практически все самые распространенные сейчас языки — C, C++, Python, Java, JavaScript, PHP.

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

Языки программирования четвертого поколения (4GL) представляют собой скорее среды для разработчиков, где можно писать код. Они предназначены для реализации крупных проектов, повышают надежность их разработки и скорость создания. Ориентированы на специализированные области применения и используют не универсальные, а объектно-ориентированные языки, оперирующие конкретными понятиями. В них встраиваются мощные операторы и библиотеки, позволяющие одной строкой описать такую функциональность, для реализации которой на языках младших поколений потребовались бы тысячи строк исходного кода. 4GL в качестве кода могут использовать даже визуальные образы и естественные языки.

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

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

Именно первый язык высокого уровня Fortran пришел на смену ассемблеру в 1957 году. Название Fortran является сокращением от FORmula TRANslator — «переводчик формул». Несмотря на критику, его быстро приняли в компьютерном обществе, особенно в научной среде.

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

Его используют и сейчас в научном сообществе, но в основном из-за гигантского количества библиотек с уже решенными задачами, которые математики создавали десятилетиями — и их нет смысла переписывать на другие языки. Особенно десятки тысяч готовых пакетов с перемноженными матрицами и решениями сложных интегральных уравнений.

1С — редкий язык программирования, использующий кириллицу

Язык программирования 1C практически не выбирают молодые программисты — средний возраст разработчиков на этом языке составляет более 35 лет. Средой исполнения языка 1С является платформа «1С:Предприятие», при этом все команды и вообще вся разработка ведутся на русском языке.

Читать еще:  Язык программирования хтмл

Во время проектирования этого языка в середине 90-х годов такой подход был разумным, поскольку 1С стал одним из самых массовых языков программирования на территории стран СНГ. Однако в дальнейшем именно использование кириллицы ограничило рост языка, и постепенно он начал терять свою популярность. Да, разработчики добавили возможность написания кода и на английском языке, однако это не сильно повлияло на интеграцию языка в мировое сообщество.

Даже несмотря на то, что платформы 1С являются практически монополистами бухгалтерского рынка стран СНГ, язык, на котором работают все внутренние платформы, не является универсальным. В связи с этим либо языку придется сильно измениться, либо компании 1С постепенно переходить на другие, более перспективные языки программирования.

Objective-C — фирменный язык Apple

Язык программирования Objective-C появился еще в 1980-х годах, однако широкую популярность приобрел только в 2009 году — после выхода культового смартфона iPhone 3G. Сам язык Objective-C совмещал в себе идеи C и Smalltalk — применения систем с оконным управлением.

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

Вместо Objective-C разработчики Apple представили язык программирования Swift, на котором теперь работают все приложения, написанные под iPhone. Сейчас компания Apple почти перестала поддерживать Objective-C.

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

J# от Microsoft

С постепенным распространением программной платформы .NET Framework компания Microsoft решила создать собственный скрипт программирования, который бы смог заменить популярнейший язык Java для разработчиков.

J# в итоге оказался недоделанным и с практически полностью скопированным синтаксисом у Java. Даже для поддержки .NET Framework языку J# пришлось использовать дополнительные библиотеки — это еще больше усложняло работу с ним.

Сейчас J# перестал поддерживаться Microsoft и исключен из пакета Visual Studio, поэтому его изучение для программистов стало абсолютно бессмысленным.

ActionScript и Flash Player

Достаточно популярный еще пять лет назад язык программирования ActionScript от компании Adobe. Он имеет достаточно узкую направленность — именно с его помощью работает веб-плеер Flash Player, а его скорость и эффективность оказались намного выше, чем у JavaScript.

Основным недостатком ActionScript оказалась именно работа Flash Player. Его чаще всего использовали хакеры для взлома компьютеров, он имел множество внутренних критических слабостей, которые невозможно заделать патчами.

Поэтому многие ИТ-компании постепенно отказались от поддержки Flash Player, оставив его альтернативой HTML 5. В итоге и Adobe решила отказаться от поддержки этого языка к 2020 году. До конца непонятно, собирается ли компания представить какой-то аналог этого языка или работа веб-плеера полностью перейдет на формат HTML 5.

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

Информатика: учебник для студентов всех направлений и специальностей подготовки

ФБГОУ ВПО «Новосибирский государственный технический университет»

Главная страница / 26. Эволюция и классификация языков прог. 26.3. Языки высокого уров.

26.3. Языки высокого уровня

Навигация по разделам:

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

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

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

Первым общепризнанным языком высокого уровня можно по праву назвать Fortran , первая версия которого появилась в ноябре 1954 года.

Языки программирования высокого уровня:

  • процедурные;
  • функциональные;
  • логические;
  • объектно-ориентированные.

26.3.1. Процедурные языки программирования

Процедурные (алгоритмические) языки (Fortran, Cobol, Algol, Basic, Pascal, C и др.) предназначены для однозначного описания алгоритмов. Для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения. Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих те или иные действия.

Фортран (FORTRAN, FORmula TRANslation) – язык программирования высокого уровня, разработанный фирмой IBM в 1956 году для описания алгоритмов решения вычислительных задач. Наиболее распространенными версиями этого языка являются Фортран IV, Фортран 77 и Фортран 90. Последние версии Фортрана используются для программирования компьютеров с параллельной архитектурой.

Кобол (COBOL, COmmon Business-Oriented Languauge) – язык программирования высокого уровня, разработанный в конце 1959-х гг. ассоциацией КАДАСИЛ для решения коммерческих и экономических задач. Отличается развитыми средствами работы с файлами. Поскольку команды программ, написанных на Коболе, используют обычную английскую лексику и синтаксис, язык считался одним из самых простых. В настоящее время практически не используется.

Алгол (ALGOL, ALGOrithmic Language) — язык программирования высокого уровня, ориентированный на описание алгоритмов вычислительных задач. Был создан в 1958 году специалистами западно-европейских стран для решения научных задач. Версия этого языка Алгол-60 была принята Международной конференцией в Париже и получила широкое распространение. Версия Алгол-68, разработанная группой специалистов Международной федерации по обработке информации в 1968 году, получила статус международного универсального языка программирования, ориентированного на решение не только вычислительных, но и информационных задач. Хотя этот язык не получил широкого распространения, он долгие годы являлся стандартом для описания алгоритмов в научной литературе.

Бейсик (BASIC, Beginner`s All-purpose Symbolic Instruction Code) – язык программирования высокого уровня, разработанный в 1963–1964 годах в Дартмутском колледже Томасом Куртом и Джоном Кемени. Первоначально предназначался для обучения программированию. Отличался простотой благодаря наличию упрощенных конструкций языка Фортран и встроенных математических функций. В большинстве версий Бейсика используется интерпретатор для преобразования конструкций языка в машинный код, что позволяет запускать программы без промежуточной трансляции. В начале 1999 года корпорация Microsoft выпустила версию Visual Basic (VB 6.0), предназначенную для создания многокомпонентных приложений для систем уровня предприятий.

Паскаль (PASCAL, Program Applique a la Selection et la Compilation Automatique de la Litterature) – французский язык программирования высокого уровня, разработанный в конце 1960-х годов швейцарским профессором, ставшим Нобелевским лауреатом, Никласом Виртом. Язык предназначался для первоначального обучения программированию в университете. Назван в честь французского математика XVII века Блеза Паскаля. Для IBM PC наиболее популярной являлась система программирования Delphi фирмы Borland.

Си (C) – язык программирования высокого уровня, разработанный Денисом Ритчи в начале 1970-х годов на основе языка BCPL. Стал базовым языком операционной системы Unix. До сих пор является одним из наиболее популярных языков программирования.

26.3.2. Функциональные языки программирования

Функциональные языки (LISP, ML, Erlang, Haskell) – программа на таком языке представляет собой совокупность описаний функций и выражений, которые необходимо вычислить. Функциональное программирование не использует концепцию памяти как хранилища значений переменных. Операторы присваивания отсутствуют, вследствие чего переменные обозначают не области памяти, а объекты программы, что полностью соответствует понятию переменной в математике. Наличие стройной математической основы обеспечивает возможность использования алгебраических методов создания структуры, преобразования и исследования программ. Это в какой-то мере приближает их к описанию структуры мышления человека.

Лисп (LISP, LISt Processing) – язык программирования высокого уровня, разработанный в 1960 году Джоном Маккарти и предназначенный для манипулирования перечнями элементов данных. Использовался в университетских лабораториях США для решения задач, связанных с искусственным интеллектом.

26.3.3. Логические языки программирования

Логические языки (Prolog) – ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания. В логическом программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Логические программы отличаются принципиально низким быстродействием, так как вычисления осуществляются методом проб и ошибок (посредством поиска с возвратами).

Пролог (PROLOG, PROgramming in LOGic) – язык программирования высокого уровня, предназначенный для разработки систем и программ искусственного интеллекта. Был разработан в 1971 году в университет Марселя. Последняя его версия – Prolog 6.0.

26.3.4. Объектно-ориентированные языки программирования

Объектно-ориентированные (C++, С#, Java и др.) – в основе этих языков лежит понятие объекта, сочетающего в себе данные и действия над ними. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур. Прототипом объектно-ориентированного программирования явился язык SIMULA-67 . Но оформилось оно в самостоятельный стиль программ с появлением языка SMALLTALK (1972), первоначально предназначенного для реализаций функций машинной графики.

Си++ (С++) – язык программирования высокого уровня, созданный Бьярном Страустрапом на базе языка Си. Является его расширенной версией, реализующей принципы объектно-ориентированного программирования.

Java – объектно-ориентированный язык программирования высокого уровня, разработанный фирмой Sun Microsystem в 1994 году Он во многом сходен с С++ и нашел широкое распространение для написания программных продуктов в сетевых системах. Язык рассчитан на передачу по Интернет текстов программ, которые на всех компьютерах должны выполняться одинаковым образом.

C# (C Sharp, Си Шарп) – объектно-ориентированный язык программирования высокого уровня, разработанный в 2000 году фирмой Microsoft на основе языков C++ и Java.

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector