Поколения языков программирования

Поколения программных средств ПС Языки и системы программирования Характерные черты программных средств
1-е Машинные Машинно-зависимые, быстрые, сложные для освоения, требуют хорошего знания архитертуры ЭВМ
2-е Ассемблеры, макроассемблеры Более удобные для использования, быстрые
3-е Языки высокого уровня ЯВУ (Fortran, Basic, Pascal, PL/1, C) Мобильные, более человеко-ориетированные, проще в освоении, более медленные
4-е Непроцедурные, генераторы отчетов, объектно-ориентированные, языки запросов, параллельные Ориентированы на непрофессионального пользователя; ориентированы на ЭВМ с параллельной архитектурой
5 - Языки искусственного интеллекта ИИ, экспертных систем и баз знаний, естественные языки Повышение интеллектуального уровня ЭВМ и интерфейса с ними

 

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

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

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

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

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

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

В настоящее время ЯВУ 3-го поколения составляют основу ПО всех классов ЭВМ, исключая ВС нетрадиционной параллельной архитектуры, а также широко используются ЯВУ 4-го поколения.