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.

Читать еще:  Курсы программирования ассемблер

Современные языки программирования: краткий обзор

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

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

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

Зачем нужны языки программирования

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

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

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

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

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

Начало же современному программированию было дано в 1930-1940-е годы, когда были написаны лямбда-исчисление и машина Тьюринга. То время можно назвать началом истории разработки языков программирования, ведь компьютеры становились все популярнее. В 1940-е годы появились первые электрические компьютеры, и тогда же немецкий инженер Ц. Кузе разработал Планкалькюль, первый высокоуровневый язык.

В 1950-е годы были разработаны машинные коды, которые считаются языками программирования первого поколения. Но их приходилось переписывать для каждой ЭВМ отдельно, так что первым реально работающим языком программирования можно считать «Краткий код». Он первым стал представлять собой не набор математических кодов, а выражения, которые потом перерабатывались в код.

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

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

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

После того, как стал развиваться интернет в 1990-е годы, появились еще языки для написания веб-страниц. Сейчас развитие языков программирования идет по большей части в сторону безопасности пользователя.

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

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

Basic

Basic или Бейсик называют группу языков программирования высокого уровня. Его создали профессора колледжа Дартмут в 1964 году с целью помощи студентам в создании собственных компьютерных программ. Сейчас детище Томаса Курца и Джона Кемени стало основным языком, на котором пишутся программы для ОС Windows.

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

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

Python

Разработка этого языка началась в 1980-х годах голландцем Гвидо ван Россумом, но его первая версия была выпущена только в 2008 году. Он отличается постоянным усовершенствованием и активным сообществом пользователей. Python является высокоуровневым языком с большим объемом различных функций. Особенно хорошо он справляется с веб-разработкой, анализом данных и автоматизацией процессов.

Этот язык лидирует среди тех, что применяются в разработке веб-сайтов и поддерживается практически всеми хостинг-провайдерами. Он применяется, в основном, для разработки веб-сайтов и веб-приложений. Впервые PHP был представлен публике в 1995 году датским программистом Расмусом Лердорфом.

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

JavaScript

Хотя JavaScript похож на Java, но все же является отдельным языком. Чаще всего используется в качестве встраиваемого языка: приложения получают доступ к веб-страницам с его помощью. Он более легок в применении и дается даже тем, кто мало знаком с программированием. Доля его использования ежегодно растет.

Go (Golang)

В 2007 году компания Google занялась разработкой собственного языка программирования, с помощью которого бы можно было решать реальные проблемы. Созданием языка занимались Роб Пайк и Кен Томпсон, которые уже в 2009 году представили Go. Для компании Google он является заменой популярных языков Си и Си ++. Он не стал прорывом, но зато используется для создания серьезных проектов.

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

Swift

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

Pascal

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

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

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

Нравится статья? Поддержи наш проект и поделись с друзьями!

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

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

· Ada (читается «Ада») — используется для разработки программного обеспечения встроенных и управляющих комплексов (например, аэронавигационных). Язык был разработан по инициативе Минобороны США и назван в честь Августы Ады Лавлейс (она — дочь поэта Байрона, ученица и помощница Беббиджа, опубликовавшая в 1843 г. труды учителя, первая программистка).

· C (читается «Си») — один из самых распространённых языков программирования, первоначально был разработан для ОС UNIX, но быстро был перенесён и на другие ОС, (утвержден Международной Ассоциацией по стандартизации ISO в качестве стандарта). Язык программирования часто называют «процедурным», а иногда — и «алгоритмическим» языком программирования. Расширенный объектно-ориентированный язык Си называется C++.

· Basic (читается «Бэйсик») — простой язык программирования, разработанный в Дартмутском колледже для использования студентами в системах разделения времени.

· Pascal (читается «Паскаль») — процедурный язык программирования высокого уровня. Был создан в 1971 году швейцарским математиком Никлаусом Виртом, получил широкое распространение особенно в студенческой среде, назван в честь французского физика и математика Блеза Паскаля (1623-1662), создавшим первую механическую машину для счета. Язык Pascal прозван «студенческим».

· Fortran — (читается «Фортран») язык, предназначенный для научных расчётов (разработан в 1956 г. компанией IBM).
б) языки прикладного характера (для определённых областей их использования):

· Algol (от англ. algorithmic language — «алгоритмический язык») — (читается «Алгол») название ряда языков программирования, применяемых при составлении программ для решения научно-технических и математических (особенно численных) задач на ЭВМ. Разработан в 1958-60 (Алгол-58, Алгол-60); усовершенствован в 1964-68 Алгол 68. Алгол позволяет легко переводить алгебраические формулы в программные команды. Алгол был популярен в Европе, в том числе СССР, в то время как сравнимый с ним Фортран был распространен в США и Канаде, однако он оказал заметное влияние на все разработанные позднее языки программирования, и, в частности, на язык Pascal. Алгол был разработан комитетом, в который входили европейские и американские учёные. У истоков создания языка стояли Джон Бэкус, Питер Наур, Эдсгер Дейкстра и Уолли Фойрцойг, создавший язык Logo.

