История языков программирования
Программы для первых компьютеров писали на «машинном» языке, т.е. в кодах, непосредственно воспринимаемых компьютером.
В начале 50-х годов появился язык ассемблер*1 (или автокод). Каждая команда этого языка соответствовала одной машинной команде, но в отличие от машинного языка в команде ассемблера использовались мнемонические обозначения кодов операций и адресов данных.
Язык ассемблер используется и сейчас, когда требуется наиболее полно учесть особенности данного компьютера. Программы, переводящие язык ассемблера в машинный код, также называются ассемблерами.
В связи с трудоёмкостью написания программ на ассемблере и невозможностью переносить программы с одного компьютера на другой появились языки высокого уровня (алгоритмические, процедурно-ориентированные), ориентированные на удобство описания решаемых задач, а не на особенности компьютера. Программы на языке высокого уровня либо переводятся в программы в машинных кодах с помощью программ-компиляторов, либо интерпретируются с помощью программ-интерпретаторов.
Первый язык высокого уровня Фортран*2 был разработан в 1958 году. Этот язык был ориентирован на решение научно-технических задач. Благодаря мощной библиотеке подпрограмм, разработанных в течение ряда лет, этот язык всё ещё применяется.
В 60-х годах появились универсальные языки высокого уровня, с их помощью удается решать задачи из любых областей. Относительная простота структуры этих языков и одновременно возможность использования мощных синтаксических конструкций позволили резко повысить производительность труда программистов. Подавляющее большинство языков этого поколения успешно применяется и сегодня. К ним относятся, в частности, Кобол*3, Алгол*4 и Бейсик*5.
С начала 70-х годов разрабатываются языки, предназначенные для реализации крупных проектов, повышения их надежности и скорости создания. Эти языки часто ориентированы на специализированные области применения, где хороших результатов можно добиться, используя не универсальные, а проблемно - ориентированные языки, оперирующие конкретными понятиями узкой предметной области. Как правило, в эти языки встраиваются мощные операторы, позволяющие одной строкой описать такую функциональность, для реализации которой на языках младших поколений потребовались бы тысячи строк исходного текста. В это же время создаются наиболее распространённые и сегодня языки Паскаль*6, Си*7, а затем и Си++*8 , основанный на новых идеях – идеях объектного программирования.
В середине 90-х годов разрабатываются также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Главная идея, которая закладывается в эти языки, – возможность автоматического формирования результирующего текста на универсальных языках программирования (который потом требуется откомпилировать). Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием. В это же время создаются Джава*9, СиШарп*10 и др.
Определения:
*Ассемблер появился в начале 50-х годов, позволяя писать программы с использованием мнемонических обозначений кодов операций, имен операндов и т.п. Программы на ассемблере очень просто переводить в машинный код. Это делается с помощью программы, которая тоже называется ассемблером. Язык ассемблер используется и сейчас, когда нужно достичь максимального быстродействия и минимального размера программ, либо наиболее полно учесть в программе особенности компьютера.
*2Фортран (FORTRAN). Это первый компилируемый язык, созданный Джимом Бэкусом в 50-е годы. Программисты, разрабатывавшие программы исключительно на ассемблере, выражали серьезное сомнение в возможности появления высокопроизводительного языка высокого уровня, поэтому основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого кода. Хотя в Фортране впервые был реализован ряд важнейших понятий программирования, удобство создания программ было принесено в жертву возможности получения эффективного машинного кода. Однако для этого языка было создано огромное количество библиотек, начиная от статических комплексов и кончая пакетами управления спутниками. Имеется стандартная версия Фортрана HPF (High Performance Fortran) для параллельных суперкомпьютеров со множеством процессоров.
*3Кобол (COBOL). Это компилируемый язык для применения в экономической области и решения бизнес-задач, разработанный в начале 60-х годов. Он отличается большой "многословностью" – его операторы иногда выглядят как обычные английские фразы. В Коболе были реализованы очень мощные средства работы с большими объемами данных, хранящимися на различных внешних носителях. На этом языке создано очень много приложений, которые активно эксплуатируются и сегодня.
*4Алгол (ALGOL). Компилирующий язык, созданный в 1960 году. Он был призван заменить Фортран, но из-за более сложной структуры не получил широкого распространения. В 1968 году была создана версия Алгол 68, по своим возможностям и сегодня опережающая многие языки программирования, однако из-за отсутствия достаточно эффективных компьютеров для нее не удалось своевременно создать хорошие компиляторы.
*5Бейсик (BASIC). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах в качестве учебного языка и очень прост в изучении.
*6Паскаль (Pascal). Язык Паскаль, созданный в конце 70-х годов основоположником множества идей современного программирования Никлаусом Виртом, во многом напоминает Алгол, но в нем ужесточен ряд требований к структуре программы и имеются возможности, позволяющие успешно применить его при создании крупных проектов.
*7Си (С). Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы и в то же время не зависеть от конкретного типа процессора. На этом языке в 70-е годы написано множество прикладных и системных программ и ряд известных операционных систем (Unix).
*8Си++ (С++). Си++ - это объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость, в результате чего создание сложных и надежных программ потребовало от разработчиков высокого уровня профессиональной подготовки.
*9Джава, Ява (Java). Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка – компиляция не в машинный код, а в платформо-независимый байт-код (каждая команда занимает один байт). Этот байт-код может выполняться с помощью интерпретатора – виртуальной Java - машины JVM (Java Virtual Machine). Особое внимание в развитии этого языка уделяется двум направлениям: поддержке всевозможных мобильных устройств и микрокомпьютеров и созданию платформо-независимых программных модулей.
*10СиШарп (С#). В конце 90-х годов в компании Microsoft под руководством Андерса Хейльсберга был разработан язык С#. В нем воплотились лучшие идеи Си и Си++, а также достоинства Java. Правда, С# , как и другие технологии Microsoft, ориентирован на платформу Windows. Однако формально он не отличается от прочих универсальных языков, а корпорация даже планирует его стандартизацию. Язык С# предназначен для быстрой разработки .Net содержит множество особенностей, привязывающих С# к внутренней архитектуре Windows и платформы .Net.
Дата добавления: 2016-09-26; просмотров: 2135;