В чем состоит особенность процедурно и проблемно ориентированных систем программирования кратко

Обновлено: 07.07.2024

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

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


Рис. 1.11. Классификация языков программирования

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

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

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

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

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

– Кобол и PL/1 – для обработки экономической информации;

– Фортран – для решения инженерных и научных задач;

– Бейсик, Паскаль – для обучения программированию;

– Пролог, Лисп – для задач искусственного интеллекта;

– Симула – для описания задач моделирования дискретных событий;

– Модула-2, Ада для управления реальными объектами;

– Снобол – для манипуляции с текстами и др.

Наиболее широко представлен класс универсальных языков программирования. Среди них можно выделить такие популярные языки высокого уровня, как Бейсик, Паскаль, Фортран, Кобол, Модула-2, PL/1 и ряд других.

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

Для различных типов ПК, которые существенно отличаются друг от друга, были разработаны соответствующие версии языка. Для ПК типа IBM PC и совместимых с ними ПК наиболее удачной считается версия фирмы Microsoft. Она обеспечивает использование Бейсика для решения задач обработки больших массивов данных (работа с файлами), инженерно-технических и научных расчетов (с помощью большого набора математических функций), обработки текстов (за счет эффективной работы со знаковыми последовательностями), а также решения комплексных задач (за счет отдания оверлейных программных структур). Появление мощных компиляторов, таких, например, как Quick Basic и Visual Basic фирмы Microsoft, поставило этот язык в ряд с другими языками высокого уровня и придает ему дополнительную популярность.

Язык Паскаль считается одним из самых распространенных языков программирования. Со временем Паскаль зарекомендовал себя как инструмент для решения сложных задач, так как его разработчик специально конструировал язык, позволяющий создавать хорошо структурированные программы. Причиной популярности этого языка у пользователей IBM PC и совместимых с ними ПК стало появление версии языка Паскаль – Турбо Паскаль фирмы Borland International. Турбо Паскаль характеризуется такими важными особенностями, как полноэкранное редактирование, графика, звуковое сопровождение. Система программирования на Турбо-Паскале сама является резидентной программой. Она позволяет пользователю вводить его программы и выполнять их немедленно, не тратя время на компилирование. Турбо-Паскаль создан как инструмент быстрой разработки не очень больших программ (с числом строк до 500). Более длинные программы приходится сегментировать и использовать оверлейные структуры.

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

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

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

Язык Кобол был разработан специально для решения экономических задач. В отличие от Фортрана Кобол дает возможность составлять более удобочитаемые программы, понятные даже непрограммисту. В программах на Коболе особенно проявляется самодокументируемость, что облегчает их исправление и усовершенствование, а при обработке данных сложной структуры он бывает эффективнее Паскаля. Кобол, будучи широко распространенным на больших и средних машинах, на ПК используется мало, хотя фирмой Microsoft разработано несколько версий языка для операционных систем MS DOS и UNIX.

Наиболее удачной версией языка Кобол на сегодняшний день является Кобол/U, в который встроены средства генерации отчетов с использованием языка RPG. Фирмой IBM в развитие идей Фортрана, Алгола и Кобола был предложен язык PL/1, который получил наибольшее расспространение на больших машинах. PL/1 разрабатывался как универсальный язык программирования, поэтому располагает большим набором средств обработки цифровой и текстовой информации. Однако эти достоинства делают его сложным для изучения и использования.

Класс проблемно-ориентированных языков представлен гораздо скромнее, чем класс универсальных языков программирования. К этому классу можно отнести языки Лого, RPG и систему программирования GPSS.

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

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

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

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

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

