Презентация на тему: » ИСТОРИЯ ИНФОРМАТИКИ Языки программирования. Языки и системы программирования Предыстория Первая попытка создать высоко- уровневый язык программирования.» — Транскрипт:
1 ИСТОРИЯ ИНФОРМАТИКИ Языки программирования
2 Языки и системы программирования Предыстория Первая попытка создать высоко- уровневый язык программирования принадлежит гениальному Конраду Цузе (конец 1940-х годов), разработавшему Plancalcul (планировщик вычислений). «Plancalcul родился исключительно как результат теоретической работы, без всякой связи с тем, появится или нет в обозримом будущем машины, подходящие к программам на Plancalcul». Фрагмент рукописи Цузе с шахматной программой на языке Plancalcul
3 Михаил Романович Шура-Бура и А.П. Ершов – создатели первых отечественных систем автоматизации программирования для ЭВМ «БЭСМ» и «Стрела» ( годы) Языки и системы программирования Предыстория
4 Языки и системы программирования Наиболее активный период разработки языков и систем программирования приходится на 1960-е годы. За это десятилетие в мире родилось более тысячи разнообразных языков, как универсальных, так и специализированных, но выжили и доросли до XXI века дожили немногие, в том числе бессмертные Fotran, Basic, Algol, Cobol, Simula, Lisp и их потомки. На рисунке: «вавилонская башня» языков программирования, созданных в 1960-е годы
ПОЧЕМУ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ТАК МНОГО?
5 Языки и системы программирования Родословная основных высокоуровневых языков программирования
6 Языки и системы программирования Бессмертный Fortran Fortran = FORmula TRANslator Первый высокоуровневый язык программирования Fortran был разработан в фирме IBM под руководством Джона Бэкуса (Backus, John; р. 1924). Работа над языком началась в 1954 г., первая реализация для IBM 704 в выполнена в 1957 г.
7 Фрагмент программы на языке Fortran CMAIN PROGRAM 101FORMAT(208) 102FORMAT(//N=,15, 5X, R=, 15 1//6X, M, 5X, PROB) 103 FORMAT(18, F14.10) 201READ(1,101) N, IR WRITE(3,102) N, IR IF(N) 202, 202, STOP 203IF(IR) 202, 202, M=O P=COMBF(N,M)*COMBF(IR-1,N-M-1) 1/COMBF(N+IR-1,IR). Языки и системы программирования Бессмертный Fortran
8 Языки и системы программирования Basic – язык для начинающих BASIC = Beginners All-purpuse Symbolic Instruction Code Язык Basic был разработан в 1964 г. в Дармутском колледже в г. Хановере (Darmouth College, Hanover), штат Нью-Хемпшир
9 Языки и системы программирования Basic – язык для начинающих Авторы языка Basic. Стоит Джон Кемени (Kemeny, John G.; ), сидит Томас Курц (Kurtz, Thomas E.; р. 1928) 10 dim A(5) 20 for i=1 to 5 30 input A(i) 40 next i 50 if i=5 then goto if A(i)
10 Будущие создатели Microsoft Пол Аллен (Allen, Paul; р. 1954) и Билл Гейтс (Gates, William; р. 1955) познакомились с Бэйсиком, работая в компьютерном классе школы в Сиэтле (снимок 1968 г.) Языки и системы программирования Basic – язык для начинающих
11 Начав с Бэйсика, компания Microsoft превратилась в крупнейшую софтверную империю, а Билл Гейтс – стал самым богатым человеком на планете Языки и системы программирования Basic – язык для начинающих Штаб — квартира корпорации Microsoft в Редмонде (пригород Сиэтла)
История появления и развития программирования и ЭВМ
12 На протяжении нескольких десятилетий Visual Basic оставался фирменный языком компании Microsoft. В начале 1990-х годов он стал объектным и приобрел средства визуального проектирования Языки и системы программирования Basic – язык для начинающих
13 Языки и системы программирования Cobol – язык для бухгалтеров COBOL = COmmon Business-Oriented Language На фото: разработчики языка Cobol у шуточного обелиска, присланного в их адрес в качестве намека на безнадежно медленную работу, способную похоронить саму идею. Справа внизу – Грейс Хоппер
14 Основные свойства языка Cobol: независимость программ от оборудования; независимость программ от данных; сложные структуры данных; синтаксис, приближенный к естественному английскому языку. Языки и системы программирования Cobol – язык для бухгалтеров
15 Программа на Коболе (начало) 1010 IDENTIFICATION DIVISION PROGRAM-ID EXAMPLE ENVIROMENT DIVISION INPUT-OUTPUT SECTION FILE-CONTROL SELECT CD ASSIGN TO SYS010 UNIT-RECORD 2540R SELECT TT ASSIGN TO SYS009 UTILITY DATA DIVISION FILE SECTION FDCDDATA RECORD IS C 1110LABEL RECORDS ARE OMITTED C C1 PICTURE 9(4) C2 PICTURE C3 PICTURE X(70). Языки и системы программирования Cobol – язык для бухгалтеров
16 Программа на Коболе (окончание) 1290 PROCEDURE DIVISION P1. OPEN INPUT CD, OUTPUT TT P2. READ CD, AT END GO TO P MOVE C1 TO D MONE C2 TO D MOVE C3 TO D ADD C1, C2, GIVING D WRITE T FROM D. 1370GO TO P P3. CLOSE SD, TT. 1390STOP RUN. Языки и системы программирования Cobol – язык для бухгалтеров
17 Языки и системы программирования Algol и его влияние на языки программирования ALGOL = ALGOritmic Language В 1958 году в Цюрихе (Швейцария) состоялась международная конференция, предложившая проект нового универсального международного языка программирования Algol-58. В 1960 году на парижской конференции была принята окончательная версия под названием Algol-60. На снимке: участники парижской конференции голосуют за Алгол-60.
18 Основные свойства языка Algol-60: машинная независимость; формальный синтаксис; описание переменных и блочная структура; рекурсия Нормальная форма Бэкуса-Наура (БНФ) ::= 1|2|3|4|5|6|7|8|9|0 ::= | Языки и системы программирования Algol и его влияние на языки программирования
19 begin integer i, n; real s; real array x[1:n]; s:=0; for i:=1 step 1 to n do s:=s+x[i]; s:=s/n end Простейшая программа на Алголе-60, вычисляющая среднее арифметическое n чисел. Синтаксис Алгола-60 сформировал стандарт для всех последующих языков программирования Языки и системы программирования Algol и его влияние на языки программирования
20 В результате многолетней переработки Алгола-60 комитетом IFIP появился язык Алгол-68 (пересмотренное сообщение под ред. А. ван Вейнгаардена (A. van Wijngaarden) и др. опубликовано в 1975 г.) Языки и системы программирования Algol и его влияние на языки программирования
21 Языки и системы программирования Pascal и его потомки Член комитета по Алголу-68 Никлаус Вирт (Wirth, Niklaus; р. 1934) был против принятия переусложненного стандарта. В знак доказательства своей правоты он разработал в 1971 г. простой и ясный алголоподобный язык, предназначенный прежде всего для обучения студентов в Федеральном техническом университете в Швейцарии. В честь изобретателя первой вычислительной машины Вирт назвал язык Паскалем.
22 Программа на Паскале, вычисляющая среднее арифметическое n чисел var i, n: integer; s: float; x: array[1..n] of real; begin s:=0; for i:=1 to n do s:=s+x[i]; s:=s/n end. Языки и системы программирования Pascal и его потомки
23 Новую жизнь языку Pascal дал Филипп Кан (Kahn, Philippe; р. 1938) – создатель компилятора Turbo Pascal для IBM PC и основатель компании Borland (1984 г.) Языки и системы программирования Pascal и его потомки
24 Среда разработки Delphi фирмы Borland объединила передовые достижения технологии программирования: объектное расширение языка Pascal, визуально- событийное проектирование, модульное структурирование и раздельная компиляция. Языки и системы программирования Pascal и его потомки В отличие от учебного Паскаля, язык программирования Modula-2, предложенные Никлаусом Виртом, изначально предназначался для профессионального применения
25 В 1975 году Министерство обороны США приняло решение разработать стандартный язык для программирования сложных и ответственных военных приложений. Был объявлен широкий международный конкурс, в котором приняли участие 15 групп разработчиков. В результате нескольких туров в мае 1979 года выявился победитель французская фирма C.I.I., руководитель проекта Жан Ихбиа (Ichbiah, Jean). Снимок сделан на II конференции по истории языков программирования, 1993 г. Языки и системы программирования Pascal и его потомки
26 Языки и системы программирования Суперязык PL/1 EXAMPLE: PROCEDURE OPTIONS (MAIN); ON ENDFILE (SYSIN) GO TO ENDING; P1:GET LIST (A, B, C); D = B*B 4*A*C; E = B/(A+A); IF D
27 Языки и системы программирования Simula и Smalltalk – революция в программировании Simula = SIMULAlation За разработку языка Simula Кристен Нигорд (Nygaard, Kristen; ), на снимке слева, и Оле-Йохан Дал (Dahl, Ole-Johan; ) были удостоены высшей награды компьютерного сообщества – медали Тьюринга
28 |a| a := Array new: 5. 1 to: 5 do: [:i | a at: i put: (Prompter prompt: Введите элемент массива) asNumber]. a := a asSortedCollection. a do: [:i | Transcript putAll: i printString]. Простейшая программа на Smalltalk, вычисляющая среднее арифметическое пяти чисел Алан Кей Языки и системы программирования Simula и Smalltalk – революция в программировании
29 Языки и системы программирования С – язык для профессионалов Язык Си (С) был создан Деннисом Ричи (Ritchie, Dennis M.; р. 1941) в 1973 году в Bell Labs в ходе разработки операционной системы UNIX. Он развивал язык Би (B), который основывался на созданном в Кембриджском университете языке BCPL (от Basic Combined Programming Language), который в свою очередь был потомком Алгола-60
30 Текст на языке С отличается лаконичностью float A[5]; for(int i=0;i
31 Бьярн Страуструп (Stroustrup, Bjarne; р. 1950) ввел в язык С объекты и превратил его в С++ Языки и системы программирования С – язык для профессионалов
32 Языки и системы программирования Java – дитя интернета В 1995 г. фирма Sun Microsystems представила язык Java для программирования в интернете. Он возник в ходе реализации проекта Oak («Дуб»), целью которого было создание системы программирования бытовых микропроцессорных устройств. Джеймс Гослинг (Gosling, James) – автор Java.
33 Java — технология Языки и системы программирования Java – дитя интернета Языки и системы программирования Java – дитя интернета
35 Lisp = LISt Processing Язык Lisp создан в 1960 году Джоном Маккарти (McCarthy, John; р ) в Массачусетском технологи- ческом институте на теоретическом фундаменте лямбда-исчисления, пред- ложенного еще в 1930 году известным американским логиком Алонзо Черчем. Языки и системы программирования Долгожитель Lisp – инструмент функционального программирования Дж. Маккарти и А.П. Ершов Снимок 1975 г.
36 Программа на Lisp имеет специфический вид из-за обилия скобок. За это студенты прозвали его «Lots of Infuriating add суммирование аргументов; car извлечение первого элемента из списка; cdr извлечение остатка списка (без первого элемента). Языки и системы программирования Долгожитель Lisp – инструмент функционального программирования
37 Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения Prolog = PROgramming for LOGic Теоретические основы языка были разработаны Робертом Ковальским (Kowalski, Robert) в Эдинбургском университете (Шотландия) в конце 1960-х годов Первая практическая реализация языка осуществлена Аленом Кольмари (Colmerauer, Alain ) в Марсельском университете (Франция) в 1972 г.
38 Факты: муж (петя), муж (ваня), муж (коля), жен (таня), жен (маша), мать (ваня, таня), отец (ваня, петя), отец (маша, ваня), отец (коля, ваня). Правила вывода: родитель (X, Y) : отец (X, Y) родитель (X, Y) : мать (X, Y) дед (X, Y) : родитель (X, Z), отец (Z, Y) брат (X, Y) : муж (Y), родитель (X, Z), родитель (Y, Z), XY Примеры диалога: GOAL> дед (коля, X) Кто дед Коли? X = Петя GOAL> брат (маша, X) Кто брат Маши? X = Коля Описание предметной области семейных отношений на языке Prolog Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения
39 Проект ЭВМ V поколения – японский вызов мировой компьютерной индустрии, брошенный в начале 1980-х годов Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения
40 Концептуальные отличия ЭВМ V поколения: новая технология производства микросхем, знаменующая переход от кремния к арсениду галлия, и дающая возможность на порядок повысить быстродействие основных логических элементов; новая архитектура (не фон-неймановская); новые способы ввода-вывода информации распознавание и синтез речи и образов; отказ от традиционных алгоритмических языков программирования (Фортран, Алгол и т. п.) в пользу декларативных; ориентация на задачи искусственного интеллекта с автоматическим поиском решения на основе логического вывода. Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения
41 Структура ЭВМ V поколения Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения
42 В качестве основного языка ЭВМ V поколения предполагалось использовать Prolog Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения
43 Языки и системы программирования Logo – язык для самых маленьких Язык Logo, изобретен в 1967 г. в MIT выдающимся математиком и педагогом Сеймуром Пейпертом (Papert, Seymour; р. 1928). Пейперт в годах работал в Женеве у знаменитого психолога Жана Пиаже (Piaget, Jean), где занимался детьми и природой их мышления. Идейной основой Logo является язык Lisp На фото: Сеймур Пейперт получает степень почетного доктора Софийского университета (1999 г.)
44 Программа на Logo управляет черепашкой, оставляющей видимый след. С помощью зрительных образов интерпретируются все базовые структуры программирования Процедура с параметром это дуга :шаг :число_шагов повтори :число_шагов [вперед :шаг направо 10] Конец это спираль :шаг если :шаг
45 Концепция Logo учитывает детскую психологию и рассчитана на обучение школьников, начиная с младших классов Новейшие реализации Logo используют принципы объектно- ориентированного программирования. В программе Юли Гладких, 9 лет, черепашка в форме лебедя плавает по озеру. На снимке: группа юных программистов на факультете информатики Томского государственного университета. Занятие ведет доцент Т.Н. Поддубная (2002 г.) Языки и системы программирования Logo – язык для самых маленьких
46 Языки и системы программирования Уроки истории Основные парадигмы программирования: процедурное программирование (Fortran, Basic, Cobol, Algol, Pascal, Ada, С, Logo, FoxPro); объектно-ориентированное программирование (Simula, Smalltalk, Object Pascal, C++, Java, C#); визуально-событийное программирование (Visual Basic, Delphi, Visual C++, Visual Java, Visual FoxPro); функциональное программирование (Lisp); логическое программирование (Prolog).
Источник: www.myshared.ru
Опережая время: какой язык программирования считается первым
10 важнейших языков программирования: 50 лет развития (инфографика)
Издание V3 подготовило видеообзор важнейших языков программирования и краткой истории их появления.
История программирования началась на заре 19 века с появлением ткацких станков Жаккарда, которые позволяли автоматизировать нанесение узоров на ткань с помощью специальных перфорированных пластин. Активное развитие языков программирования началось во второй половине 20 века, и именно эта часть истории развития разработки описана ниже.
1957 — Fortran
Язык, название которого получено от сокращения «Formular Translation». Это самый старый язык программирования, использование которого продожается и в наше время. Первоначально его создали для обработки статистических вычислений, и по-прежнему применяют в некоторых правительственных системах США и аэрокосмической индустрии.
1959 — COBOL
Cobol (Common business-oriented language) по-прежнему широко используют в индустрии финансов (например, для обработки платежей с помощью кредитных карт), а также для обработки мобильных звонков и в автоматизированных системах дорожных сигналов.
1964 — Basic
Beginners All-Purpose Symbolic Instruction Code специально разработали для того, чтобы его мог без проблем выучить любой обыватель, не связанный с компьютерной техникой. Сооснователи Microsoft Билл Гейтс и Пол Аллен продали доработанную версию языка Массачуссетскому технологическому институту, это и стало первым проектом молодой и ещё никому не известной компании.
1969 — С
Язык разработан для использования в Unix-системах и являлся усовершенствованным вариантом языка программирования B, чем и объясняется его название. Благодрая мощности и производительности, значительную часть ядра Unix постепенно переписали на C, что обеспечило его последующую популярность.
1983 — С++
Модифицированная версия С стала, по некоторым отзывам, самым популярным языком программирования всех времён. Этот язык используют в многом известном ПО. Так, на нём написаны Microsoft Office, Adobe Acrobat и браузер Firefox.
1987 — Perl
Perl появился после того, как разработчик Ларри Уолл не смог извлечь нужные данные из интересовавшего его отчёта с помощью Unix-системы. Название языка расшифровывается как Practical Extraction Report Language, или прикладной язык извлечения отчётов. Его активно использовали для создания веб-сайтов, некоторые из которых существуют и сегодня. Так, perl используется в крупнейшей доске объявлений Craiglist и сервисе бронирования жилья Booking.com.
1991 — Python
Названный в честь британского комедийного шоу Монти Пайтон, Python известен своей простотой — по этому параметру его считают вторым после Basic. Python используют в работе поисковой системы Google, YouTube, проектах Nasa и многих других областях.
1995 — PHP
Созданный специально для создания веб-страниц (Personal Home Page) на смену Perl, язык быстро завоевал популярность. По информации V3, на php написано 244 млн веб-сайтов, включая Facebook, а количество веб-серверов с установленным php превышает 2,1 млн.
1995 — Java
Язык программирования создала команда Sun Microsystems, и первоначальной задачей проекта было управление приставками для интерактивного ТВ. Сегодня на Java программирует более 9 млн разработчиков, а спектр его использования весьма широк. К примеру, последняя миссия марсохода США была запрограммирована именно на Java.
1995 — JavaScript
Несмотря на название, разработанный программистом из Netscape язык не имеет никакого отношения к Java. При использовании в веб-браузерах, JavaScript позволяет скриптам, работающим на стороне пользователя, контролировать приложения, взаимодействовать с пользователем и влиять на отображаемый контент. Язык часто используют при серверном программировании, геймдеве и создании десктоп-приложений.
Ни один язык не может быть использован для решения всех существующих проблем. С активизацией появления новых технологий в последнее десятилетие активно развиваются и новые, более подходящие к современным задачам языки программирования. Показательным примером является Kotlin, созданный российской компанией JetBrains и недавно принятый Google в качестве второго основного языка для создания Android-приложений.
Источник: devby.io