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

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


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


В 50-х годах XX века, в связи с широким применением компьютеров в различных областях науки и техники возникла серьезная проблема: простые пользователи не могли работать с компьютером из-за сложности языков программирования, а профессиональные программисты были не в состоянии обслужить огромное количество пользователей. Решением этой проблемы явилось создание языков программирования высокого уровня, форма записи программ на которых по сравнению с Ассемблер и машинными языками ближе к традиционной математической форме и разговорной речи. Важным преимуществом языков программирования высокого уровня является машинная независимость, поэтому одна и та же программа на языке может быть выполнена на компьютерах разных типов, оснащенных соответствующим транслятором. К недостаткам программ, написанных на языках высокого уровня, относятся большой объем занимаемой памяти и более медленное выполнение, чем программ на машинных языка или языка Ассемблера. Первыми популярными языками высокого уровня, появившиеся в 50-х годах XX века, были Fortran, Cobol и Algol.


В 60-70-х годах XX века появилось огромное количество новых языков программирования. В 1965 году появились два новых важных языка. Для обучения программированию был разработан язык, который был упрощенной версией Фортрана и получил название Basic (Beginner's All-purpose Simbolic Instruction Code, многоцелевой код символических команд для начинающих). Basic предоставил пользователю разнообразные средства для диалога с компьютером во время выполнения программы. Вторым языком, появившиеся в 1965 году, был PL / 1 (Programming Language 1, язык 1). При его создании преследовалась цель создать язык, сочетающий в себе лучшие свойства Algol, Cobol и Fortran, и в конечном итоге заменяет своих предшественников. Однако этого не произошло, в связи с тем, что PL / 1 не проявил тех преимуществ, которые оправдали бы переход к нему. К тому же большое количество средств и разнообразие операторов ПЛ / 1 привели к сложности в его изучении.


В 1971 году профессор Вирт из института информатики Швейцарской высшей политехнической школы в Цюрихе разработал новый язык, получивший название Pascal (в честь математика XVII века Блеза Паскаля). Язык Pascal основан на Алгол и создавался как учебный язык, в нем строго соблюдена структурная линия программирования. В силу своих достоинств Pascal послужил источником для создания многих современных языков программирования, таких как Ada, С и Modula-2.


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