К функциональным языкам программирования можно отнести языки Лисп, Пролог и Снобол. Язык Лисп является прекрасным инструментальным средством для построения программ с использованием методов искусственного интеллекта. Имеется несколько реализаций лисп-трансляторов для ПК различных классов. Особенность этого языка заключается в удобстве динамического создания новых объектов. В качестве порождаемых программой объектов могут фигурировать и сами программы, которые внешне ничем не отличаются от данных. Это обусловливает возможность построения адаптирующихся и самоизменяющихся программ. Память в языке Лисп используется динамически; когда создается новый объект, то для него из незанятой памяти берется столько ячеек, сколько нужно для хранения всех элементов. При этом не требуется никакого заблаговременного резервирования памяти, как в других языках (например, в Паскале). При уничтожении объекта занятая им память автоматически освобождается. Если язык Лисп известен давно, то язык Пролог получил широкую известность в связи с японским проектом создания вычислительных систем пятого поколения. Одной из первых реализаций был интерпретатор микроПролог фирмы Programming Logic Associates для машин фирмы IBM. Затем появилась мощная система программирования Турбо Пролог, разработанная фирмой Borland International для этих же машин. Она предназначалась для создания широкого класса систем искусственного интеллекта, в том числе персональных экспертных систем. Версия Турбо Пролог значительно отличается от стандартного Пролога. Отличия, прежде всего, касаются наличия в нем встроенных средств типизации данных и большей структурированности исходных текстов программ.

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

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

– время выполнения программы (имеется в виду соотношение вычислительных процедур и процедур ввода-вывода);

– ожидаемый размер программы (хватит ли памяти для реализации целиком всей программы или следует ее разделить на отдельные взаимодействующие модули);

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

– предусматривается ли возможность переноса программы на другие типы ЭВМ;

– основные типы данных, с которыми будет работать программа (целые и вещественные числа, строки, списки и другие типы структур);

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

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

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

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

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

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

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

Процедурное программирование допускает использование функций, структур, интерфейсов - но не классов и объектов, как в ООП.

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

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

Проблемно-ориентированная система - программирование

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

Проблемно-ориентированные системы программирования являются аффективным средством разработки и отладки программ. Они описывают алгоритмы решения задач в общепринятых математических обозначениях или в символах, привычных для восприятия человеком. [3]

БАСТАЙ представляет собой проблемно-ориентированную систему программирования по организации и ведению банка данных, включая загрузку данных, их корректировку и реорганизацию. В системе имеются программные компоненты для поиска информации в банке данных при разработке программ пользователя. Являясь, по существу, универсальным генератором программ для создания банков данных, БАСТАЙ вместе с тем ограничена по своим возможностям: массивы банка данных могут включать основные и наиболее взаимосвязанные данные фонда НСИ ( сведения о составе изделия, технологических маршрутов, оборудования, материалах и др.), но не в состоянии одновременно содержать информацию всех нормативно-справочных документов ( НСД), которые подвергаются автоматизированной обработке при создании АСУП. Кроме того, в процессе эксплуатации АСУП иногда требуется создать отдельные массивы для корректировки л разработки новых задач. [4]

В качестве примера проблемно-ориентированной системы программирования по организации и ведению банка данных может быть представлена система БАСТАЙ. [5]

Наиболее распространены в настоящее время проблемно-ориентированные системы программирования , основанные на использовании алгоритмических языков. [6]

Для ускорения процесса создания, отладки и сопровождения прикладных программ предлагается использовать на ПЭВМ проблемно-ориентированные системы программирования . [7]

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

Характерно уже в настоящее время появление проблемно-ориентированных систем программирования , позволяющих общаться с ЭВМ на языках, терминология которых совпадает с диалектом, принятым в данной конкретной области. [9]

Формирование больших интегрированных блоков информации на МЛ предполагает предварительное разбиение последних на рабочие массивы для решения отдельных задач. В некоторых случаях компромиссное решение находят в создании специальных проблемно-ориентированных систем программирования для обработки интегрированных массивов при решении задач АСУП. [10]

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

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

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


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

Какая главная идея данного языка?

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

Как все начиналось

Язык Фортран

Процедурное программирование началось с создания языка высокого уровня под названием Фортран. Его создали в начале пятидесятых годов в США фирма IBM. Первые публикации о нем появились только в 1954 году. Процедурно-ориентированный язык программирования Фортран была разработан для выполнения научно-технических задач. Главными объектами языка выступают числовые переменные, вещественные и целые числа. Все выражения строятся на четырех главных арифметических вычислениях: возведение в степень, операции отношения, круглых скобок, логические манипуляции И, НЕ, ИЛИ.

