Этапы развития языков программирования доклад

13 Вопрос Этапы развития языков программирование

Всю историю компьютерной индустрии и компьютерных наук с определенной точки зрения можно представить как историю развития языков программирования. Меняются времена, усложняются задачи, то, что раньше требовало человеко-лет, нынче энтузиасты делают на коленке за несколько недель; накоплена огромная масса типовых решений, типовых библиотек и типовых программистов. А создание, развитие и изменение языков программирования идет полным ходом.

Объект исследования темы — это языки программирования, которые в разное время и в разных условиях предлагались и предлагаются как альтернатива привычному и общепринятому; их судьба, свойства и шансы.

Сейчас я предложу Вам краткую историю языков программирования:

1801 — Иосиф Мария Жаккард с помощью перфокарт вышивает «hello world» на ткани. Хабровчане тех времен недовольны отсутствием хвостовой рекурсии, многопоточности и заглавных букв.

1842 — Ада Лавлейс пишет первую программу. Её успехам препятствует маленькая проблемка — компьютера для исполнения этой программы ещё не изобрели. Через полтора века архитекторы корпоративных приложений переймут технику Ады по написанию неисполняемых программ и назовут этот метод UML.

1936 — Алан Тьюринг изобретает все языки, которые теоретически могут существовать, но не успевает запатентовать их.

1936 — Алонзо Черч тоже изобретает все возможные языки, только лучше. Его лямбда-исчисление непопулярно, потому что непохоже на С. Критиков не смущает, что язык С еще не изобрели.

1940-е — Различные «компьютеры» «программируют», паяя провода и замыкая контакты.

1957 — Джон Бакус и IBM изобретают Фортран. По поводу IBM и Фортрана не шутят. Компилятор Фортрана выдает ошибку, если на программисте нет галстука.

1958 — Джон МакКарти и Пол Грэм придумывают ЛИСП. Популярности ЛИСПа мешает истощение мировых запасов круглых скобок, к счастью, запасы фигурных и угловых скобок практически неисчерпаемы. Тем не менее, ЛИСП (в наше время известный как Лисп, иногда Arc) — общепризнанный стандарт в области «фундаментальных концепций информационных технологий, таких как рекурсия и снисхождение»

1964 — Джон Кемни и Томас Курц пишут БЕЙСИК, неструктурированный язык для людей, не разбирающихся в программировании.

1970 — Гай Стил и Джеральд Зюсман создают Схему. В результате их усилий появляется «Всемогущая Лямбда», а затем «Всемогущая Лямбда, Универсальная Мультиварка»..

1970 — Никлас Вирт создает процедурный язык Паскаль. Многие недовольны отличным от С синтаксисом оператора присваивания. Критиков не смущает, что язык С еще не изобрели.

1972 — Деннис Ричи изобретает пистолет, стреляющий в обе стороны одновременно. Не удовлетворенный числом смертей и увечий, приносимых этим устройством, он создает язык С и Юникс.

1972 — Ален Колмеро изобретает логический язык Пролог. Задача-максимум ученого — наделить компьютер интеллектом двухлетнего ребенка. Он блестяще справляется с задачей, написав программу, отвечающую «Нет!» на любой запрос.

1973 — Робин Милнер пишет МЛ, язык на основе теории типов M&M. МЛ порождает СМЛ, обладающий формально описанной семантикой. В число языков семейства МЛ входят OCaml, F# и Visual Basic.

Читайте также:  Ниссан кашкай программирование пульта

1980 — Алан Кей пишет Smalltalk и придумывает термин «объектно-ориентированный». На просьбу объяснить он отвечает «Программы в ООП — просто объекты». На вопрос, из чего состоят объекты, он отвечает «из объектов» и объясняет «все состоит из объектов, в том числе и объекты. И стоит на четырех слонах.»

1983 — Бьёрн Страуструп берет язык С, лепит поверх него все, что приходит на ум, и называет это С++. Чтобы программы скомпилировались за разумное время, их приходится отправлять в будущее искусственному интеллекту Скайнет. Зачем это нужно Скайнету, неясно .

1986 — Брэд Кокс и Том Лав придумывают Objective-C. По их словам, он «сочетает безопасность С с невероятной скоростью Smalltalk».

