Разделы презентаций


Известные люди в области программирования

Содержание

Алан Тьюринг (1912 – 1954)

Слайды и текст этой презентации

Слайд 1Известные люди в области программирования
Алан Тьюринг
Джон Фон Нейман
Эдсгер Вайб Дейкстра
Дональд

Эрвин Кнут
ЯП и их создатели
Грейс Хоппер

Известные люди в области программированияАлан ТьюрингДжон Фон НейманЭдсгер Вайб ДейкстраДональд Эрвин КнутЯП и их создателиГрейс Хоппер

Слайд 2Алан Тьюринг (1912 – 1954)

Алан Тьюринг (1912 – 1954)

Слайд 3Основные результаты
Тезис Чёрча-Тьюринга
Машина Тьюринга
Криптография
Тест Тьюринга
Колоссус

Основные результатыТезис Чёрча-ТьюрингаМашина ТьюрингаКриптографияТест ТьюрингаКолоссус

Слайд 4Тезис Чёрча-Тьюринга
Любая функция, которая может быть вычислена физическим устройством, может

быть вычислена машиной Тьюринга

Тезис Чёрча-ТьюрингаЛюбая функция, которая может быть вычислена физическим устройством, может быть вычислена машиной Тьюринга

Слайд 5Машина Тьюринга (1)

Машина Тьюринга (1)

Слайд 6Криптография
Тьюринг помогал взломать код Энигмы
Построен первый программируемый компьютер Колоссус
Базировался:
на его

концепции универсальной машины 1936
потенциальной скорости и надёжности электронных технологий
неэффективность разностных

машин для различных логических процессов
Шифр-код был расшифрован в 1943
Все компьютеры были разрушены по приказу Черчилля
КриптографияТьюринг помогал взломать код ЭнигмыПостроен первый программируемый компьютер КолоссусБазировался:на его концепции универсальной машины 1936потенциальной скорости и надёжности

Слайд 7Под руководством выдающегося математика Алана Тьюринга была построена специализированная электронная

вычислительная машина Colossus. Она насчитывала 2000 радиоламп и обрабатывала 25000

симв/с

Collosus

Под руководством выдающегося математика Алана Тьюринга была построена специализированная электронная вычислительная машина Colossus. Она насчитывала 2000 радиоламп

Слайд 8В Bletchley Park под Лондоном была организована сверхсекретная криптоаналитическая лаборатория

для расшифровки немецких военных шифров, используемых в шифровальной машине Enigma
Enigma

В Bletchley Park под Лондоном была организована сверхсекретная криптоаналитическая лаборатория для расшифровки немецких военных шифров, используемых в

Слайд 9Тест Тьюринга
Опубликован в 1950 году
Человек обменивается сообщениями на естественном языке

с двумя собеседниками (человек и компьютер)
Если человек не может определить

кто есть кто, то считается что компьютер прошёл тест
Переписка должна производиться через контролируемые промежутки времнени
Тьюринг оценил что программы в 2000 году пройдут тест
Пока не подошли даже близко


Тест ТьюрингаОпубликован в 1950 годуЧеловек обменивается сообщениями на естественном языке с двумя собеседниками (человек и компьютер)Если человек

Слайд 10Другие важные результаты
Проблема самоприменимости МТ
Универсальная МТ
Основатель направления ИИ

Другие важные результатыПроблема самоприменимости МТУниверсальная МТОснователь направления ИИ

Слайд 11Первая работающая ЭВМ ENIAC (Electronic Numerical Integrator And Calculator) была

создана в 1945 г. в Пенсильванском университете. Длина 26 м,

высота 6 м, масса 30 т. 18 000 ламп, 1500 реле, потребляемая мощность 150 квт.

Первая ЭВМ ENIAC

Первая работающая ЭВМ ENIAC (Electronic Numerical Integrator And Calculator) была создана в 1945 г. в Пенсильванском университете.

Слайд 12ЭВМ ENIAC. Вид сзади
Первая ЭВМ ENIAC

ЭВМ ENIAC. Вид сзадиПервая ЭВМ ENIAC

Слайд 13Понятие «архитектура ЭВМ» связано с именем выдающегося математика XX столетия

Джона фон Неймана (Neumann, John von; 1903-1957)
Проект фон Неймана

и его вклад в архитектуру ЭВМ
Понятие «архитектура ЭВМ» связано с именем выдающегося математика XX столетия Джона фон Неймана (Neumann, John von; 1903-1957)

