https://studio.code.org/courses - студія Code.org
Всю історію комп'ютерної індустрії і комп'ютерних наук з
певної точки зору можна уявити як історію розвитку мов програмування.
Змінюються часи, ускладняється завдання, те, що раніше вимагало людино-років,
нині ентузіасти роблять на коліні за кілька тижнів; накопичена величезна маса
типових рішень, типових бібліотек та типових програмістів. А створення,
розвиток і зміна мов програмування йде повним ходом.
Об'єкт дослідження теми - це мови програмування, які в різний
час і в різних умовах пропонувалися і пропонуються як альтернатива звичному і
загальноприйнятому; їх доля, властивості і шанси.
Зараз я запропоную Вам коротку історію мов програмування:
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 самим
інноваційним мовою.
Самостійна пошуково-дослідна робота
для збагачення словникового запасу юного програміста;
Самостійна пошуково-дослідна робота
для збагачення словникового запасу юного програміста;
- Мови
програмування
- Компілятори
- Компілятор програми
- Інтерпретатор програми
- Бібліотеки
програм
- Вільні
засоби розробки програм
- Засоби
розробки Microsoft
- Мови
розмітки даних
·
Алгоритми
та структури даних;
- Процедурне
програмування
- Об'єктно-орієнтоване
програмування
- Функціональне
програмування
- Імперативне
програмування
- Декларативне
програмування
- Прототипне
програмування
- Аспектно-орієнтоване
програмування
- Предметно-орієнтоване
програмування
- Функціонально-орієнтоване
програмування
- Структурне
програмування
- Модульне
програмування
- Збірне
програмування
- Програмування з абстрактними типами даних
- Схемне
програмування
- Логічне
програмування
- Паралельне
програмування
- Компонентне
програмування
- Агентно-орієнтоване
програмування
- Алгебраїчне
програмування
·
системне програмування,
·
паралельне програмування,
·
програмування на платформі .NET,
·
web-програмування
Немає коментарів:
Дописати коментар