Главными операторами языка выступают вывод, ввод, переход (условный, безусловный), вызов подпрограмм, циклы, присваивание. Процедурное программирование на языке Фортран очень долгое время был самым востребованным в мире. За время существования языка была накоплена огромнейшая база разных библиотек, программ, что были написаны именно на Фортране. Сейчас все еще ведутся работы над введением очередного стандарта Фортрана. В 2000 году была разработана версия Фортран F2k, у которого стандартная версия называется HPF. Она была создана для параллельных суперкомпьютеров. К слову, в языках PL-1 и Бейсик использованы многие стандарты именно с Фортраны.

Язык Кобол

Язык Кобол

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

Интересный факт: самые высокооплачиваемые программисты в США пишут программы именно на языке Кобол.

Язык Алгол

Язык Алгол

Еще есть одна особенность языка – это возможность в блоке вводить некоторые локальные отметки, что не касаются остального кода программы. Да, Алгол-60, несмотря на свое интернациональное происхождение, не так был популярен, как Фортран.

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

Алгол-68

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

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

Как же появился знаменитый Бейсик?

Язык Бейсик

К процедурным языкам программирования относят и знаменитый во всем мире Бейсик. В средине шестидесятых годов сотрудники из Дартмутского колледжа по имени Томас Курц и Джон Кемени разработали уникальный язык программирования, который перевернул все в мире. Состоял он из простейших английских слов и новый язык признали универсальным кодом для новичков или же другими словами BASIC. Годом рождения данного языка считают 1964. BASIC стал широко распространенным на ПК в режиме интерактивного диалога. Почему Бейсик стал таким популярным? Все из-за того, что его было максимально просто освоить, кроме того, язык помогал решать множество разных научных, экономических, технических, игровых и даже бытовых задач. В Бейсике были заложены разные правила по умолчанию, что сейчас считается признаком дурного тона в программировании. После появилось в мире масса версий данного языка, которые часто малосовместимы, однако, понимая одну из версий, вы сможете легко освоить и другую. Первоначальная версия имела в распоряжении только интерпретатор, а теперь уже есть и компилятор.

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

Это самый первый многоцелевой универсальный язык, который был создан в США фирмой IBM. Годы создания 1963—1966. Считается, что это один из самых распространенных языков, он приспособлен для разрешения многих задач в сфере вычислительной техники: планирование, исследование различных процессов вычисления, моделирование и решение логических задач, исследование логических схем, разработка систем для математического обеспечения.

Когда создавался PL/1, применялись на практике различные понятия и средства из языков Алгол-60, Фортран, Кобол. PL/1 считается гибкий и богатейший языков, он позволяет создавать вставки, корректировать готовый текст программы даже в процессе отладки. Язык широко распространен, а трансляторы с него применяются во многих типах компьютеров. IBM даже сейчас продолжает поддерживать данный язык.

Паскаль

Язык Паскаль

Процедурная парадигма программирования языка Паскаль основывается на следующих принципах:

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

Язык С

Язык С

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

Какая существует особенность процедурных языков?

Их всего несколько, потому о каждой стоит поговорить. Это:

  • Модуль. Частичка программы, что сберегается в отдельном файле. Модуль осуществляет набор опций, что связаны с определенными переменными, константами или объектами.
  • Функция. Это законченный, самостоятельный кусок кода, решающий определенную задачу.
  • Тип данных. Это понятие говорит о некоем массиве информации, что определяется к одному типу.

Различия между процедурным и объектно-ориентированным программированием

Объектно-ориентированное программирование

Многие программисты знаю, что при создании софта или веб-приложений применяются на практике процедурный и объектно-ориентированный языки программирования. В чем же состоит отличие? Все просто, процедурное и объектно-ориентированное программирование применяются на практике повсеместно, однако есть некоторые отличительные моменты. Во время работы программист, ставя перед собой определенную задачу, разбивает ее на мелкие, выбирает определенные языковые конструкции для реализации (циклы, функции, ветвления, структурные операторы). Это означает, что специалист руководствуется процедурным программированием.

Процедурные и функциональные языки

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

Что выбрать для себя?

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

Читайте также: