Similar presentations:
Языки программирования высокого уровня
1.
Подготовил:Студент гр 301
Лукьянов Илья
5informatika.net
2.
История развития языков высокого уровняВсю историю компьютерной индустрии и компьютерных наук с
определенной точки зрения можно представить как историю развития языков
программирования.
Меняются времена, усложняются задачи, то, что раньше требовало много
лет, нынче энтузиасты делают на коленке за несколько недель; накоплена
огромная масса типовых решений, типовых библиотек и типовых
программистов,
а создание, развитие и изменение языков программирования идет полным
ходом.
3.
История развития языков высокого уровня1801 - Иосиф Мария Жаккард с помощью перфокарт вышивает «hello world» на ткани
1842 - Ада Лавлейс пишет первую программу
1936 - Алан Тьюринг изобретает все языки, которые теоретически могут существовать, но не успевает
запатентовать их
1936 - Алонзо Черч тоже изобретает все возможные языки, только лучше. Его лямбда-исчисление непопулярно,
потому что непохоже на С. Критиков не смущает, что язык С еще не изобрели.
1957 - Джон Бакус и IBM изобретают Фортран
1958 - Джон МакКарти и Пол Грэм придумывают ЛИСП
1964 - Джон Кемни и Томас Курц пишут БЕЙСИК
1970 - Гай Стил и Джеральд Зюсман создают Схему. В результате их усилий появляется "Всемогущая Лямбда", а
затем «Всемогущая Лямбда, Универсальная Мультиварка»
1970 - Никлас Вирт создает процедурный язык Паскаль
1972 - Деннис Ричи изобретает язык С и Юникс
1972 - Ален Колмеро изобретает логический язык Пролог
1973 - Робин Милнер пишет МЛ, язык на основе теории типов M&M. МЛ порождает СМЛ, обладающий
формально описанной семантикой. В число языков семейства МЛ входят OCaml, F# и Visual Basic
1980 - Алан Кей пишет Smalltalk
1983 - Бьёрн Страуструп берет язык С, лепит поверх него все, что приходит на ум, и называет это С++
1986 - Брэд Кокс и Том Лав придумывают Objective-C
1995 - Брендан Эйк собирает ошибки всех известных языков, добавляет несколько новых и объединяет все в
Livescript. Через некоторое время язык переименовывают в Javascript, чтобы воспользоваться популярностью
языка Java. Через некоторое время язык переименовывают в ECMAscript
1996 - Джеймс Гослинг придумывает Яву. Ява - довольно многословный статически типизированный объектноориентированный язык на основе классов, со сборкой мусора, одиночной диспетчеризацией вызовов,
одиночным наследованием реализации и множественным наследованием интерфейсов. Sun громко
провозглашает Java самым инновационным языком.
2001 - Андерс Хейлсберг придумывает C1. C1 - довольно многословный статически типизированный объектноориентированный язык на основе классов, со сборкой мусора, одиночной диспетчеризацией вызовов,
одиночным наследованием реализации и множественным наследованием интерфейсов. Microsoft громко
провозглашает C1 самым инновационным языком.
4.
Язык высокого уровня (high-level language) - язык программирования,средства которого обеспечивают описание задачи в наглядном, легко
воспринимаемом виде, удобном для программиста. Он не зависит от
внутренних машинных кодов ЭВМ любого типа, поэтому программы,
написанные на языках высокого уровня, требуют перевода в машинные коды
программами транслятора либо интерпретатора. К языкам высокого уровня
относят Фортран , ПЛ/1 , Бейсик , Паскаль , Си , Ада, C++, Visual Basic, Java,
Python, Ruby, Perl, Delphi (Pascal), PHP
Языкам высокого уровня свойственно умение работать с комплексными
структурами данных. В большинство из них интегрирована поддержка
строковых типов, объектов, операций файлового ввода-вывода.
5.
Основные требования, предъявляемые к языкам программирования:наглядность - использование в языке по возможности уже существующих символов,
хорошо известных и понятных как программистам, так и пользователям ЭВМ;
единство - использование одних и тех же символов для обозначения одних и тех же или
родственных понятий в разных частях алгоритма. Количество этих символов должно
быть по возможности минимальным;
гибкость - возможность относительно удобного, несложного описания
распространенных приемов математических вычислений с помощью имеющегося в
языке ограниченного набора изобразительных средств;
модульность - возможность описания сложных алгоритмов в виде совокупности
простых модулей, которые могут быть составлены отдельно и использованы в
различных сложных алгоритмах;
однозначность - недвусмысленность записи любого алгоритма. Отсутствие ее могло бы
привести к неправильным ответам при решении задач.
6.
7.
Ада [Ada] - язык программирования высокого уровня,ориентированный на применение в системах реального времени
и предназначенный для автоматизации задач управления
процессами и/или устройствами, например, в бортовых
(корабельных, авиационных и др.) ЭВМ. Разработан по
инициативе министерства обороны США в 1980-х гг. Назван в
честь английского математика Ады Августы Байрон (Лавлейс),
жившей в 1815-1851 гг.
8.
Кобол [COBOL - COmmon Buisiness-Oriented Language] - Языкпрограммирования высокого уровня, разработанный в конце
1950-х гг. ассоциацией КАДАСИЛ для решения коммерческих и
экономических задач. Отличается развитыми средствами
работы с файлами. Поскольку команды программ, написанных
на этом языке, активно используют обычную английскую
лексику и синтаксис, Кобол рассматривается как один из самых
простых языков программирования. В настоящее время
используется для решения экономических, информационных и
других задач.
9.
Лисп [LISP - LISt Processing] - Алгоритмический язык,разработанный в 1960 г. Дж. Маккарти и предназначенный для
манипулирования перечнями элементов данных. Используется
преимущественно в университетских лабораториях США для
решения задач, связанных с искусственным интеллектом. В
Европе для работ по искусственному интеллекту предпочитают
использовать Пролог.
10.
Паскаль [PASCAL - акроним с французского - Program Applique ala Selection et la Compilation Automatique de la Litterature] Процедурно-ориентированный язык программирования
высокого уровня, разработанный в конце 1960-х гг. Никлаусом
Виртом, первоначально для обучения программированию в
университетах. Назван в честь французского математика XVII
века Блеза Паскаля. В своей начальной версии Паскаль имел
довольно ограниченные возможности, поскольку
предназначался для учебных целей, однако последующие его
доработки позволили сделать его хорошим универсальным
языком, широко используемым в том числе для написания
больших и сложных программ. Существует ряд версий языка
(например, ETH Pascal, USD Pascal, Turbo Pascal ) и систем
программирования на этом языке для разных типов ЭВМ. Для
IBM PC наиболее популярной является система Turbo Pascal
фирмы Borland (США).
11.
ЛОГО [LOGO от греч. logos - слово ] - Язык программированиявысокого уровня, разработан в Массачусетском технологическом
институте в ориентировочно 1970 г. для целей обучения
математическим понятиям. Используется также в школах и
пользователями ПЭВМ при написании программ для создания
чертежей на экране монитора и управления перьевым
графопостроителем.
12.
Пролог [PROLOG - PROgramming in LOGic] - Языкпрограммирования высокого уровня декларативного типа,
предназначенный для разработки систем и программ Бейсик
Бейсик [BASIC - Beginner’s All-purpose Symbolic Instruction
Code] - Язык программирования высокого уровня ,
разработанный в 1963 - 1964 гг. в искусственного интеллекта.
Относится к категории языков пятого поколения. Был
разработан в 1971 г. в университете г. Марсель (Франция),
относится к числу широко используемых и постоянно
развиваемых языков. Последняя его версия Prolog 6.0.
13.
Си [C ] - Многоцелевой язык программирования высокогоуровня, разработанный Денисом Ритчи в начале 1970-х гг. на
базе языка BCPL. Используется на миниЭВМ и ПЭВМ. Является
базовым языком операционной системы Unix , однако
применяется и вне этой системы, для написания
быстродействующих и эффективных программных продуктов,
включая и операционные системы. Для IBM PC имеется ряд
популярных версий языка Си, в том числе - Turbo C (фирмы
Borland), Microsoft C и Quick C ( фирмы Microsoft ), а также
Zortech C (фирмы Symantec). Многие из указанных версий
обеспечивают также работу с Си и Си++
14.
Си++ [C++] - Язык программирования высокого уровня,созданный Бьярном Страустрапом на базе языка Си. Является
его расширенной версией, реализующей принципы объектноориентированного программирования. Используется для
создания сложных программ. Для IBM PC наиболее популярной
является система Turbo C++ фирмы Borland (США).