Краткая, неполная и в основном неправильная история языков программирования
1801
Жозеф Мари Жаккар использует перфокарты, чтобы заставить ткацкий станок выткать «hello, world» на гобелене. Но реддитеры того времени не были этим впечатлены из-за отсутствия хвостовой рекурсии, параллелизма и правильного применения заглавных букв.
1842
Ада Лавлейс пишет первую программу. Но её стараниям мешает небольшая проблема — у неё нет реального компьютера, чтобы запустить код. Позже архитекторы корпоративных приложений переймут её методы для того, чтобы программировать на UML.
1936
Алан Тьюринг изобретает все языки программирования, которые когда-либо будут существовать, но был похищен британской разведкой и назначен агентом 007 до того, как смог запатентовать их.
1936
Алонзо Черч также изобретает все языки программирования, которые когда-либо будут существовать, но делает это лучше. Его лямбда-исчисление игнорируется, так как оно недостаточно похоже на C. Эта критика имеет место, даже не смотря на то, что C еще не изобретён.
1940-е
Различные «компьютеры» «программируются» с помощью перемычек и тумблеров. Инженеры делают это, чтобы избежать споров «табуляция или пробелы».
1957
Джон Бэкус и IBM создают Фортран. И нет ничего смешного ни в IBM, ни в Фортране. Если писать на Фортране, предварительно не надев синий галстук, это будет считаться синтаксической ошибкой.
1958
Джон Маккарти и Пол Грэм изобретают LISP. Из-за высокой стоимости, вызванной послевоенным истощением стратегических запасов круглых скобок, LISP никогда не станет популярным (к счастью поставки фигурных и угловых скобок остаются высокими). Несмотря на отсутствие популярности, LISP (сейчас более известен, как «Lisp», или иногда «Arc») остается важным языком в «ключевых алгоритмических технологиях, таких как рекурсия и снисхождение».
1959
Проиграв пари Рону Хаббарду, Грейс Хоппер с несколькими садистами изобретает Приведение шаблонно-ориентированного языка к верхнему регистру (Capitalization Of Boilerplate Oriented Language) (COBOL). Годы спустя, из-за неправильных и сексистских попыток отплатить адмиралу Хоппер за работу над Коболом конференции Ruby часто отличаются женоненавистническими материалами.
1964
Джон Кемени и Томас Курц создают BASIC, неструктурированный язык программирования для непрограммистов.
1965
Кемени и Курц идут на 1964.
1970
Гай Стил и Джералд Суссман создают Scheme. Их работа приводит к серии документов «Лямбда всесильна», кульминацией которой стал документ «Лямбда — всемогущая кухонная посуда». Этот документ станет основой для продолжительной, но, в конечном счете, неудачной серии ночных рекламных роликов. Лямбды пребывали в относительной безызвестности, до тех пор, пока Java не сделала их популярными, не включив их в себя.
1970
Никлаус Вирт создает процедурный язык Pascal. Критики немедленно накидываются на Паскаль за использование синтаксиса «x := x + y» вместо более известного C-подобного «x = x + y». И это происходит даже несмотря на тот факт, что C еще не изобретен.
1972
Деннис Ритчи изобретает мощный пистолет, который стреляет одновременно и вперед, и назад. Не удовлетворенный количеством смертей и увечий, приносимых этим изобретением, он придумывает C и Unix.
1972
Алан Колмерауер разрабатывает логический язык Prolog. Цель ученого — создать язык с интеллектом двухлетнего ребенка. Он доказывает, что достиг своей цели, продемонстрировав программу на Прологе, отвечающую «Нет» на любой вопрос.
1973
Робин Милнер создает ML, язык, основанный на теории типов M&M. ML порождает SML, обладающего формально описанной семантикой. Когда Милнера спрашивают, для чего нужна формальная семантика формальной семантики, его голова взрывается. В семейство ML входят такие известные языки, как OCaml, F# и Visual Basic.
1980
Алан Кэй создает Smalltalk и придумывает термин «объектно-ориентированный». На вопрос, что это значит, он отвечает: «Программы на Smalltalk — это просто объекты». На вопрос, из чего состоят объекты, он отвечает: «Из объектов». На вопрос, из чего же состоят эти объекты, он отвечает: «Смотрите, всё состоит из объектов, а те объекты в свою очередь тоже состоят из объектов, и так далее пока не достигнете четырех слонов, стоящих на черепахе».
1983
В честь умения Ады Лавлейс писать программы, которые никогда не запускались, Жан Ишбиа и министерство обороны США создают язык программирования Ada. Несмотря на отсутствие доказательств того, что на нём была написана хоть одна серьезная программа, историки считают Аду успешным публичным проектом, который удерживает несколько тысяч скитающихся сотрудников Минобороны от вступления в преступные банды.
1983
Бьёрн Страуструп вкручивает в C всё, о чём когда-либо слышал, чтобы создать C++. В результате язык получился настолько сложным, что для того, чтобы откомпилировать программу на нём, её необходимо отправить в будущее искусственному интеллекту Skynet. Время компиляции страдает. Мотивы Skynet для выполнения подобных услуг остаются неясными, но представители будущего говорят: «Здесь не о чем беспокоиться, детка», монотонно и с австрийским акцентом. Существует теория, что Skynet — это не более, чем высокомерное переполнение буфера.
1986
Брэд Кокс и Том Лав создают Objective-C, заявив «этот язык обладает всей безопасностью работы с памятью от C в сочетании со всей молниеносной скоростью Smalltalk». Современные историки подозревают, что у этих двоих была дислексия.
1987
Ларри Уолл засыпает и попадает лбом на клавиатуру. Проснувшись, он решает, что символы на экране вовсе не случайны, а представляют собой программу, написанную на языке программирования, который Бог повелевает создать своему пророку, Ларри Уоллу. Так появляется Perl.
1990
Комитет, сформированный Саймоном Пейтон-Джонсом, Полем Худаком, Филипом Водлером, Эштоном Кутчером и обществом по защите прав животных PETA создает чистый, нестрогий, функциональный язык программирования Haskell. Хаскелл встречает некоторое сопротивление из-за сложности использования монад для контроля побочных эффектов. Водлер пытается успокоить критиков, объясняя: «Монада — это просто моноид в категории эндофункторов. Что тут сложного?».
1991
Голандский программист Гвидо ван Россум отправляется в Аргентину ради таинственной операции. Он возвращается с большим шрамом на голове, изобретает Phyton, провозглашается легионами последователей Пожизненным Диктатором, и объявляет всему миру: «ЕСТЬ ТОЛЬКО ОДИН СПОСОБ СДЕЛАТЬ ЭТО». Польша начинает нервничать.
1995
В итальянском ресторане недалеко от дома Расмус Лердорф вдруг понимает, что его тарелка со спагетти является отличной моделью всемирной паутины, и что веб-приложения должны действовать подобным же образом. На обратной стороне салфетки он разрабатывает Программируемую Гиперсвязанную Пасту (Programmable Hyperlinked Pasta) (PHP). Документация PHP и по сей день остается на той салфетке.
1995
Юкихиро Мацумото по прозвищу Безумный Матц создает Ruby, чтобы предотвратить какой-то таинственный апокалипсис, который превратит Австралию в пустыню, захваченную воинами-ирокезами и Тиной Тёрнер. Позже язык будет переименован его настоящим создателем, Дэвидом Хейнемейер Ханссоном, в Ruby on Rails. (Немного об изобретении Мацумото, языка, называемого Ruby, никогда не существовало, и было бы лучше удалить его из следующей версии этой статьи — DHH).
1995
Брендан Айк изучает все ошибки, допускаемые при разработке языков программирования, придумывает несколько новых и создает LiveScript. Позже, в попытке нажиться на популярности Java, язык переименовывается в JavaScript. Еще позднее, в попытке нажиться на популярности кожных заболеваний, язык переименовывается в ECMAScript.
1996
Джеймс Гослинг изобретает Java. Java — это относительно многословный, статически типизированный, основанный на классах, объектно-ориентированный язык со сборкой мусора, одиночной диспетчеризацией вызовов, одиночным наследованием реализации и множественным наследованием интерфейсов. Sun громко провозглашает об инновационности Java.
2001
Андерс Хейлсберг изобретает C#. C# — это относительно многословный, статически типизированный, основанный на классах, объектно-ориентированный язык со сборкой мусора, одиночной диспетчеризацией вызовов, одиночным наследованием реализации и множественным наследованием интерфейсов. Microsoft громко провозглашает об инновационности C#.
2003
Пьяный Мартин Одерски видит рекламу печенья Reese’s Peanut Butter Cup, где арахисовое масло попадает на шоколад, и у него появляется идея. Он создает Scala — язык, который объединяет в себе конструкции и объектно-ориентированных, и функциональных языков. Это вызывает отвращение у сторонников обоих подходов, и они немедленно объявляют ему джихад.
Оригинал: http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html
Заимствовано с: http://radioprog.ru/?p=118