ИСТОРИЯ ИНФОРМАТИКИ Языки программирования. Языки и системы программирования Предыстория Первая попытка создать высоко- уровневый язык программирования.

Презентация:



Advertisements
Похожие презентации
Лекция 7 Биографии основных теоретиков компьютерных наук.
Advertisements

Языки программирования. Программа - это алгоритм, записанный на языке программирования. Программирование – процесс создания программы.
ОСНОВНЫЕ ПОНЯТИЯ ООП Лекция 1 1. Язык Simula 2 Simula = SIMULAlation За разрабртку языка Simula Кристен Нигорд (Nygaard, Kristen; ), на снимке.
ИСТОРИЯ ПРИКЛАДНОЙ МАТЕМАТИКИ ЭВМ Лекция 13: Биографии основных теоретиков Computer science ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Доцент Власов В.К.,
История развития языков программирования. Терминологический словарь: ПРОГРАММИРОВАНИЯЯЗЫК Знаковая система совокупность условных знаков и правил их взаимосвязи.
Программы для первых ЭВМ программисты писали на языках машинных команд. Это очень трудоемкий и длительный процесс. Проходило значительное время между.
Государственное бюджетное образовательное учреждение среднего профессионального образования «Новороссийский колледж строительства и экономики» Краснодарского.
История языков программирования 9 класс. Языки программирования Даже при наличии десятков тысяч программ разработанных для IBM PC пользователям может.
ИСТОРИЯ ПРИКЛАДНОЙ МАТЕМАТИКИ ЭВМ Лекция 13: Эволюция компьютеров. Биографии основных теоретиков Computer science ВМиК МГУ им. М.В. Ломоносова, Кафедра.
История развития языков программирования. Степулёнок Денис Олегович.
История языков программирования. Язык программирования – это система команд, понятных ЭВМ. 1.машинно-ориентированные языки (языки низкого уровня): Автокоды,
Уильям (Билл) Гейтс. Информатика Hard Ware (технические средства) Soft Ware (программные средства) Brain Ware (алгоритмические средства) MS Windows MS.
План Введение Что такое языки программирования Для чего нужны языки программирования Классификация языков Какие существуют языки программирования Этапы.
Как «заставить» компьютер выполнять наши команды?.
Легенды программирования. Fortran – Джон Бэкус родился 3 декабря 1924 году в Филадельфии; был посредственным учеником; в 25 лет имея степень магистра.
Введение в программирование Этапы автоматизации программирования –Машинные коды –Ассемблер –Алгоритмические языки –Объектно-ориентированное программирование.
История создания и развития языка Паскаль Урок – семинар.
Язык программирования.. Язык назван в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в.
Паскаль - язык программирования Подготовила: Ученица 9Б класса Бузанова Инна.
Б.А. Гладких ИНФОРМАТИКА Историческое введение в специальность Альбом иллюстраций Глава 3. Программное обеспечение ЭВМ.
Транксрипт:

ИСТОРИЯ ИНФОРМАТИКИ Языки программирования

Языки и системы программирования Предыстория Первая попытка создать высоко- уровневый язык программирования принадлежит гениальному Конраду Цузе (конец 1940-х годов), разработавшему Plancalcul (планировщик вычислений). «Plancalcul родился исключительно как результат теоретической работы, без всякой связи с тем, появится или нет в обозримом будущем машины, подходящие к программам на Plancalcul». Фрагмент рукописи Цузе с шахматной программой на языке Plancalcul

Михаил Романович Шура-Бура и А.П. Ершов – создатели первых отечественных систем автоматизации программирования для ЭВМ «БЭСМ» и «Стрела» ( годы) Языки и системы программирования Предыстория

Языки и системы программирования Наиболее активный период разработки языков и систем программирования приходится на 1960-е годы. За это десятилетие в мире родилось более тысячи разнообразных языков, как универсальных, так и специализированных, но выжили и доросли до XXI века дожили немногие, в том числе бессмертные Fotran, Basic, Algol, Cobol, Simula, Lisp и их потомки. На рисунке: «вавилонская башня» языков программирования, созданных в 1960-е годы

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

Языки и системы программирования Бессмертный Fortran Fortran = FORmula TRANslator Первый высокоуровневый язык программирования Fortran был разработан в фирме IBM под руководством Джона Бэкуса (Backus, John; р. 1924). Работа над языком началась в 1954 г., первая реализация для IBM 704 в выполнена в 1957 г.

Фрагмент программы на языке 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

Языки и системы программирования Basic – язык для начинающих BASIC = Beginners All-purpuse Symbolic Instruction Code Язык Basic был разработан в 1964 г. в Дармутском колледже в г. Хановере (Darmouth College, Hanover), штат Нью-Хемпшир

Языки и системы программирования 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)

