Краткая, неполная и по большей части неверная история языков программирования
Данная юмористическая заметка является переводом и адаптацией заметки James Iry. Не относитесь серьёзно к качеству перевода. Я дополнил заметку ссылками, для того, чтобы было проще подробнее ознакомиться с незнакомыми терминами и людьми. К сожалению некоторые фразы были опущены. Оригинал.
- 1801
- Жозеф Мари Жаккар использует перфокарты, чтобы заставить ткацкий станок ткать "Привет Мир" на гобеленах. ЛОРовцы того времени были не впечатлены отсутствием обратной хвостовой рекурсии и параллелизма.
- 1841
- Ада Лавлейс пишет первую программу. Она сталкивается с неудобствами, ведь у неё нет работающего компьютера, чтобы запустить код. Энтерпрайз архитекторы позже изучат её техники для программирования на UML.
- 1936
- Алан Тьюринг изобретает все языки программирования, которые когда-либо будут существовать, но до того как смог их запатентовать, он вскоре был завербован британской разведкой.
- 1936
- Алонзо Чёрч также изобретает все языки программирования, которые когда-либо будут существовать, но делает это лучше. Его лямбда-исчисление игнорируется, потому что оно недостаточно похоже на язык Си. Эта критика происходит, не смотря на тот факт, что язык Си ещё не изобретён.
- 1940-ые
- Различные "компьютеры" "программируются" при помощи возни с проводами и переключателями. Инженеры этим занимаются, чтобы не участвовать в сраче "табы против пробелов".
- 1957
- Джон Бэкус и IBM создают Fortran. Нет ничего веселого в IBM и Fortran. Это синтаксическая ошибка писать на фортране, не надев синий галстук.
- 1958
- Джон Маккарти и Пол Грэм изобретают LISP. Из-за больших расходов, вызванных последствиями послевоенного опустошения стратегического запаса скобок, LISP так и не становится популярным. Не смотря на отсутствие популярности, LISP (теперь "Lisp" или иногда "Arc") остаётся влияетельным языком в алгоритмических методах, таких как рекурсия.
- 1959
- После проигранного пари у Л. Роналда Хаббарда, Грейс Хоппер и несколько других садистов изобретают Капитализацию Огромного Бойлерплейт Ориентированного Языка (КОБОЛ. Под капитализацией имеют в виду заглавные буквы). Спустя года, в ошибочном и сексистком возмездии против работы товарища Хоппера, Ruby конференции часто представляют женоненавистнечесткий материал.
- 1964
- Джон Кемени и Томас Курц создают BASIC, неструктурный язык программирования для не-компьютезированных учёных.
- 1965
- Кемени и Курц возвращаются в 1964-й.
- 1970
- Гай Стил и Джеральд Сассман создают Scheme. Их работа ведёт к созданию серии научных работ "Lambda the Ultimate". Лямбды остаются весьма неизвестными, пока Java не делает их популярными, просто не имея их.
- 1970
- Никлаус Вирт создаёт Паскаль, процедурный язык. Критики моментально отвергают Паскаль за использование "x := x + y" синтаксиса вместо си-подобного "x = x + y". Эта критика происходит, не смотря на тот факт, что язык Си ещё не изобретён.
- 1972
- Деннис Ритчи изобретает мощный огнестрел, который стреляет вперёд и назад одновременно. Не удовлетворённый количеством смертей и неизлечимых травм от данного изобретения, он изобретает Си и Unix.
- 1972
- Ален Колмерауэр проектирует логический язык Prolog. Его целью было создать язык с интеллектом двухлетнего ребёнка. Он доказывает, что достиг своей цели, демонстрацией Prolog сессии, которая возвращает "Нет" на каждый запрос.
- 1980
- Алан Кей создаёт Smalltalk и изобретает термин "Объектно-ориентированный". Когда его спросили что же это значит, он ответил: "Программы Smalltalk – это просто объекты". Когда его спросили из чего состоят объекты, он ответил: "Из объектов". Когда его спросили снова: "Слушайте, это всё объекты от начала до конца. До тех пор пока не доберётесь до черепашек."
- 1983
- В честь возможности Ады Лавлейс создавать программы, которые никогда не будут запущены, Жан Ишбиа и департамент безопасности США создают язык программирования Ada. В связи с отсутствием доказательств того, что какая-либо значительная Ada программа хоть раз завершилась, историки верят, что Ada была успешной общественной инициативой, так как она спасает тысячи подрядчиков оборонных предприятий от вступления в преступные группировки.
- 1983
- Бьёрн Страуструп переносит всё о чём он когда-либо слышал на C, чтобы затем создать C++. Получившийся язык настолько сложен, что программы должны быть отправлены в будущее, чтобы их собрал ИИ Skynet. Страдает время сборки. Мотив Скайнета предоставлять услуги по сборки остаются неизвестны, но представители из будущего говорят "Здесь не о чём беспокоиться, детка." австрийским монотонным акцентом. Есть предположении, что Скайнет это результат переполнения буфера.
- 1986
- Брэд Кокс и Том Лав создают Objective C, анонсируя "Этот язык имеет всю безопасность доступа к памяти из C смешанный с невероятной скоростью Smalltalk". Современные историки подозревают, что оба страдали дислексией.
- 1987
- Ларри Уолл засыпает и бьётся лбом Ларри Уолла об клавиатуру. Проснувшись, Ларри Уолл решает, что строка на мониторе Ларри Уолла не состоит из случайных символов, а это пример программы на языке программирования, который Господь хочет своего пророка, Ларри Уолла, заставить спроектировать. Так был рождён Perl.
- 1990
- Комитет, созданный Саймоном Пейтон-Джонсом, Полом Хадаком, Филиппом Уодлером, а также людьми за этичное обращение с животными, создаёт Haskell, чистый, нестрогий, функциональный язык. Haskell испытывает некоторое непринятие из-за сложности использования монад для контроля побочных эффектов. Уодлер пытается угодить критикам объяснением, что монада – это моноид в категории эндорфункторов, в чём проблема?
- 1991
- Голландский программист Гвидо Ван Россум путешествует в Аргентину для проведения таинственной операции. Он возвращается с огромным шрамом на голове, изобретает Python, объявляется Великодушным Пожизненным Диктатором толпой последователей и объявляет миру "Есть только один способ сделать это". Поляки напряглись.
- 1995
- В Итальянском ресторане по соседству Расмус Лердорф осознаёт, что его тарелка спагетти – это отличная модель для представления Всемирной Паутины (WWW). На обратной стороне салфетки он проектирует Programmable Hyperlinked Pasta (PHP). Документация PHP все ещё хранится на той салфетке.
- 1995
- Юкихиро "Mad Matz" Мацумото создаёт Ruby, чтобы предотвратить неясно определённый апокалипсы, который превратит Австралию в пустыню под контролем воинов-могавков и Тиной Тернер. Язык позже был переименован в Ruby on Rails своим создателем, Давидом Хейнемейером Ханссоном. [Часть, где Мацумото создаёт язык Ruby никогда не случалась и лучше бы была удалена в следующей версии этой статьи - DHH].
- 1995
- Брендан Эйх читает про каждую ошибку, созданную при проектировании языка программирования, создаёт парочку новых и выпускает язык LiveScript. Позже на волне популярности Java язык переименовывается в Javascript.
- 1996
- Джеймс Гослинг изобретает Java. Java относительно многословный статически-типизированный объектно-ориентированный язык с классами, одиночным наследованием, множественным наследованием интерфейсов и сборкой мусора. Sun громко заявляет о революционности Java.
- 2001
- Андерс Хейлсберг изобретает C#. C# относительно многословный статически-типизированный объектно-ориентированный язык с классами, одиночным наследованием, множественным наследованием интерфейсов и сборкой мусора. Microsoft громко заявляет о революционности C#.
- 2003
- Мартин Одерски изобретает Scala, который объединяет конструкции из объектно-ориентированных и функциональных языков. Это бесит как приверженцев ООП, так и ФП, что делает язык неюзабельным для всех.