Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

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

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

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

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

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

Способы реализации языков

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

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

Разделение на компилируемые и интерпретируемые языки является условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство современных «чистых» интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое
высокоуровневое промежуточное представление (например, с разыменованием переменных и раскрытием макросов).
Для любого интерпретируемого языка можно создать компилятор — например, язык Лисп, изначально интерпретируемый, может компилироваться без каких бы то ни было ограничений. Создаваемый во время исполнения программы код может так же динамически компилироваться во время исполнения.

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

Программа на интерпретируемом языке может быть зачастую запущена на разных типах машин и операционных систем без дополнительных усилий.
Однако интерпретируемые программы выполняются заметно медленнее, чем компилируемые, кроме того, они не могут выполняться без программы-интерпретатора.
Некоторые языки, например, Java и C#, находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не в машинный язык, а в машинно-независимый код низкого уровня, байт-код. Далее байт-код выполняется виртуальной машиной. Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету» (Just-in-time compilation, JIT). Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine, JVM), для C# — Common Language Runtime.

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

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

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

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

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

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

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

  • Адресный язык программирования
  • Фортран
  • Кобол
  • Алгол
  • Pascal
  • Pascal ABC
  • Python
  • Java
  • C
  • Basic
  • C++
  • Objective-C
  • Smalltalk
  • C#
  • Delphi

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

Читать еще:  Меры безопасности на электрифицированных участках

Используемые символы

Современные языки программирования рассчитаны на использование ASCII, то есть доступность всех графических символов ASCII является необходимым и достаточным условием для записи любых конструкций языка. Управляющие символы ASCII используются ограниченно: допускаются только возврат каретки CR, перевод строки LF и
горизонтальная табуляция HT (иногда также вертикальная табуляция VT и переход к следующей странице FF).

Ранние языки, возникшие в эпоху 6-битных символов, использовали более ограниченный набор. Например, алфавит Фортрана включает 49 символов
(включая пробел): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + — * / () . , $ ‘ :
Заметным исключением является язык APL, в котором используется очень много специальных символов.
Использование символов за пределами ASCII (например, символов KOI8-R или символов Юникода) зависит от реализации: иногда они разрешаются только в комментариях и символьных/строковых константах, а иногда и в идентификаторах. В СССР существовали языки, где все ключевые слова писались русскими буквами, но большую популярность подобные языки не завоевали.
Расширение набора используемых символов сдерживается тем, что многие проекты по разработке программного обеспечения являются международными. Очень сложно было бы работать с кодом, где имена одних переменных записаны русскими буквами, других — арабскими, а третьих — китайскими иероглифами. Вместе с тем, для работы с текстовыми данными языки программирования нового поколения (Delphi 2006, C#, Java) поддерживают Unicode.

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

Язык высокого уровня [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 (США).

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

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

Главная страница / 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.

Студентик.РФ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Иногда рассматривают три уровня языков программирования:

  • машинные (самого низкого уровня);
  • машинно-ориентированные (ассемблеры);
  • машинно-независимые (высокого уровня).

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

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

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

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

Транслятор — это программа, предназначенная для автоматического перевода описания алгоритма решения задачи с одного формального языка на другой. Причем исходным языком является язык высокого уровня, а конечным – машинный язык (машинный код).

Если трансляция сопровождается выполнением каждой команды после ее перевода в машинный код, то такой транслятор называют интерпретатором.

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

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

Языки программирования, приспособленные для каких-то специфических задач, называют специальными.
Например, для решения инженерных задач раньше часто использовали ФОРТРАН (FORTRAN), программы для выполнения в сети Интернет пишут, например, на языках PHP, Perl, JavaScript и др.

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

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

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

Приветствую Вас Друзья!

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

Языки высокого уровня условно можно «разбить» на следующие:

  • Линейные;
  • Макросы;
  • Языки сценариев;
  • Объектно-ориентированные языки;
  • Языки запросов к базам данных;
  • Логические;
  • Процедурные.


Теперь, чтобы мы могли, так, скажем, говорить на одном языке, я обозначу ряд определений (без этого никуда):

Класс – это связанные функции, процедуры и переменные;

Процедура – это часть программы, в которую передаются определенные параметры и уже в соответствии с этими параметрами выполняется программный код, а затем передается в основную программу;

Переменная – это частичка памяти, которая хранит в себе значение;

Функция – это процедура, которая возвращает значение;

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

Линейные языки

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

Макросы

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

  1. Для ускорения часто выполняющихся операций;
  2. Для объединения часто выполняемых команд;
  3. Для автоматизации сложных последовательных действий в разных задачах.

Языки сценариев

Эти языки используются при создании динамических страниц сайтов, которые работают с базами данных. Грубо говоря, сценарий это и есть скрипт (о скриптах я писал здесь). Скрипт это интерпретируемая программа, встраиваемая в HTML – документ. При написании скриптов (сценариев) нужно всегда иметь ввиду строгий порядок, по которому браузер и формирует страницу. Наиболее распространенными и известными языками является Visual Basic Script, Java Script, Perl и PHP.

Объектно – ориентированные языки

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

Simula 67 – это первый объектно – ориентированный язык. Вообще эти языки можно отнести к модульному программированию. То есть вместо механического объединения процедур и функций, уклон делается на их связанное взаимодействие. Самыми яркими представителями являются:

Языки запросов к базам данных

Еще их называют структурированными языками запросов (SQL – Structured Query Language). Для каждой базы данных или правильнее будет сказать системы управления базами данных (СУБД) существует своя модификация языка запросов.

Логические языки

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

Процедурные языки

Процедуры этих языков, по сути, представляют из себя крупные логические блоки, которые обеспечивают выполнение различных операций. Здесь используется принцип модульного программирования. Самым первым языком этого класса является, конечно же, Fortran. Затем были Fortran I, Fortran II, Fortran III, но потом стали появляться более продуманные языки Cobol, Pascal, Lisp, Algol’58, APL, Basic, C, которые и нарушили казавшийся монополизм Fortran.

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

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

Ссылка на основную публикацию
Adblock
detector