Слайд 14Проект фон Неймана и его вклад в архитектуру ЭВМ
Фрагменты статьи

фон Неймана (рус. перевод)

Проект фон Неймана  и его вклад в архитектуру ЭВМФрагменты статьи фон Неймана (рус. перевод)

Слайд 15Проект фон Неймана и его вклад в архитектуру ЭВМ
Основные черты

классической фон-неймановской архитектуры ЭВМ
Машина должна состоять из следующих основных

блоков: арифметического устройства, оперативной памяти, устройства управления, устройства ввода, устройства вывода, устройства внешней памяти;
Проект фон Неймана  и его вклад в архитектуру ЭВМОсновные черты классической фон-неймановской архитектуры ЭВМ Машина должна

Слайд 16Проект фон Неймана и его вклад в архитектуру ЭВМ
2. Команды

программы должны храниться в оперативной памяти, откуда они последовательно выбираются

и исполняются арифметическим устройством, система команд должна иметь операции условной и безусловной передачи управления. Команды должны рассматриваться как обычные данные, т.е. программа должна иметь возможность модифицировать себя в процессе вычислений;
3. Команды и данные должны храниться и обрабатываться в двоичной системе счисления.
Проект фон Неймана  и его вклад в архитектуру ЭВМ2. Команды программы должны храниться в оперативной памяти,

Слайд 17Морис Уилкс у машины EDSAC. 3000 ламп, ОЗУ 512 слов
Проект

фон Неймана и его вклад в архитектуру ЭВМ
Из-за разногласий в

команде разработчиков реализация проекта фон Неймана в США затянулась.
Первая ЭВМ с хранимой программой EDSAC (Electronic Delay Storage Automatic Calculator) была построена в Англии в 1949 г. под руководством Мориса Уилкса (Wilkes, Maurice; р. 1913). Английские ученые опирались на собственный опыт разработки электронных вычислительных устройств во время Второй мировой войны.
Морис Уилкс у машины EDSAC. 3000 ламп, ОЗУ 512 словПроект фон Неймана  и его вклад в

Слайд 18Другие значимые достижения
Квантовая физика
Функциональный анализ
Теория множеств
Создатель теории игр
Создатель теории клеточных

автоматов

Другие значимые достиженияКвантовая физикаФункциональный анализТеория множествСоздатель теории игрСоздатель теории клеточных автоматов

Слайд 19Эдсгер Вайб Дейкстра (1930 – 2002)

Эдсгер Вайб Дейкстра (1930 – 2002)

Слайд 20Основные результаты
Математическая логика
Algol-60
Концепция семафоров
Алгоритм Дейкстра
Борьба с оператором GOTO

Основные результатыМатематическая логикаAlgol-60Концепция семафоровАлгоритм ДейкстраБорьба с оператором GOTO

Слайд 21Алгоритм Дейкстры (1)

Алгоритм Дейкстры (1)

Слайд 22Алгоритм Дейкстры (2)

Алгоритм Дейкстры (2)

Слайд 23Алгоритм Дейкстры (3)

Алгоритм Дейкстры (3)

Слайд 24Алгоритм Дейкстры (4)

Алгоритм Дейкстры (4)

Слайд 25Алгоритм Дейкстры (5)

Алгоритм Дейкстры (5)

Слайд 26Афоризмы, автор Дейкстер
Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему

программированию. Как потенциальные программисты они подверглись необратимой умственной деградации.
Вопрос «умеет

ли компьютер думать» имеет не больше смысла, чем вопрос «умеет ли подводная лодка плавать».
Проекты, предлагающие программирование на естественном языке, гибельны по своей сути.
Дейкстра назвал модель IBM/360 (прообраз советской ЕС ЭВМ) — величайшей диверсией Запада против СССР.
На пустом диске можно искать вечно.
Если отладка — процесс удаления ошибок, то программирование должно быть процессом их внесения.
Афоризмы, автор ДейкстерСтудентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой

Слайд 27Классификация и эволюция программного обеспечения
Эволюция программного обеспечения. Подобно тому, как

в океане из плавающей мути откладываются геологические пласты, из специального

программного обеспечения с течением времени образуются слои общего ПО
Классификация и эволюция программного обеспеченияЭволюция программного обеспечения. Подобно тому, как в океане из плавающей мути откладываются геологические

