- Процедурные языки программирования
- Некоторые процедурные языки
- Машинные коды и ассемблер
- Fortran
- С
- Паскаль
- Некоторые особенности процедурного программирования
- Классификация языков программирования
- Процедурные языки
- Языки программирования низкого уровня
- Языки программирования высокого уровня
- Объектно-ориентированные языки
- Декларативные языки программирования
- Функциональные языки программирования
- Логические языки программирования
- Языки сценариев (скрипты)
- Языки, ориентированные на данные
Процедурные языки программирования
Процедурные языки программирования — языки программирования, код которых можно разделить на процедуры.
Программирование – это очень объемная сфера знаний, изучить которую целиком не сможет ни один человек на свете. Сейчас существует более 120 различных языков программирования, каждый из которых в той или иной мере используется для решения своих специфических задач. Все языки делятся на разные типы. Очень видное место в свое время занимали так называемые процедурные языки программирования. Некоторые их них активно применяются даже сейчас.
Основная особенность языков процедурного программирования – их императивность, что означает создание четкого набора последовательных инструкций, которые должен поочередно выполнять компьютер. Парадигме императивности соответствуют такие главные характеристики:
- Весь код программы состоит из набора команд или инструкций, которые выполняются вычислительной машиной последовательно в заданном порядке;
- Данные, которые были получены в результате первых подсчетов, могут храниться и извлекаться из памяти в любое время и быть использованы.
Даже используемый синтаксис в таких языках является в некотором роде императивным – команды для выполнения похожи на приказы в обычной человеческой речи. Также важное место в процедурном программировании занимает использование подпрограмм, активное применение оператора присваивания, а также наличие составных выражений.
Некоторые процедурные языки
Исторически так сложилось, что процедурно ориентированные языки программирования начали появляться первыми и на них в значительной степени основывалось все дальнейшее развитие вычислительной техники. Именно поэтому можно смело говорить, что все первые языки программирования были именно процедурными. Рассмотрим некоторые из них подробнее.
Машинные коды и ассемблер
Традиционно к процедурным языкам программирования относят машинные инструкции, а также появившиеся несколько позже языки ассемблера. Машинный код представлял собой систему последовательных команд, написанных под конкретно взятую ЭВМ, которая выполняется процессором устройства либо его микропрограммами – уже написанными последовательностями действий процессора. В основе таких инструкций лежит работа двоичного кода, который выражается в последовательности нулей и единиц. Нуль означает для ЭВМ отсутствие электрического сигнала, а единица – подачу единичного импульса. Здесь четко соблюдается подчинение процедурному программированию – каждая последующая команда в программе может быть выполнена только по реализации предыдущий. Если в одной из команд произошла ошибка, то программа просто прекращала свою работу и инженеру нужно было искать ошибку в коде.
Похожим образом функционируют языки ассемблера. Здесь возможности написания сложных команд уже существенно расширены, применяются макрокоманды, возможно создание удобной адресации.
Fortran
Появившийся в 1950-х годах Fortran также относится к процедурным языкам программирования. Конечно, его возможности были уже несравнимо выше, нежели первые машинные коды и ассемблеры. Данный язык относят к высокоуровневым языкам программирования, он имеет свой транслятор, позволяет решать серьезные математические и логические задачи. С помощью Fortran были автоматизированы подсчеты линейных, дифференциальных и интегральных уравнений, выполнялись аппроксимации функций, преобразования Фурье. Очень многие библиотеки с пакетами Фортран доступны и активно используются даже в наше время.
Модификации языка последних годов превратили его в мощный инструмент, способный работать и с объектно-ориентированным программированием, и с обобщенным и модульным программированием. Также вместе с Фортран в 1950-х появились и другие процедурные языки, которые в целом были довольно схожи. Сюда относят в первую очередь Алгол, Ada, всем известный Basic.
С
Язык С, который берет свое начало с далеких 70-х также является процедурным. Выполняемые в нем процедуры и функции сильно похожи на классический ассемблер, что позволяет этому языку легко обращаться непосредственно к железу компьютера. На этом языке пишутся операционные системы, драйвера, самое разнообразное прикладное программное обеспечение. В то же время Си имеет практически полный функционал из того, что предлагают непроцедурные языки программирования. С его помощью можно разрабатывать практически любое ПО, он активно используется для написания некоммерческих программ и приложений, также плюсом С является его высокая совместимость с самыми разными аппаратными платформами.
Паскаль
Известный практически каждому студенту Паскаль также относиться к процедурным языкам. Если в коде программы здесь будет какая-либо ошибка, то она не станет запускаться. Здесь можно использовать подпрограммы, независимые структуры данных. Решаемая с помощью Паскаль задача как бы разделяется на более простые задания (что типично для процедурных языков). Когда все простые решения получены, то они соединяются в общее решение исходного задания.
Некоторые особенности процедурного программирования
Основными понятиями из ПП можно назвать следующее:
Модуль. Часть программы, которая может храниться в отдельном файле. Он выполняет часть функций, связанных с какими-то определенными переменными, объектами или константами;
- Тип данных. Как и в других видах языков это понятие обозначает некоторый массив данных, которые определяются к одному типу;
- Функция. Полностью самостоятельный и законченный участок программы, решающий поставленную перед ним задачу. В процедурных языках часто присутствует множество встроенных функций, но для своих задач можно писать и новые.
В целом, процедурные языки – это интересная часть истории программирования. Они и сейчас довольно активно используются как в образовательных, так и прикладных целях. Тот же Фортран имеет редакцию от 2010 года.
Классификация языков программирования
Классификация языков программирования по категориям связана с методами, которые используются при написании программ.
программирования. Автор24 —
Процедурные языки
Процедурные языки являются языками высокого уровня, в которых используется метод разбиения программ на отдельные связанные между собой модули – подпрограммы (процедуры и функции). Компоненты языка состоят из последовательности операторов, которые используют библиотечные процедуры и функции. Первым процедурным языком был Fortran, затем появился Cobol, Algol, Pascal, C, Ada.
Языки программирования низкого уровня
Программирование на первых компьютерах происходило с помощью двоичных машинных кодов. Такое программирование довольно трудоемкое и тяжелое. Для упрощения процесса программирования разрабатывались языки программирования низкого уровня, которые позволяли задавать машинные команды в понятном для человека виде. Чтобы преобразовать их в двоичный код создавались специальные программы – трансляторы.
К языкам низкого уровня относится:
Языки низкого уровня ориентировались на определенный тип процессора и учитывали его особенности, поэтому для того, чтобы перенести программу, написанную на ассемблере, на другую аппаратную платформу её нужно было почти полностью переписать. Различия присутствовали также и в синтаксисе программ под разные компиляторы.
Языками низкого уровня пользуются преимущественно для написания небольших системных программ, драйверов устройств, модулей стыков с нестандартным оборудованием, программирования специализированных микропроцессоров, когда немаловажным является компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.
Языки программирования высокого уровня
В языках высокого уровня особенности конкретных компьютерных архитектур не учитываются, поэтому написанные программы легко могут быть перенесены на другой компьютер. Зачастую достаточным является компиляция программы под определенную архитектурную и операционную систему. Разработка программ на языках высокого уровня значительно проще и ошибок намного меньше. К тому же время разработки программы значительно уменьшается, что является особенно важным фактором при работе над сложными программными проектами.
Недостаток некоторых языков высокого уровня состоит в большом размере программ по сравнению с программами на языках низкого уровня. В то же время текст программ на языке высокого уровня гораздо меньше, но в байтах код, написанный на ассемблере, будет более компактным. Поэтому языки высокого уровня преимущественно используют для создания программного обеспечения для компьютеров и вычислительных устройств с большим объемом памяти. Языки же низкого уровня используются для написания программ к устройств, для которых критичным является размер программы.
Языки высокого уровня делятся на универсальные и проблемно-ориентированные.
Наиболее распространенные универсальные языки C#, C++, Basic, Pascal (Delphi) используются для разработки Windows-приложений. Большой вклад в программирование на начальных этапах внесли языки Fortran, Cobol, Algol, C и др.
Языки программирования для разработки Интернет-приложений скорее относятся к универсальным языкам. К ним относятся современные версии C#, Basic, J#.
Проблемно-ориентированными языками, которые используются на Интернет-серверах и клиентских Интернет-приложениях, являются PHP, Perl, JavaScript, VBScript.
Объектно-ориентированные языки
Объектно-ориентированные языки стали дальнейшим уровнем развития процедурных языков, основной концепцией которых есть совокупность программных объектов. Написание программы на языке представляется в виде последовательности создания экземпляров объектов и использование их методов. К ним относятся из первых языков Simula и SmallTalk, далее C++, Java.
Декларативные языки программирования
В декларативном программировании задается спецификация решения задачи, то есть дается описание того, что представляет собой проблема и какой ожидается результат. Программы, созданные с помощью декларативного языка, не содержат переменные и операторы присваивания. К декларативным языкам можно отнести SQL и HTML. К подвидам декларативного программирования относится функциональное и логическое программирование.
Функциональные языки программирования
Функциональные языки являются языками искусственного интеллекта. Программа, написанная на функциональном языке, состоит из последовательности функций и выражений, которые необходимо вычислить. Основной структурой данных является связный список. Функциональное программирование принципиально отличается от процедурного. Основными функциональными языками являются Lisp, Miranda, Haskel.
Логические языки программирования
Языки, ориентированные на решение задач без описания алгоритмов, языки искусственного интеллекта. Представителем логического программирования является Prolog, которым написано большинство экспертных систем.
Языки сценариев (скрипты)
Языки относятся к объектно-ориентированным языкам, используются для написания программ, которые исполняются в определенной программной среде. Тексты программ, написанные на языке сценариев, можно включать в тело Html-документа. Первыми скриптами были Perl и Python, которые изначально были разработаны для операционной системы Unix, а уже в дальнейшем появились версии языков для операционных систем Windows и Macintosh. Для написания программ на языке сценариев необходимо знание процедур и функций системных библиотек.
Языки, ориентированные на данные
Языки ориентированы на работу с одним определенным типом данных. Например, APL работает с матрицами и векторами, Snobol обрабатывает строки, SETL выполняет операции над множествами.
Особое развитие получили языки для работы с базами данных:
Широкими возможностями обработки документов текстового процессора Microsoft Word, электронных таблиц MS Excel, баз данных MS Access и даже программ подготовки слайдовых презентаций MS PowerPoint обладает встроенный язык системы MS Office – Visual Basic for Application (VBA).