Эволюции языков программирования

Машинные команды

            Изначально вычисления описывались на уровне машинных команд в двоичном коде. Логику подобных программ было довольно трудно уловить из-за того, что программисту приходилось уделять внимание таким вопросам, как, например, сколько ячеек памяти необходимо выделить для хранения того или иного значения.

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

Мнемокоды

Поэтому для упрощения своей работы программисты придумали мнемокоды (от греч. mnemon – запомнить) – буквенные обозначения машинных двоичных команд, которые проще запомнить, чем последовательности нулей и единиц.

Для упрощения работы с ячейками памяти стали использовать понятие переменной.

Переменная – в программировании это буквенное обозначение области памяти, в которой хранится некоторое значение.

Для перевода мнемокодов в машинные инструкции и имен переменных в адреса ячеек памяти использовалась специальная программа – транслятор.

Языки мнемокодов получили название ассемблеров.

Структурное программирование

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

• Ввод данных с клавиатуры, из файла или с какого-либо устройства;

• Вывод данных на экран, в файл, на принтер или другое устройство;

• Выполнение некоторых операций над числами, строками или другими объектами;

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

• Повторение группы операций чаще всего с изменением одного или нескольких параметров.

Языки, основанные на этих базовых операциях, стали называть структурными или языками высокого уровня.

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

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

Языки высокого уровня

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

            К настоящему времени созданы десятки различных ЯП (языков программирования) от самых примитивных до близких к естественному языку человека. Чтобы разобраться во всем многообразии ЯП, нужно знать их классификацию, а также историю создания, эволюцию и тенденции развития.

Hosted by uCoz