1987 — Ларри Волл засыпает на клавиатуре. Проснувшись, он принимает строку на мониторе за программу на языке, который Господь предначертал написать своему пророку Ларри. Так появляется Перл.

1990 — Комиссия в составе Саймона Пейтон-Джонса, Пола Худака, Филиппа Водлера, Эштона Катчера и Общества по защите прав животных проектирует Хаскелл — чисто функциональный язык с ленивыми вычислениями.

1991 — Голландский программист Гвидо ван Россум отправляется в Аргентину. Перенеся загадочную операцию, он возвращается с шрамом на черепе, пишет Питон, толпы поклонников провозглашают его Пожизненным Диктатором, и он заявляет, что «есть только один способ».

1995 — Брендан Эйк собирает ошибки всех известных языков, добавляет несколько новых и объединяет все в Livescript. Через некоторое время язык переименовывают в Javascript, чтобы воспользоваться популярностью языка Java. Через некоторое время язык переименовывают в ECMAscript.

1996 — Джеймс Гослинг придумывает Яву. Ява — довольно многословный статически типизированный объектно-ориентированный язык на основе классов, со сборкой мусора, одиночной диспетчеризацией вызовов, одиночным наследованием реализации и множественным наследованием интерфейсов. Sun громко провозглашает Java самым инновационным языком.

2001 — Андерс Хейлсберг придумывает C1. C1 — довольно многословный статически типизированный объектно-ориентированный язык на основе классов, со сборкой мусора, одиночной диспетчеризацией вызовов, одиночным наследованием реализации и множественным наследованием интерфейсов. Microsoft громко провозглашает C1 самым инновационным языком.

Основные виды языков программирования

Этапы развития языков программирования

Машинные коды, непосредственно воспринимае­мые машиной. Составление программ для первых ЭВМ — утомительный и малопроизводительный процесс, где могло быть много ошибок

Символические ассемблеры — условные мнемони­ческие обозначения-автокоды. Программа, составленная на ассемблере, переводится на машинный язык с помощью специальной программы, тоже называемой ассемблером.

Процедурно-ориентированные, объектно-ориентированные языки программирования высо­кого уровня

Языки систем управления базами данных

Языки, приближённые к человеческой логике и применимые в Интернете

Источник

Этапы развития

1950 году для записи программ начали применять мнемонический язык – язык assembly. Язык ассемблера позволил представить машинный код в более удобной для человека форме: для обозначения команд и объектов, над которыми эти команды выполняются, вместо двоичных кодов использовались буквы или сокращенные слова, которые отражали суть команды. Например, на языке ассемблера команда сложения двух чисел обозначается словом add, тогда как ее машинный код может быть таким: 000010. Ассемблер — язык программирования низкого уровня. появление языка ассемблера значительно облегчило жизнь программистов, так как теперь вместо рябящих в глазах нулей и единиц, они могли писать программу командами, состоящими из символов приближенных к обычному языку. для того времени этот язык был новшеством и пользовался популярностью т.к. позволял писать программы небольшого размера, что при тех машинах критерий значительный. Но сложность разработки в нём больших программных комплексов при-

Читайте также:  Современные интегрированные среды программирования

вела к появлению языков третьего поколения – языков высокого уровня. Но на этом жизнь ассемблера не закончилась, он жив и посей день и не только жив, но и пользуется популярностью в узких кругах. Сейчас его используют в написании отдельных фрагментов программ или иногда в написании самих программ. Примеров может быть много, но самые яркие это использование ассемблера в написании драйверов, игр и загрузчиков ОС. Не стоит забывать, что у хакеров этот язык так же пользуется популярностью, да ещё какой! Но что же им так нравиться в нём? Конечно же, то, что скорость работы полученной программы значительно выше скорости программы написанной на языке программирования высокого уровня.

ПЕРВЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

Середина 50-х гг. характеризуется стремительным прогрессом в области программирования. Роль программирования в машинных кодах стала уменьшаться, стали появляться языки программировании нового типа, выступающие в роли посредника между машинами и программистами. Наступило время второго и третьего поколений языков программирования. С середины 50-ых гг. XX в. начали создавать первые языки программирования высокого уровня (high-levellanguage). Эти языки были Машино независимыми (не привязаны к определенному типу ЭВМ). Для каждого языка были разработаны собственные компиляторы — программа, выполняющая компиляцию. Компиляция — трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера)