· Chill — (читается «Чилл») для использования в коммуникационных сетях, принят Международным союзом электросвязи (ITU) в качестве стандарта для программирования автоматизированных комплексов в телефонных сетях.

· Cobol — (читается «Кобол») язык для решения экономических задач (получил распространение в 1961 г. в области обработки коммерческой информации).

· PostScript — язык для описания документов, в т.ч. изображений.

· SGML — язык логического описания структуры документов (распространён с 1986 г.).
в) языки параллельного программирования:

· LINDA — (читается «Линда») язык, предназначенный для параллельной обработки данных, создан для написания программ, выполняемых на суперкомпьютерах с различной архитектурой).
г) языки описания процессов искусственного интеллекта:

· IPL — (читается «Ай-пи-эль») язык для написания программ, предназначенных для не чисел, а понятий (это первый язык имитации функции мышления).

· LISP — (читается «Лисп») декларативный язык обработки списков (был разработан в рамках Проекта «приём советов», предназначенного для управления автоматическими системами в сложных ситуациях).

· Prolog — (читается «Пролог») язык программирования задач искусственного интеллекта (это новый подход к использованию формальной логики, программист имеет дело с логическими связями между понятиями). Пролог был создан в 1973 году на основе метода резолюций, позволившего автоматически доказывать теоремы при наличии набора исходных аксиом, и считается языком логического программирования.
д) языки описания сценариев:

· HTML — язык описания гипертекстовых документов, разработанный Тимом Бернерсом-Ли.

· Java (или Java-скрипт, читается «джава») — язык описания сценариев, часто используется для создания скриптов — исполняемых модулей на web-страницах сети Интернет, а также для создания игровых Java-приложений для мобильных телефонов.

· Perl — (читается «Перл») язык описания сценариев, используется для создания скриптов на web-страницах сети Интернет.

· PHP (читается «пи-эйч-пи») — язык описания сценариев, используется для написания программ, исполняемых на серверах сети Интернет.

Среды программирования

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

· универсальный текстовый редактор (для набора исходного текста программы на выбранном языке программирования);

· компилятор входного языка (для создания объектного кода);

· редактор связей (линковщик — для создания исполняемого модуля);

· встроенный символьный отладчик (debugger — для отладки программы, т.е. для поиска и исправления ошибок программы в исполняемом модуле);

· средства оптимизации кода программы (компоновщик — для уменьшения размеров исполняемого файла программы и оптимизации её работы);

· набор библиотек (функций, процедур, объектов) и модулей (с исходными текстами);

· справочные системы различного вида (Help);

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

9.1.5. Этапы создания компьютерной программы
на языке программирования высокого уровня

После того, как программистом построена математическая модель решения задачи, составлен алгоритм работы программы, выбрана платформа (операционная система) работы будущей программы, начинается компьютерный этап реализации задачи. Программист выбирает язык программирования и среду программирования на этом языке.
Создание новой компьютерной программы на языке программирования высокого проходит в несколько этапов:
1) набор текста кода программы на выбранном языке программирования в текстовом редакторе среды программирования. При этом создаётся текстовый файл с кодом программы, называемый исходный код. Так, например, при создании программ на языке программирования Pascal в среде программирования Turbo Pascal создаётся текстовый файл с расширением *.PAS;
2) обработка исходного кода программы транслятором среды программирования для получения объектного кода. Так как большинство сред программирования имеют встроенный транслятор-компилятор, то этот этап часто называется «компиляцией» программы. При компиляции создаётся на диске компьютера или в его оперативной памяти объектный файл с откомпилированным кодом программы, называемый объектный код. Такой файл может иметь расширение *.OBJ;
3) обработка объектного кода специальной системной программой, называемой редактор связей (или «линковщик»). Часто при этом осуществляется и оптимизация кода программы компоновщиком. Поэтому этот заключительный этап часто называют компоновкой программы. После компоновки из объектного модуля создаётся исполняемый модуль — готовый файл программы, имеющий расширение *.EXE (или реже — *.COM). Иногда исполняемый модуль создаётся только в памяти компьютера и не записывается в виде файла на диск. Тогда запуск новой программы возможен лишь в среде программирования.

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

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

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

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

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

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

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

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

Читать еще:  Не работает безопасный режим

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Языки программирования, приспособленные для каких-то специфических задач, называют специальными.
Например, для решения инженерных задач раньше часто использовали ФОРТРАН (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