Будущие создатели Microsoft Пол Аллен (Allen, Paul; р. 1954) и Билл Гейтс (Gates, William; р. 1955) познакомились с Бэйсиком, работая в компьютерном классе школы в Сиэтле (снимок 1968 г.) Языки и системы программирования Basic – язык для начинающих

Начав с Бэйсика, компания Microsoft превратилась в крупнейшую софтверную империю, а Билл Гейтс – стал самым богатым человеком на планете Языки и системы программирования Basic – язык для начинающих Штаб - квартира корпорации Microsoft в Редмонде (пригород Сиэтла)

На протяжении нескольких десятилетий Visual Basic оставался фирменный языком компании Microsoft. В начале 1990-х годов он стал объектным и приобрел средства визуального проектирования Языки и системы программирования Basic – язык для начинающих

Языки и системы программирования Cobol – язык для бухгалтеров COBOL = COmmon Business-Oriented Language На фото: разработчики языка Cobol у шуточного обелиска, присланного в их адрес в качестве намека на безнадежно медленную работу, способную похоронить саму идею. Справа внизу – Грейс Хоппер

Основные свойства языка Cobol: независимость программ от оборудования; независимость программ от данных; сложные структуры данных; синтаксис, приближенный к естественному английскому языку. Языки и системы программирования Cobol – язык для бухгалтеров

Программа на Коболе (начало) 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 – язык для бухгалтеров

Программа на Коболе (окончание) 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 – язык для бухгалтеров

Языки и системы программирования Algol и его влияние на языки программирования ALGOL = ALGOritmic Language В 1958 году в Цюрихе (Швейцария) состоялась международная конференция, предложившая проект нового универсального международного языка программирования Algol-58. В 1960 году на парижской конференции была принята окончательная версия под названием Algol-60. На снимке: участники парижской конференции голосуют за Алгол-60.

Основные свойства языка Algol-60: машинная независимость; формальный синтаксис; описание переменных и блочная структура; рекурсия Нормальная форма Бэкуса-Наура (БНФ) ::= 1|2|3|4|5|6|7|8|9|0 ::= | Языки и системы программирования Algol и его влияние на языки программирования

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 и его влияние на языки программирования

В результате многолетней переработки Алгола-60 комитетом IFIP появился язык Алгол-68 (пересмотренное сообщение под ред. А. ван Вейнгаардена (A. van Wijngaarden) и др. опубликовано в 1975 г.) Языки и системы программирования Algol и его влияние на языки программирования

Языки и системы программирования Pascal и его потомки Член комитета по Алголу-68 Никлаус Вирт (Wirth, Niklaus; р. 1934) был против принятия переусложненного стандарта. В знак доказательства своей правоты он разработал в 1971 г. простой и ясный алголоподобный язык, предназначенный прежде всего для обучения студентов в Федеральном техническом университете в Швейцарии. В честь изобретателя первой вычислительной машины Вирт назвал язык Паскалем.

Программа на Паскале, вычисляющая среднее арифметическое 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 и его потомки

Новую жизнь языку Pascal дал Филипп Кан (Kahn, Philippe; р. 1938) – создатель компилятора Turbo Pascal для IBM PC и основатель компании Borland (1984 г.) Языки и системы программирования Pascal и его потомки

Среда разработки Delphi фирмы Borland объединила передовые достижения технологии программирования: объектное расширение языка Pascal, визуально- событийное проектирование, модульное структурирование и раздельная компиляция. Языки и системы программирования Pascal и его потомки В отличие от учебного Паскаля, язык программирования Modula-2, предложенные Никлаусом Виртом, изначально предназначался для профессионального применения

В 1975 году Министерство обороны США приняло решение разработать стандартный язык для программирования сложных и ответственных военных приложений. Был объявлен широкий международный конкурс, в котором приняли участие 15 групп разработчиков. В результате нескольких туров в мае 1979 года выявился победитель французская фирма C.I.I., руководитель проекта Жан Ихбиа (Ichbiah, Jean). Снимок сделан на II конференции по истории языков программирования, 1993 г. Языки и системы программирования Pascal и его потомки

Языки и системы программирования Суперязык 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

Языки и системы программирования Simula и Smalltalk – революция в программировании Simula = SIMULAlation За разработку языка Simula Кристен Нигорд (Nygaard, Kristen; ), на снимке слева, и Оле-Йохан Дал (Dahl, Ole-Johan; ) были удостоены высшей награды компьютерного сообщества – медали Тьюринга

|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 – революция в программировании

Языки и системы программирования С – язык для профессионалов Язык Си (С) был создан Деннисом Ричи (Ritchie, Dennis M.; р. 1941) в 1973 году в Bell Labs в ходе разработки операционной системы UNIX. Он развивал язык Би (B), который основывался на созданном в Кембриджском университете языке BCPL (от Basic Combined Programming Language), который в свою очередь был потомком Алгола-60

