Процедурное программирование – это программирование, в котором отражен фон Неймановской архитектуры компьютера. Все программы, написанные на данном языке, являют собой определенную последовательность команд, которые устанавливают некий алгоритм для разрешения того или иного пакета задач. Самой важной командой является операция присвоения, что предназначена для установления и корректировки содержимого в памяти компьютера.
Какая главная идея данного языка?
Основная особенность процедурных языков программирования заключается в применении памяти компьютера для сбережения информации. Функционирование программы сводится к постоянному и поочередному выполнению разных команд с целью трансформировать содержимое памяти, изменить его исходное состояние и привести к необходимым результатам.
Как все начиналось
Процедурное программирование началось с создания языка высокого уровня под названием Фортран. Его создали в начале пятидесятых годов в США фирма IBM. Первые публикации о нем появились только в 1954 году. Процедурно-ориентированный язык программирования Фортран была разработан для выполнения научно-технических задач. Главными объектами языка выступают числовые переменные, вещественные и целые числа. Все выражения строятся на четырех главных арифметических вычислениях: возведение в степень, операции отношения, круглых скобок, логические манипуляции И, НЕ, ИЛИ.
Главными операторами языка выступают вывод, ввод, переход (условный, безусловный), вызов подпрограмм, циклы, присваивание. Процедурное программирование на языке Фортран очень долгое время был самым востребованным в мире. За время существования языка была накоплена огромнейшая база разных библиотек, программ, что были написаны именно на Фортране. Сейчас все еще ведутся работы над введением очередного стандарта Фортрана. В 2000 году была разработана версия Фортран F2k, у которого стандартная версия называется HPF. Она была создана для параллельных суперкомпьютеров. К слову, в языках PL-1 и Бейсик использованы многие стандарты именно с Фортраны.
Язык Кобол
К процедурным языкам программирования относят и язык Кобол. Это язык программирования, направленный на разрешение многих задач по обработке информации. Он активно применяется для решения различных управленческих, учетно-экономических задач. Процедурное программирование на Коболе было разработано на территории США в 1958-1960 годах. Сама же программа, созданная на Коболе, обладает несколькими видами типа предложений на английском языке, напоминает с виду самый обычный текст. Все дело в том, что группа операторов, записанных последовательно, объединяются в целые предложения, сами предложения - в параграфы, а параграфы – в секции. Сам же программист присваивает параграфам и отведенным секциям наименования или метки, чтобы облегчить обращение к определенному участку кода. В Советском Союзе была разработана русская версия программы и применялась весьма успешно на практике.
Процедурно-ориентированное программирование в языке Кобол реализуется благодаря мощным средствам работы, которые способны обрабатывать огромнейшие потоки данных, что сберегаются на различных внешних накопителях. На этом языке написано множество приложений, которые даже сейчас активно применяются.
Интересный факт: самые высокооплачиваемые программисты в США пишут программы именно на языке Кобол.
Язык Алгол
Этот язык процедурно-ориентированного программирования был создан целой группой специалистов в 1960 году. Это был результат начала сотрудничества на международном уровне. Алгол был разработал для ведения алгоритмов, что строились в виде последовательности некоторых процедур, что применялись для разрешения поставленных задачек. Поначалу язык воспринимался несколько неоднозначно, однако его признали на международном уровне он сыграл огромную роль в становлении основных понятий программирования и обучения нового поколения программистов. Процедурное программирование на языке Алгол впервые ввело в обиход такие понятия, как «блочная структура программы», «динамическое распределение памяти».
Еще есть одна особенность языка – это возможность в блоке вводить некоторые локальные отметки, что не касаются остального кода программы. Да, Алгол-60, несмотря на свое интернациональное происхождение, не так был популярен, как Фортран.
Далеко не все зарубежные вычислительные машины имели трансляторы с Алгола-60, поэтому это процедурное программирование претерпело изменений и появился усовершенствованный язык Алгол-68.
Алгол-68
Это был уже универсальный и многоцелевой расширенный язык программирования. Его главная особенность заключалась в том, что при помощи одной и той же программы удавалось проводить трансляцию с разнообразных версий языка без каких-либо затрат на приспособление данного языка к разным категориям программистов, у которых могли бы быть проблемно-ориентированные диалекты языка.
Если судить о возможностях данного языка, то Алгол-68 даже сейчас опережает многие языки программирования по своим возможностям, однако из-за того, что сейчас нет эффективных компьютеров для это процедурного языка программирования, пока не удалось создать качественный и быстрый компилятор.
Как же появился знаменитый Бейсик?
К процедурным языкам программирования относят и знаменитый во всем мире Бейсик. В средине шестидесятых годов сотрудники из Дартмутского колледжа по имени Томас Курц и Джон Кемени разработали уникальный язык программирования, который перевернул все в мире. Состоял он из простейших английских слов и новый язык признали универсальным кодом для новичков или же другими словами BASIC. Годом рождения данного языка считают 1964. BASIC стал широко распространенным на ПК в режиме интерактивного диалога. Почему Бейсик стал таким популярным? Все из-за того, что его было максимально просто освоить, кроме того, язык помогал решать множество разных научных, экономических, технических, игровых и даже бытовых задач. В Бейсике были заложены разные правила по умолчанию, что сейчас считается признаком дурного тона в программировании. После появилось в мире масса версий данного языка, которые часто малосовместимы, однако, понимая одну из версий, вы сможете легко освоить и другую. Первоначальная версия имела в распоряжении только интерпретатор, а теперь уже есть и компилятор.
В начале шестидесятых годов все существующие тогда языки были ориентированы на решение различных задач, однако они еще и были привязаны к конкретной архитектуре вычислительной машины. Это считалось недостатком, потому решено было разработать универсальный язык программирования.
ПЛ/1
Это самый первый многоцелевой универсальный язык, который был создан в США фирмой IBM. Годы создания 1963—1966. Считается, что это один из самых распространенных языков, он приспособлен для разрешения многих задач в сфере вычислительной техники: планирование, исследование различных процессов вычисления, моделирование и решение логических задач, исследование логических схем, разработка систем для математического обеспечения.
Когда создавался PL/1, применялись на практике различные понятия и средства из языков Алгол-60, Фортран, Кобол. PL/1 считается гибкий и богатейший языков, он позволяет создавать вставки, корректировать готовый текст программы даже в процессе отладки. Язык широко распространен, а трансляторы с него применяются во многих типах компьютеров. IBM даже сейчас продолжает поддерживать данный язык.
Паскаль
Паскаль – это очень популярный процедурный язык, особенно часто используемый для персональных компьютеров. Этот процедурный язык программирования создавался в качестве учебного, годы его создания - 1968-1971. Разработал его Никлаус Вирт в Высшей технической школе в Цюрихе. Назван этот язык программирования был в честь великого французского математика и философа Блеза Паскаля. Основной задачей Вирта была создать язык, который бы основывался на простейшем синтаксисе, малом числе базовых структур, которые трансформируются в машинный код при помощи обычного компилятора. Стоит заметить, что ему это удалось.
Процедурная парадигма программирования языка Паскаль основывается на следующих принципах:
- Структурное программирование. В данном случае применяются подпрограммы, независимые структуры данных. Программисту удается создавать легко читаемый код, понятную структуру программы, упрощает тестировку и отладку.
- Программирование, построенное сверху вниз. Задача разделяется на простые решаемые задания, а на основе построенных подзадач уже строится конечное решение общей задачи.
Язык С
Процедурное программирование С разработано в лаборатории Bell для реализации ОС UNIX, не рассматривался вначале как массовый. В планах у разработчиков было просто заменить Ассемблер, но появился просто отдельный язык С. Уникален он тем, что имеет возможности высокоуровневых языков программирования и одновременно с этим он располагает средствами для обращения к функциональным связям. В языке С нет понятия процедуры, синтаксис довольно простой, нет никакой строгой типизации данных, включена возможность выражения парочки действий сразу. Этот язык сразу привлек внимание программистов, давая им дополнительные возможности для создания интересных программ. На сегодняшний день язык С довольно-таки популярен, он широко используется профессионалами в программировании. Сейчас он реализован во многих компьютерных платформах.
Какая существует особенность процедурных языков?
Их всего несколько, потому о каждой стоит поговорить. Это:
- Модуль. Частичка программы, что сберегается в отдельном файле. Модуль осуществляет набор опций, что связаны с определенными переменными, константами или объектами.
- Функция. Это законченный, самостоятельный кусок кода, решающий определенную задачу.
- Тип данных. Это понятие говорит о некоем массиве информации, что определяется к одному типу.
Различия между процедурным и объектно-ориентированным программированием
Многие программисты знаю, что при создании софта или веб-приложений применяются на практике процедурный и объектно-ориентированный языки программирования. В чем же состоит отличие? Все просто, процедурное и объектно-ориентированное программирование применяются на практике повсеместно, однако есть некоторые отличительные моменты. Во время работы программист, ставя перед собой определенную задачу, разбивает ее на мелкие, выбирает определенные языковые конструкции для реализации (циклы, функции, ветвления, структурные операторы). Это означает, что специалист руководствуется процедурным программированием.
ООП включает в себя понятие «объект», а иначе их еще называют экземплярами класса, так как наследуется очень много именно у класса. Наследование – это еще один из отличительных принципов ООП.
Процедурные и функциональные языки
Процедурное и функциональное программирование – это одно и то же или нет? Функциональное программирование направлено на решение задач по дискретной математике, а процедурное – это немного шире понятие и включает в себя массу языков программирования для решения определенных типов задач.
Что выбрать для себя?
Многие языки в процедурном программировании уже устарели. Да, некоторые из них до сих пор совершенствуют, но все же стоит обратить внимание только на часть из них. К примеру, на язык С. Он распространен сегодня в мире, многие современные платформы построены именно на языке С, потому если вы желаете развиваться в сфере программирования, то вам стоит поближе познакомиться с языком С. Однако вы можете выбрать для себя и что-то другое, необязательно связанное с процедурными языками программирования.