Слайд 28Языки и системы программирования Предыстория
Первая попытка создать высоко-уровневый язык программирования

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


«Plancalcul родился исключительно как результат теоретической работы, без всякой связи с тем, появится или нет в обозримом будущем машины, подходящие к программам на Plancalcul».

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

Слайд 29Михаил Романович Шура-Бура и А.П. Ершов – создатели первых отечественных

систем автоматизации программирования для ЭВМ «БЭСМ» и «Стрела» (1954-1956 годы)
Языки

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

Слайд 30Языки и системы программирования
Наиболее активный период разработки языков и систем

программирования приходится на 1960-е годы. За это десятилетие в мире

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

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

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

Слайд 32Языки и системы программирования Бессмертный Fortran
Fortran = FORmula TRANslator
Первый высокоуровневый

язык программирования Fortran был разработан в фирме IBM под руководством

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

Слайд 33Фрагмент программы на языке Fortran
C MAIN PROGRAM
101 FORMAT(208)
102 FORMAT(//’N=’,15, 5X, ’R=’, 15
1//6X,

’M’, 5X, PROB)
103 FORMAT(18, F14.10)
201 READ(1,101) N, IR
WRITE(3,102) N, IR
IF(N) 202,

202, 203
202 STOP
203 IF(IR) 202, 202, 204
204 M=O
P=COMBF(N,M)*COMBF(IR-1,N-M-1)
1/COMBF(N+IR-1,IR) ...

Языки и системы программирования Бессмертный Fortran