ЯЗЫК ПРОГРАММИРОВАНИЯ FORTRAN

Первый язык высокого уровня был создан в период с 1954 по 1957 года группой программистов под руководством Джона Бэкуса в корпорации IBM и это стало следующим этапом развития языков программирования. Это был язык программирования FORTRAN. Он предназначался для научных и технических расчетов. Название Fortran является сокращением от FORmulaTRANslator (переводчик формул).

ALGOL

Поскольку FORTRAN оказался столь успешным языком, в Европе возникли опасения, что IBM будет доминировать в компьютерной отрасли. Немецкое общество прикладной математики (Germansocietyofappliedmathematics — GAMM) создало комитет по разработке универсального языка. В то же время AssociationforComputingMachinery (ACM) организовала похожий комитет в США. Несмотря на то, что у европейцев было некоторое беспокойство по поводу господства американцев, оба этих комитета слились в один. Алгол был разработан в 1958 году, на недельной конференции в ETH (Цюрих, Швейцария) как универсальный язык программирования для широкого круга применений, а затем доработан комитетом, созданным Международной федерацией по обработке информации (IFIP). В комитет вошёл ряд ведущих европейских и американских учёных и инженеров-разработчиков языков. В Алголе появилось представление о программе не как о свободной последовательности команд, а как о блочной структуре, состоящей из чётко описанных и отделённых друг от друга частей. Основной блок программы на Алголе — это сама главная программа. Она содержит свою исполняемую часть, заключённую в блок, ограниченный парой ключевых слов begin и end, а также описания подпрограмм. Каждая подпрограмма — это программа в миниатюре, имеющая собственные, описанные внутри неё данные, однозначно определённый интерфейс в виде имени и списка формальных параметров, и блок кода.При этом в блоке могут выделяться подблоки. Были выделены структурные управляющие конструкции: ветвления, циклы, последовательные участки, исполняющие условно или многократно вложенные наборы операторов, также ограниченные теми же ключевыми словами begin и end. Современным программистам подобная структура программы кажется очевидной, кое в чём устаревшей и не всегда удобной , но на момент появления Алгола всё это было заметным шагом вперёд. Программы становились регулярными, это давало возможность наращивать их по объёму, cохраняя обозримыми, понятными, доступными анализу и исправлению. Именно на базе Алгола и его языков-потомков были выполнены успешные работы по аналитическому доказательству правильности программ.

Читайте также:  Расположение полос при верстке

В Алголе было предложено два способа передачи параметров в подпрограмму — по имени и по значению. Если второй способ возражений не вызывает (он широко используется в абсолютном большинстве языков по сей день), то первый (он предполагает, что в процедуру передаётся имя фактического параметра, и процедура работает так, как будто в точке обращения записан её код, где вместо формального параметра написано имя фактического) приводил к трудностям реализации компиляторов и появлению труднообнаруживаемых ошибок.

LISP

Язык Лисп был предложен Дж. Маккарти в 1960 году и ориентирован на разработку программ для решения задач не численного характера. Английское название этого языка – LISP является аббревиатурой выражения LIStProcessing (обработка списков) и хорошо подчеркивает основную область его применения. Понятие “список” оказалось очень емким. В виде списков удобно представлять алгебраические выражения, графы, элементы конечных групп, множества, правила вывода и многие другие сложные объекты. Списки являются наиболее гибкой формой представления информации в памяти компьютеров. Неудивительно поэтому, что удобный язык, специально предназначенный для обработки списков, быстро завоевал популярность.

COBOL

COBOL (CommonBusiness-OrientedLanguage) был разработан в 1959 году и предназначался прежде всего для написания программ для разработки бизнес приложений, а так же для работы в экономической сферы. Спецификация языка была создана в 1959 году. Создатели языка ставили своей целью сделать его машинно-независимым и максимально приближенным к естественному английскому языку. Обе цели были успешно достигнуты; программы на COBOL считаются понятными даже неспециалистам, поскольку тексты на этом языке программирования не нуждаются в каких-либо специальных комментариях (самодокументирующиеся программы). ПЛ/1 Научные и бухгалтерские программы не только использовали разные компьютеры, но ещё и писались на разных языках: научные — на Фортране,

Источник

Оцените статью