Какие процедурно ориентированные языки программирования

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

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

3.1. Процедурный (алгоритмический) язык

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

3.2 Функциональный (аппликативный) язык

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

3.3 Логический (реляционный) язык

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

3.4 Объектно-ориентированный язык

Объектно-ориентированный язык создает окружение в виде множества независимых объектов. Каждый объект ведет себя подобно отдельному компьютеру, их можно использовать для решения задач как «черные ящики», не вникая во внутренние механизмы их функционирования. Объектно-ориентированные языки программирования пользуются в последнее время большой популярностью среди программистов, так как они позволяют использовать преимущества объектно-ориентированного подхода не только на этапах проектирования и конструирования программных систем, но и на этапах их реализации, тестирования и сопровождения. В современных объектно-ориентированных (ОО) языках используются следующие методы: наследование,инкапсуляция,полиморфизм. В некоторых объектно-ориентированных языках все методы классов являются виртуальными. Многие современные языки специально созданы для облегчения объектно-ориентированного программирования. Однако следует отметить, что можно применять техники ООП и для не-объектно-ориентированного языка и наоборот, применение объектно-ориентированного языка вовсе не означает, что код автоматически становится объектно-ориентированным. Часть языков (иногда называемых «чисто объектными» — Java или Ruby) целиком построена вокруг объектных средств — в них любые данные являются объектами, любой код — методом какого-либо класса и невозможно написать программу, в которой не использовались бы объекты. Другие языки («гибридные») включают ООП-подсистему в исходно процедурный язык. В них существует возможность программировать, не обращаясь к объектным средствам. Классические примеры — C++ и Delphi (Object Pascal).

Читайте также:  Двойственные задачи линейного программирования знаки неравенства

Источник

Процедурно-ориентированные языки

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

Существует много процедурно-ориентированных языков.. Некоторые из них являются универсальными, тогда как другие ориентированы на решение специальных задач, например обработка данных, проектирование ctfeta или анализ тестов. До сих пор наиболее распространенным процедурно-ориентированным языком является ФОРТРАН, появившийся в начале 50-х годоб й получивший свое название от аббревиатуры Formula Translation Language (язык для трансляции формул). Другие процедурно-ориентированные языки, такие как ПЛ/1, АПЛ, БЕЙСИК, АЛГОЛ и ПАСКАЛЬ, также используются для решения инженерных задач. Однако компиляторы с ФОРТРАНа имеются на большинстве ЭВМ. Стандартный вариант языка ФОРТРАН является широко распространенным и на нем написаны тысячи программ. Таким образом, программист, работающий на ФОРТРАНе, может легко переносить программы с одной ЭВМ на другую и использовать огромные библиотеки фортрановских программ.

Читайте также:  Методы консалтинга метод нейролингвистического программирования

Если можно представить задачу в алгебраической форме, то ее легко можно записать с помощью нескольких операторов на ФОРТРАНе. Для программы, приведенной на рис. 4.1 и 4.2, которая состоит из 16 операторов на машинном языке или 10 операторов на языке ассемблера, потребуется только два оператора на ФОРТРАНе (рис. 4.3).

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

, Тем не менее ФОРТРАН обладает некоторыми серьезными недостатками. Компилятор с ФОРТРАНа более сложен и дорог по сравнению с ассемблером. Он требует для своей работы более сложной конфигурации, чем минимальная вычислительная система. ФОРТРАН— сложный язык с большим числом правил, которым должен следовать программист.

Компилятор с ФОРТРАНа создает объектные программы, которые работают медленнее и требуют больше памяти по сравнению с программами на ассемблере или на машинном языке. Компилятор транслирует операторы ФОРТРАНа точно, но прямолинейно; он не обнаружит тех способов улучшения качества программы, которые очевидны опытному программисту. Большее время выполнения и больший расход памяти для программ на ФОРТРАНе являются серьезными недостатками для его применения в микропроцессорных системах. ФОРТРАН облегчает программирование, беря на себя многие функции детальной обработки данных, которые пришлось бы программировать на ассемблере, но при этом программист не может использовать своих знаний специфики конкретной ЭВМ и особенностей задачи, чтобы сделать программы более эффективными.

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

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

Источник

Оцените статью