Текст на языке С отличается лаконичностью float A[5]; for(int i=0;i

Бьярн Страуструп (Stroustrup, Bjarne; р. 1950) ввел в язык С объекты и превратил его в С++ Языки и системы программирования С – язык для профессионалов

Языки и системы программирования Java – дитя интернета В 1995 г. фирма Sun Microsystems представила язык Java для программирования в интернете. Он возник в ходе реализации проекта Oak («Дуб»), целью которого было создание системы программирования бытовых микропроцессорных устройств. Джеймс Гослинг (Gosling, James) – автор Java.

Java - технология Языки и системы программирования Java – дитя интернета Языки и системы программирования Java – дитя интернета

class test { int i, n; float s; float x[n]; public static void main( String args[] ) { n = 10; s = 0; for( i=1; i

Lisp = LISt Processing Язык Lisp создан в 1960 году Джоном Маккарти (McCarthy, John; р ) в Массачусетском технологи- ческом институте на теоретическом фундаменте лямбда-исчисления, пред- ложенного еще в 1930 году известным американским логиком Алонзо Черчем. Языки и системы программирования Долгожитель Lisp – инструмент функционального программирования Дж. Маккарти и А.П. Ершов Снимок 1975 г.

Программа на Lisp имеет специфический вид из-за обилия скобок. За это студенты прозвали его «Lots of Infuriating & Silly Parenthesis» - «Множество раздражающих и глупых скобок» (setq L `( )) (defun sum (L) (cond ((null L) '0) (t (add (car L) (sum (cdr L)))) ) (div (sum L) '5) Примитивы : cond условная функция, проверяющая с помощью функции null пустоту списка; add суммирование аргументов; car извлечение первого элемента из списка; cdr извлечение остатка списка (без первого элемента). Языки и системы программирования Долгожитель Lisp – инструмент функционального программирования

Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения Prolog = PROgramming for LOGic Теоретические основы языка были разработаны Робертом Ковальским (Kowalski, Robert) в Эдинбургском университете (Шотландия) в конце 1960-х годов Первая практическая реализация языка осуществлена Аленом Кольмари (Colmerauer, Alain ) в Марсельском университете (Франция) в 1972 г.

Факты: муж (петя), муж (ваня), муж (коля), жен (таня), жен (маша), мать (ваня, таня), отец (ваня, петя), отец (маша, ваня), отец (коля, ваня). Правила вывода: родитель (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 поколения

Проект ЭВМ V поколения – японский вызов мировой компьютерной индустрии, брошенный в начале 1980-х годов Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения

Концептуальные отличия ЭВМ V поколения: новая технология производства микросхем, знаменующая переход от кремния к арсениду галлия, и дающая возможность на порядок повысить быстродействие основных логических элементов; новая архитектура (не фон-неймановская); новые способы ввода-вывода информации распознавание и синтез речи и образов; отказ от традиционных алгоритмических языков программирования (Фортран, Алгол и т. п.) в пользу декларативных; ориентация на задачи искусственного интеллекта с автоматическим поиском решения на основе логического вывода. Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения

Структура ЭВМ V поколения Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения

В качестве основного языка ЭВМ V поколения предполагалось использовать Prolog Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения

Языки и системы программирования Logo – язык для самых маленьких Язык Logo, изобретен в 1967 г. в MIT выдающимся математиком и педагогом Сеймуром Пейпертом (Papert, Seymour; р. 1928). Пейперт в годах работал в Женеве у знаменитого психолога Жана Пиаже (Piaget, Jean), где занимался детьми и природой их мышления. Идейной основой Logo является язык Lisp На фото: Сеймур Пейперт получает степень почетного доктора Софийского университета (1999 г.)

Программа на Logo управляет черепашкой, оставляющей видимый след. С помощью зрительных образов интерпретируются все базовые структуры программирования Процедура с параметром это дуга :шаг :число_шагов повтори :число_шагов [вперед :шаг направо 10] Конец это спираль :шаг если :шаг < 1 [стоп] дуга :шаг 18 спираль :шаг / 2 конец Цикл Рекурсия Языки и системы программирования Logo – язык для самых маленьких

Концепция Logo учитывает детскую психологию и рассчитана на обучение школьников, начиная с младших классов Новейшие реализации Logo используют принципы объектно- ориентированного программирования. В программе Юли Гладких, 9 лет, черепашка в форме лебедя плавает по озеру. На снимке: группа юных программистов на факультете информатики Томского государственного университета. Занятие ведет доцент Т.Н. Поддубная (2002 г.) Языки и системы программирования Logo – язык для самых маленьких

Языки и системы программирования Уроки истории Основные парадигмы программирования: процедурное программирование (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).