- Краткая и на 146% точная история языков программирования
- 1842
- 1936
- 1936
- 1957
- 1959
- 1964
- 1970
- 1972
- 1980
- 1987
- 1983
- 1986
- 1983
- 1991
- 1993
- 1994
- 1995
- 1995
- 1996
- 2001
- 2005
- 2006
- 2009
- 2010
- 2012
- 2013
- 2014
- Краткая эволюция языков программирования
- Машинный язык
- Семейство языков ассемблера
- Языки высокого уровня
- FORTRAN
- LISP
- COBOL
- ALGOL
- PYTHON
- JAVASCRIPT
- RUBY
Краткая и на 146% точная история языков программирования
Жозеф Мари Жаккар учит ткацкий станок читать перфокарты, создавая первый многопоточный процессор. Изобретение в штыки приняли ткачихи, которые уже тогда что-то подозревали.
1842
Ада Лавлейс, устав от положенного по социальному классу безделья, делает наброски в блокноте, которые станут известны как первая компьютерная программа. С поправкой, конечно, на то, что компьютеров тогда ещё не было.
1936
Алан Тьюринг изобретает вообще всё, королева очарована им, но Тьюринг предпочитает ей мужскую компанию, что заканчивается для него печально.
Позже королева, конечно, остыла и простила Тьюринга, но тот, к сожалению, уже давно был мёртв.
1936
Алонзо Чёрч тоже изобретает вообще всё вместе с Тьюрингом. Но будучи по другую сторону пруда избегает расположения королевы и его последствий.
1957
Джон Бэкус создаёт Фортран — первый язык, который «используют настоящие программисты».
1959
Грейс Хоппер, устав от спарринга с Чаком Норрисом, изобретает первый бизнес-ориентированный язык программирования. Ну а так как всё связанное с бизнесом должно иметь длинное и скучное название, она нарекает его «бизнес-ориентированным языком общего назначения» или COBOL для краткости.
1964
Джон Кемени и Томас Курц решают, что программировать слишком сложно, и им нужно вернуться к базовым принципам. Так что они разбрасывают повсюду номера строк и называют своё детище BASIC.
1970
Никлаус Вирт создаёт Паскаль и пару других языков программирования. Да, кому-то нравится марки собирать, а его хобби было создавать языки программирования.
Никлаус также изобретает Закон Вирта, который делает закон Мура устаревшим, так как разработчики будут писать настолько раздутые программы, что никакие мэйнфреймы не успеют за ними. Как мы знаем, это предсказание сбылось — посмотрите, например, на Electron.js и на его абстракции.
1972
Деннис Ритчи от скуки, нагрянувшей в разгар напряжённого рабочего дня в Bell Labs, решает изобрести «C», который окажет ошеломительное влияние на индустрию: с этого момента все новые языки будут использовать фигурные скобки. «C» так же ввёл ошибки сегментации и другие инновации в программировании.
Так как до конца напряжённого рабочего дня оставалась пара свободных часов, Деннис и его приятели из Bell Labs решили создать пример программы на «C» и случайно создали операционную систему под названием Unix.
1980
Алан Кэй изобретает объектно-ориентированное программирование и называет его Smalltalk. В Smalltalk всё является объектом. Даже объект является объектом.
1987
Ларри Уолл становится проповедником и делает Perl доктриной.
1983
Жан Ишбиа решает создать язык, посвящённый Аде Лавлейс и носящий её имя.
1986
Брэд Кокс и Том Лав решают создать специальную, плохочитаемую версию «C» на основе Smalltalk. Своё детище они назовут Objective-C. И по сей день не нашлось ни одного человека, способного понять синтаксис этого языка.
1983
Бьёрн Страуструп отправляется на своем DeLorean назад в будущее, где замечает, что «C» слишком уж быстро компилируется. Когда же в таком случае будут отдыхать разработчики? Чтобы как-то решить проблему, он добавляет в новый язык всё, что только может придумать, и называет своё детище C++.
Программисты повсеместно используют его, чтобы им не мешали читать xkcd на работе, в то время пока «ещё компилируется».
1991
1993
Роберту Иерузалимски и его друзья решают, что им нужен местный язык сценариев — Lua. Трагическая ошибка при переводе с бразильского приводит к тому, что индексы начинают считать с 1.
1994
Расмус Лердорф создает язык шаблонов для своей персональной страницы в интернете.
Но мир решает использовать язык вообще для всего в вебе, так что Расмус добавляет биндинги к базе данных, и на свет появляется PHP.
1995
Юкихиро Мацумото несчастен и замечает несчастье окружающих. Он создаёт Ruby, чтобы сделать окружающий мир чуточку счастливее. Это работает, и все становятся счастливы.
1995
Брендан Эйх на выходных разрабатывает язык, который позже будет использоваться в каждом браузере в мире и, в конечном итоге, в Skynet.
Первоначально Брендан пошел в Netscape и сказал, что новый язык называется LiveScript, но Java стала популярной как раз во время код ревью, поэтому все решили, что лучше использовать фигурные скобки и переименовать язык в JavaScript.
Из-за проблем с товарными знаками JavaScript был переименован в ECMAScript во время стандартизации, но это уже никому не важно, все продолжают называть язык JavaScript.
1996
Джеймс Гослинг изобретает Java, первый по-настоящему очень подробный объектно-ориентированный язык программирования, в котором шаблоны проектирования преобладают над прагматизмом.
В обиходе появляются фразы вроде «шаблон поставщика менеджера службы поставщика провайдера диспетчера контейнеров».
2001
Андерс Хейлсберг заново изобретает Java и называет её C #, ведь программирование на «C» круче, чем на Java. Все любят новую Java за то, что она совсем непохожа на Java.
2005
Дэвид Хансен создает фреймворк для Ruby под названием Ruby on Rails. Люди не могут понять, что это две разные вещи, и вновь становятся несчастными.
2006
Джон Резиг пишет вспомогательную библиотеку для JavaScript. Почему-то каждый думает, что это новый язык, и целыми днями копипастит сниппеты JQuery из интернета.
2009
Кен Томпсон и Роб Пайк решили создать новый С, но с меньшим быстродействием и большим количеством талисманов в виде сусликов.
2010
Грэйдон Хор тоже хочет создать новый «C». Если другим можно, почему ему нельзя? Он нарекает детище Rust.
Люди требуют, чтобы каждый фрагмент любого программного обеспечения был переписан на Rust СЕЙЧАС ЖЕ. Грейдон не хочет этим заниматься и уходит работать над Swift для Apple.
2012
Андерс Хейлсберг хочет писать на C# в браузерах, так что изобретает TypeScript, который как JavaScript, но с большей долей «Java» и меньшей «Script».
2013
Джереми Ашкенас хочет быть счастливым, как разработчики Ruby, поэтому создает CoffeeScript, который компилируется в JavaScript, но больше похож на Ruby. Но Джереми никогда не становится так же счастлив, как были когда-то разработчики Ruby.
2014
Крис Латтнер делает язык с целью — не быть как Objective-C. В результате Swift похож на Java.
Источник
Краткая эволюция языков программирования
Языки программирования уже довольно давно стали неотъемлемой частью современных технологий. С их помощью мы «общаемся» с компьютерами и создаем сложные программы и приложения. Первые зачатки языков программирования начали появляться уже тогда, когда компьютеры еще только зарождались.
Машинный язык
Самая ранняя форма языков программирования — это машинный код, состоящий из двоичных инструкций вида 0 и 1. Да, первые программисты писали инструкции именно в таком виде 🥴 Для компьютеров это было очень эффективно, чего нельзя сказать про людей, которые такими данными оперировали. Такой код был очень сложен для восприятия и подвержен множеству потенциальных ошибок в силу человеческого фактора. Так появилось семейство языков ассемблера.
Семейство языков ассемблера
Языки ассемблера в первую очередь предназначались для того, чтобы программирование стало более понятно для человека. Были внедрены мнемонические паттерны, которые подставляли определенные машинные инструкции. Написание такого кода уже стало заметно легче, а использование значимых символов и мнемоники сделало его еще более доступным и понятным для восприятия. Однако языки ассемблера все равно были привязаны к той или иной архитектуре, что ограничивало их использование вне ее. Так начали зарождаться языки высокого уровня.
Языки высокого уровня
Нужда в более эффективных и универсальных решениях привела к созданию языков высокого уровня. Была внедрена абстрактность и автоматизация, чтобы программистам не нужно было думать о всех тонкостях архитектуры, а сосредоточиться только на логике своих программ.
FORTRAN
Разработанный в 50-x годах Фортран по праву занимает место одного из первых языков программирования высокого уровня. В Фортране было введено понятие циклов и подпрограмм, что на тот момент было достаточно революционно.
LISP
Создан в конце 1950-х годов. Lisp обладал продвинутыми возможностями обработки списков и ввел понятие рекурсии. Впоследствии Lisp оказал большое влияние на будущие языки программирования.
COBOL
Разработан в начале 1960-х годов и был ориентирован на обработку бизнес-данных. При разработке делался упор на простой синтаксис и поддержку англоподобных выражений.
ALGOL
Создан в конце 1950-х. В первую очередь предназначался для научных вычислений. Алгол обладал довольно чистым синтаксисом и оказал большое влияние на последующие языки программирования, такие как Pascal и C.
PYTHON
Перенесемся ближе к настоящему — конец 80-х — начало 90-х годов. Созданный в конце 80-х, Python приобрел свою популярность за счет простоты и понятного для восприятия синтаксиса. Большое внимание было уделено выразительности кода, что сделало его популярным как у начинающих, так и уже продвинутых программистов.
JAVASCRIPT
Разработан в середине 90-х для обработки сценариев веб-страниц в браузерах. На сегодняшний день JavaScript превратился в один из самых популярных и многоцелевых языков программирования, на котором можно создавать не только браузерные скрипты, но и другие различные приложения. Сегодня является де-факто основным языком разработки во фронтенде — клиентской части веб-приложений.
RUBY
Еще один из популярных языков программирования. Так же как и JavaScript, появился в середине 90-х и стал очень популярным, в частности, из-за фреймворка Ruby on Rails. Ruby славится своим элегантным синтаксисом и, как любят говорить рубисты, — делает программистов счастливыми 🙂
Эволюция языков программирования наглядно отражает уровни достижения в области развития вычислительной техники. Как видите, от машинного кода и языков семейства ассемблер современные языки программирования прошли долгий путь. Множество ранее созданных и сегодня, казалось бы, не имеющих никакого отношения к тем языкам, на которых пишут нынешние программисты, внесли свой вклад, идеи и подходы во всё то, что мы имеем сейчас. Но на этом развитие языков программирования, конечно же, не заканчивается, и они и дальше будут развиваться и эволюционировать со всем остальным в этом мире.
Источник