Тема 7. Эволюция языков программирования. Классификация языков программирования.
С созданием первого ЭВМ появилась необходимость занесения в них управляющих программ. Этот процесс назвали программированием. В первых поколениях ЭВМ программы состояли непосредственно из кодов команд процессора. Для сокращения записи программ, коды записывались в восьмеричной или шестнадцатеричной системе счисления. Программирование в машинных кодах является сложным процессом, т.к. необходимо знать систему команд и коды всех команд процессора. Распределять данные и команды в оперативной памяти.
В последующем для облегчения программирования машинные коды заменили автокодами. Появился язык программирования Assembler. Команды в языке Assembler представляют собой сокращения слов обозначающих действие, что облегчает процесс программирования. Для перевода Assembler программы в машинные коды используется специальная программа - транслятор. Assembler является машинно-ориентированным языком программирования, так как зависит от типа процессора. Перенося программу на Ассемблере, разработанную для определенного процессора на другой компьютер с другим типом процессора делает ее неработоспособным. Несмотря на это, ассемблер используется и в настоящее время при разработки драйверов и быстродействующих программ. Только Ассемблер позволяет полностью использовать возможности аппаратной части ЭВМ.
Следующим этапом развития программирования стало создание машинно-независимых языков программирования – языков высокого уровня. Вопрос независимости от машины решается применением трансляторов для каждого типа процессора. Текст программы на языке высокого уровня ближе к естественным языкам (английскому) и к языку математики. Наиболее распространенными языками высокого уровня являются Фортран, Паскаль, Бейсик, Си.
По подходу к организации вычислений языки программирования делятся на:
- процедурные (алгоритмические) языки программирования. Программа представляет собой описание процедуры перехода данных в памяти из начального состояние в конечное в процессе выполнения последовательности команд. (Бейсик, Паскаль, Си и т.д.)
- функциональные языки программирования. Любой алгоритм реализуется в виде рекурсивных функций. Подходит для моделирования искусственного интеллекта человека. Наиболее известным таким языком программирования является Лисп.
- логические языки программирования. Язык основан на аппарате математической логики. В этот класс входит язык Пролог. Используется для создания экспертных систем.
- объектно-ориентированные языки программирования. Основаны на концепции объектов и классов. Каждый объект характеризуется свойствами и действиями которые над ними можно применять и которые они могут выполнять. Объект относиться к определенному классу. Программирование заключается к выстраиванию иерархии классов, описание объектов и их взаимодействий. Наиболее распространенными средствами ООП являются Объект Паскаль, Си++, Ява.
С появлением языков высокого уровня актуальной становится задача разработки общепринятой методологии программирования, повышающей производительность программистов и качество программных продуктов. Наиболее известной и распространенной методологией программирования является структурное программирование.
Технология программирования – определяет массовый способ создания программных продуктов. Из всех существующих технологий программирования наибольшее распространение получили визуальные средства программирования. Это объясняется тем , что визуальная технология позволяет легко и быстро создавать программы с наглядным графическим интерфейсом.