Фрагмент программы на языке Fortran C		MAIN PROGRAM	101	FORMAT(208)	102	FORMAT(//’N=’,15, 5X, ’R=’, 15			1//6X, ’M’, 5X, PROB)	103 	FORMAT(18, F14.10)	201	READ(1,101) N, IR		WRITE(3,102)

Слайд 34Языки и системы программирования Basic – язык для начинающих
BASIC = Beginners

All-purpuse Symbolic Instruction Code
Basic был разработан в 1964 г. в

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

Слайд 35Языки и системы программирования Basic – язык для начинающих
Авторы языка Basic.

Стоит Джон Кемени (Kemeny, John G.; 1926-1993), сидит Томас Курц

(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 140
60 if A(i)<=A(i+1) then goto 90
70 i=i+1
80 goto 130
90 z=A(i)
100 A(i)=A(i+1)
110 A(i+1)=z
120 i=1
130 goto 50
140 for i=1 to 5
150 print A(i)
160 next i

Простейшая программа на языке Basic

Языки и системы программирования Basic – язык для начинающихАвторы языка Basic.  Стоит Джон Кемени  (Kemeny,

Слайд 36 Будущие создатели Microsoft Пол Аллен (Allen, Paul; р. 1954)

и Билл Гейтс (Gates, William; р. 1955) познакомились с Бэйсиком,

работая в компьютерном классе школы в Сиэтле (снимок 1968 г.)

Языки и системы программирования Basic – язык для начинающих

Будущие создатели Microsoft Пол Аллен (Allen, Paul; р. 1954) и Билл Гейтс (Gates, William; р. 1955)

Слайд 37Начав с Бэйсика, компания Microsoft превратилась в крупнейшую софтверную империю,

а Билл Гейтс –стал самым богатым человеком на планете
Языки и

системы программирования Basic – язык для начинающих

Штаб - квартира корпорации Microsoft в Редмонде (пригород Сиэтла)

Начав с Бэйсика, компания Microsoft превратилась в крупнейшую софтверную империю, а Билл Гейтс –стал самым богатым человеком

Слайд 38

Языки и системы программирования Cobol – язык для бухгалтеров
COBOL =

COmmon Business-Oriented Language
На фото: разработчики языка Cobol у шуточного обелиска,

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

Слайд 39Основные свойства языка Cobol:
независимость программ от оборудования;
независимость программ

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

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

Слайд 40 Программа на Коболе (начало)
1010 IDENTIFICATION DIVISION.
1020 PROGRAM-ID “EXAMPLE”.
1030 ENVIROMENT DIVISION.
1040

INPUT-OUTPUT SECTION.
1050 FILE-CONTROL.
1060 SELECT CD ASSIGN TO “SYS010” UNIT-RECORD

2540R.
1070 SELECT TT ASSIGN TO “SYS009” UTILITY 2400.
1080 DATA DIVISION.
1090 FILE SECTION.
1100 FD CD DATA RECORD IS C
1110 LABEL RECORDS ARE OMITTED.
1120 01 C.
1130 02 C1 PICTURE 9(4).
1140 02 C2 PICTURE 9.
1150 02 C3 PICTURE X(70).
...

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

Программа на Коболе (начало)1010 IDENTIFICATION DIVISION.1020 PROGRAM-ID “EXAMPLE”.1030 ENVIROMENT DIVISION.1040 INPUT-OUTPUT SECTION.1050 FILE-CONTROL.1060  SELECT CD

Слайд 41 Программа на Коболе (окончание)
1290 PROCEDURE DIVISION.
1300 P1. OPEN INPUT CD,

OUTPUT TT.
1310 P2. READ CD, AT END GO TO P3.
1320 MOVE C1

TO D1.
1330 MONE C2 TO D2.
1340 MOVE C3 TO D3.
1350 ADD C1, C2, GIVING D4.
1360 WRITE T FROM D.
1370 GO TO P2.
1380 P3. CLOSE SD, TT.
1390 STOP RUN.

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

Программа на Коболе (окончание)1290 PROCEDURE DIVISION.1300 P1.	OPEN INPUT CD, OUTPUT TT.1310 P2.	READ CD, AT END GO

Слайд 42Языки и системы программирования Algol и его влияние на языки программирования
ALGOL

= ALGOritmic Language
В 1958 году в Цюрихе (Швейцария) состоялась международная

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

Слайд 43 Основные свойства языка Algol-60:
машинная независимость;
формальный синтаксис;
описание

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

знака>::= <цифра>| <цифра> <целое без знака>

Языки и системы программирования Algol и его влияние на языки программирования

Основные свойства языка Algol-60: машинная независимость; формальный синтаксис; описание переменных и блочная структура; рекурсияНормальная форма Бэкуса-Наура

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

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];

Слайд 45В результате многолетней переработки Алгола-60 комитетом IFIP появился язык Алгол-68

(пересмотренное сообщение под ред. А. ван Вейнгаардена (A. van Wijngaarden)

и др. опубликовано в 1975)

Языки и системы программирования Algol и его влияние на языки программирования

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

Слайд 46Языки и системы программирования Pascal и его потомки
Член комитета по Алголу-68

Никлаус Вирт (Wirth, Niklaus; р. 1934) был против принятия переусложненного

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

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

Программа на Паскале, вычисляющая среднее арифметическое n чиселvar 	i, n: integer; 	s: float;	x: array[1..n] of real;begin	s:=0;	for i:=1

Слайд 48Новую жизнь Pascal дал Филипп Кан (Kahn, Philippe; р. 1938)

– создатель компилятора Turbo Pascal для IBM PC и основатель

компании Borland (1984)

Языки и системы программирования Pascal и его потомки

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

Слайд 49Среда разработки Delphi фирмы Borland объединила передовые достижения технологии программирования:

объектное расширение языка Pascal, визуально- событийное проектирование, модульное структурирование и

раздельная компиляция.

Языки и системы программирования Pascal и его потомки

В отличие от учебного Паскаля, язык программирования Modula-2, предложенные Никлаусом Виртом, изначально предназначался для профессионального применения

Среда разработки Delphi фирмы Borland объединила передовые достижения технологии программирования: объектное расширение языка Pascal, визуально- событийное проектирование,

Слайд 50Языки и системы программирования Суперязык 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<0 THEN DO;
X1, X2 = E;
Y1 = SQRT(—D)/(A+A);
END;
ELSE DO;
R = SQRT(D)/(A+A);
… Y1 = 0;
END;
Y2 = —Y1;
PUT LIST (X1, Y1, X2, Y2);
GO TO P1;
ENDING:;
END EXAMPLE;

PL/1 = Programming Language One был частью амбициозного проекта IBM S/360, он создавался в спешке и представлял собой механическую смесь идей из многих языков. Критики сравнивали его с елкой со множеством украшений.

Языки и системы программирования Суперязык PL/1 EXAMPLE: PROCEDURE OPTIONS (MAIN);ON ENDFILE (SYSIN) GO TO ENDING;P1:	GET LIST (A,

Слайд 51Языки и системы программирования Simula и Smalltalk – революция в программировании
Simula

= SIMULAlation
За разрабртку языка Simula Кристен Нигорд (Nygaard, Kristen; 1926-2002),

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

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

|a|a := Array new: 5.1 to: 5 do: [:i | a at: i put: (Prompter prompt: ’Введите

Слайд 53Языки и системы программирования С – язык для профессионалов
Язык Си (С)

был создан Деннисом Ричи (Ritchie, Dennis M.; р. 1941) в

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

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

i=0;
while(i

A[i]=A[i+1];
A[i+1]:=z;
i=0;
}
};
for(i=0;i<5;i++)printf("%f\n",A[i]);

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

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

Слайд 55 Бьярн Страуструп (Stroustrup, Bjarne; р. 1950) ввел в язык

С объекты и превратил его в С++
Языки и системы программирования С

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

Слайд 56Языки и системы программирования Java – дитя интернета
В 1995 г. фирма

Sun Microsystems представила язык Java для программирования в интернете.
Он

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

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

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

Слайд 58class test
{
int i, n;
float s;
float x[n];

public static void main( String args[] )
{
n

= 10;
s = 0;
for( i=1; i<=n; i++)
{
s = s + x[i-1];
s = s / n;
}
}

Язык Java основан на С++

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

В качестве альтернативы Java корпорация Microsoft предложила язык С# (Си-шарп)

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

Слайд 59Lisp = LISt Processing
Язык Lisp создан в 1960 году Джоном

Маккарти (McCarthy, John; р. 1927 ) в Массачусетском технологи-ческом институте

на теоретическом фундаменте лямбда-исчисления, пред-ложенного еще в 1930 году известным американским логиком Алонзо Черчем.

Языки и системы программирования Долгожитель Lisp – инструмент функционального программирования

Дж. Маккарти и А.П. Ершов Снимок 1975 г.

Lisp = LISt ProcessingЯзык Lisp создан в 1960 году Джоном Маккарти (McCarthy, John; р. 1927 ) в

Слайд 60Программа на Lisp имеет специфический вид из-за обилия скобок. За

это студенты прозвали его «Lots of Infuriating & Silly Parenthesis»

- «Множество раздражающих и глупых скобок»

(setq L `(8 5 13 11 10))
(defun sum (L)
(cond ((null L) '0)
(t (add (car L) (sum (cdr L))))
)
)
(div (sum L) '5) Примитивы: cond — условная функция, проверяющая с помощью функции null пустоту списка;
add — суммирование аргументов;
car — извлечение первого элемента из списка;
cdr — извлечение остатка списка (без первого элемента).

Языки и системы программирования Долгожитель Lisp – инструмент функционального программирования

Программа на Lisp имеет специфический вид из-за обилия скобок. За это студенты прозвали его «Lots of Infuriating

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


Prolog = PROgramming for LOGic
Теоретические основы языка были разработаны Робертом

Ковальским (Kowalski, Robert) в Эдинбургском университете (Шотландия) в конце 1960-х годов

Первая практическая реализация языка осуществлена Аленом Кольмари (Colmerauer, Alain ) в Марсельском университете (Франция) в 1972 г.

Языки и системы программирования Prolog – несостоявшаяся мечта ЭВМ V поколения Prolog = PROgramming for LOGicТеоретические основы

Слайд 62Факты:
муж (петя), муж (ваня),
муж (коля), жен (таня), жен (маша),
мать (ваня,

таня), отец (ваня, петя),
отец (маша, ваня), отец (коля, ваня).
Правила вывода:
родитель

(X, Y) :— отец (X, Y)
родитель (X, Y) :— мать (X, Y)
дед (X, Y) :— родитель (X, Z), отец (Z, Y)
брат (X, Y) :— муж (Y), родитель (X, Z), родитель (Y, Z), X<>Y
Примеры диалога:
GOAL> дед (коля, X) Кто дед Коли?
X = Петя
GOAL> брат (маша, X) Кто брат Маши?
X = Коля

Описание предметной области семейных отношений на языке Prolog

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

Факты:муж (петя), муж (ваня),муж (коля), жен (таня), жен (маша),мать (ваня, таня), отец (ваня, петя),отец (маша, ваня), отец

Слайд 63Проект ЭВМ V поколения – японский вызов мировой компьютерной индустрии,

брошенный в начале 1980-х годов
Языки и системы программирования Prolog –

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

Слайд 64В качестве основного языка ЭВМ V поколения предполагалось использовать Prolog


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

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

Слайд 65Языки и системы программирования Рефал – русский Пролог
Рефал = PЕкурсивных Функций

АЛгоритмический
Теоретические основы языка были разработаны Валентином Турчиным в МФТИ в

конце 1966 году

Palindrom {
s.1 e.2 s.1 = ;
s.1 = True ;
= True;
e.1 = False ;
} // Проверка палиндромности числа

Языки и системы программирования Рефал – русский ПрологРефал = PЕкурсивных Функций АЛгоритмическийТеоретические основы языка были разработаны Валентином

Слайд 66РЕФАЛ
$ENTRY Go
{
=

s.2) = s.1;
s.1 (s.2 s.3) =

(s.3 )>;
s.1 = ;
} // Ввод N и вычисление числа Фибоначчи с номером N
РЕФАЛ$ENTRY Go{  =

Слайд 67Языки и системы программирования Logo – язык для самых маленьких
Язык Logo,

изобретен в 1967 г. в MIT математиком и педагогом Сеймуром

Пейпертом (Papert, Seymour; р. 1928).
Он в 1958-1963 годах работал в Женеве у знаменитого психолога Жана Пиаже (Piaget, Jean), где занимался детьми и природой их мышления.
Идейной основой Logo является язык Lisp

На фото: Сеймур Пейперт получает степень почетного доктора Софийского университета (1999 г.)

Языки и системы программирования Logo – язык для самых маленькихЯзык Logo, изобретен в 1967 г. в MIT

Слайд 68Программа на Logo управляет черепашкой, оставляющей видимый след. С помощью

зрительных образов интерпретируются все базовые структуры программирования
Процедура с параметром
это

дуга :шаг :число_шагов
повтори :число_шагов
[вперед :шаг направо 10]
Конец

это спираль :шаг
если :шаг < 1 [стоп]
дуга :шаг 18
спираль :шаг / 2
конец

Цикл

Рекурсия

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

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

Слайд 69Языки и системы программирования Уроки истории
Основные парадигмы программирования:
• процедурное программирование (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).
Языки и системы программирования Уроки историиОсновные парадигмы программирования:• процедурное программирование (Fortran, Basic,  Cobol, Algol, Pascal, Ada, С,

Слайд 70В 1996 г. в состав военно-морского флота США вошел ракетный

фрегат USS Hopper (DDG 70). Корабль был назван в память

вице-адмирала Грэйс Хоппер. Корабль получил свое имя не в честь прославленного морского волка, а в честь женщины. Программист Грэйс Хоппер была удостоена адмиральского звания, которое до нее имели всего несколько представительниц слабого пола. Ее называли Первой леди программирования, Великолепной Грэйс и бабушкой КОБОЛА. Правда, в полной форме вице-адмирала и, как говорят, с неизменной сигаретой «Лаки-Страйк» без фильтра она меньше всего была похожа на бабушку.
Г. Хоппер прожила долгую и на редкость необычную жизнь. Родилась она еще до появления компьютеров, это произошло в Нью-Йорке 9 декабря 1906 г. Вплоть до 1943 г. она вела обычную жизнь профессора математики, получив докторскую степень в Йельском университете. Она была замечательным преподавателем, и ей прочили большую педагогическую карьеру.

В 1996 г. в состав военно-морского флота США вошел ракетный фрегат USS Hopper (DDG 70). Корабль был

Слайд 71Для нее, как и для многих стоявших у истоков информационных

технологий, поворотным моментом стала Вторая мировая война. Разгром японцами военно-морской

базы Перл-Харбор вызвал подъем патриотизма у большинства американцев, он заставил 36-летнюю Грэйс вспомнить о том, что ее прадедушка Александр Рассел был вице-адмиралом. Она решила, что тоже должна служить во флоте. Первая попытка была неудачной, женщин тогда на военные корабли не брали. Когда же обнаружилась нехватка мужчин и женщин стали принимать во флот, Хоппер уже не подходила по возрасту и не имела необходимой физической подготовки. Но это ее не остановило.
В 1943 г. будущий адмирал поступила в офицерскую школу, а в 1944 г. закончила ее первой в своем выпуске. Появился младший лейтенант Грэйс Мюррэй Хоппер. Молодой офицер была направлена на службу в Бюро артиллерийских вычислительных проектов, находящееся в Гарвардском университете, для работы под началом Говарда Айкена, разработчика первых компьютеров семейства Mark.
Для нее, как и для многих стоявших у истоков информационных технологий, поворотным моментом стала Вторая мировая война.

Слайд 72Хоппер оказалась в числе первых программистов, использовавших компьютеры для военных

расчетов и первым программистом на флоте. В детстве Грэйс любила

механические игрушки и Mark I стал самой увлекательной игрушкой в ее жизни. В числе первых заданий: баллистические расчеты, составление артиллерийских таблиц для стрельбы. По результатам в 1946г. Хоппер опубликовала первую книгу по программированию «A Manual of Operations for the Automatic Sequence Controlled Calculator». Была освобождена от обязательных элементов морской службы и перешла в лабораторию при Вычислительном факультете Гарвардского университета, где работала над использованием компьютеров Mark II и Mark III в интересах ВМФ. В 1949 г. она перешла в корпорацию Eckert–Mauchly Computer Corporation, позднее известную как Sperry Rand, где принимала участие в создании первого коммерческого компьютера UNIVAC I. Этот компьютер был полностью построен на электронных лампах и был в двадцать раз производительнее, чем Mark III.



Хоппер оказалась в числе первых программистов, использовавших компьютеры для военных расчетов и первым программистом на флоте. В

Слайд 73Будущий адмирал была одной из первых, кто задумался над тем,

как упростить процесс программирования. Первые компьютеры программировались непосредственно в машинных

кодах. Это занятие требовало абсолютного знания архитектуры компьютера и было узкопрофес-сиональным. Как сделать компьютер доступным более широкому кругу ученых? В поисках ответа на этот вопрос она пришла к идее создания компиляторов, переводящих символическую запись в машинный код. В результате в 1952 г. появился компилятор A-0 Compiler. Грэйс была повышена в звании до старшего лейтенанта и начала работу над языком, предназначенным для коммерческих расчетов. В 1955 г. появился первый код, имевший 20 команд, близких к описанию бизнес-задач. Программа, называвшаяся FLOW-MATIC стала моделью для COBOL. В 1966г. Грэйс было присвоено звание капитана третьего ранга, но в связи с достижением возрастного предела в канун 1967г. она была демобилизована из флота.
Будущий адмирал была одной из первых, кто задумался над тем, как упростить процесс программирования. Первые компьютеры программировались

Слайд 74Однако не прошло и полугода, как флотское начальство раскаялось в

содеянном и снова пригласило ее на службу, указав: для Хоппер

не существует возрастных ограничений. Поставленная перед ней задача: создание на основе нескольких версий COBOL единого стандарта USA – Standard COBOL.
Звание капитана 1го ранга Г. Хоппер получила в 1973г., она заняла должность специального советника командующего флотом, которую сохранила за собой на все последующие годы службы. В 1985г. президентом Рональдом Рейганом Грэйс Хоппер было присвоено звание контр-адмирала. Она прослужила на флоте до 1986г., установив своего рода рекорд долголетия на службе, равный 43 годам. Но выйдя в отставку Хоппер не прекратила работу. Еще 6 лет, вплоть до своей кончины в 1992г., она трудилась в компании DEC.
За свою деятельность адмирал Грэйс Хоппер была удостоена множества почетных наград, среди которых, пожалуй, наиболее значительна Национальная медаль за развитие технологий, врученная президентом Джорджем Бушем в 1991г.
Однако не прошло и полугода, как флотское начальство раскаялось в содеянном и снова пригласило ее на службу,

Слайд 75На одной из крупнейших в США военно-морских баз в Сан-Диего

действует центр по обработке данных, носящий имя Хоппер. Открыт мемориальный

музей, хранящий память о ней и находится коллекция высказываний, принадлежащих ей.

Вот отрывки из ее обращений к молодежи:
«В порту корабль находится в безопасности, но он создан не для этого. Выходите в море и творите новое».
«Наша задача снабжать людей информацией. Наш инструмент – компьютер. Но только человек может трансформировать информацию в знание и интеллектуальный багаж. Не стоит забывать, что сам компьютер не в состоянии задать ни единого вопроса».

Контр-адмирал Грэйс Хоппер была похоронена на Арлингтонском кладбище со всеми военными почестями.

На одной из крупнейших в США военно-морских баз в Сан-Диего действует центр по обработке данных, носящий имя

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика