TGViewer
melikhov.dev melikhov.dev @melikhov_dev · 4.74K subscribers
Post #206 4.46K
В недавнем выпуске подкаста мы Алексеем обсуждали интервью Дагласа Крокфорда и историю JSON. На самом деле, там конечно много интересных моментов, которые не удалось затронуть. Попробою пересказать текстом, телега всё стерпит.

Во-первых про название «JavaScript». Вопреки расхожему мнению, что слово «Java» было тут добавлено Netscape, чтобы хайпануть на популярном в тот момент языке, Крокфорд утверждает, что это название было утверждено самой Sun и сделано ради амбиций Sun. В тот момент Netscape и Sun объединились против главного зла тех лет — Microsoft. Каждая компания предлагала своё решение для создания софта, не привязанного к операционной системе. Если Sun топила за виртуальную машину, на которой запускался универсальный бинарник, то Netscape за браузер, как универсальную среду. Не важно на какой вы OS, главное, чтобы на ней был браузер. Объединившись компании развивают чудовище — Java-апплеты. Мощное, но медленное и неприятное для пользователя решение.

В то же время у Netscape был язык Mocha (позже переименованный в LiveScript). И Sun это не нравилось. Зачем два языка в браузере? Зачем глупый LiveScript, когда есть прекрасная Java? Но Netscape видели потенциал скриптовых языков, потенциал программирования на событиях. Рядом уже расцветал HyperCard от Apple, новички, не стеснённые концепцией навязанной сложности неблокируемого асинхронного программирования творили на нём удивительные на тот момент вещи. Более того, великий Myst был написан на HyperCard! (этого факта я не знал, хоть и облизывался на Myst всю вторую половину 90-х). Да, Myst был собран фактически на коленке на домашнем скриптовом языке и вышел изначально только на Mac OS.

И тогда неожиданно нашёлся компромисс. Кто-то в Netscape (возможно Марк Андрессен) предложил переименовать LiveScript в JavaScript и солгать миру, что это такое подмножество Java. И Sun неожиданно согласились.

И вот сидит молодой Крокфорд, смотрит на это подмножество Java и думает, что это самая тупая вещь на свете, которую он видел. Но она работает в вебе, запускается мгновенно и ей не нужен JVM. И прекрасно решает стоявшую перед ним задачу создания интерактивных чат-комнат. Вот только вся команда Крокфорда, услышав про JavaScript посылает его куда подальше. И ему приходится разбираться самому, как писать на этой странной скриптовой Java, в которой не работают основные концепции Java.

Он страдает страдает, но в какой-то день до него доходит — это не Java 🤡. Это совершенно другой язык и, более того, в нём есть концепции, которых нет в других языках. Прежде всего, в нём есть функции как сущность первого класса и у функций есть лексическое замыкание (что было на тот момент только в Scheme). И функции могут быть анонимными, настоящие лямбды! Более того, язык ещё и мультипарадигменный.

Ну вот тут Крокфорд полюбил JavaScript, оседлал волну хайпа, стал везде выступать, консультировать и написал свою книгу и первый линтер для JS (JSLint).

В следующем посте расскажу про JSON.
  • 👍 61
  • 🔥 9
  • ❤ 5
  • 👏 1
More from @melikhov_dev
  1. Sep 26, 2026Блин, ну нравятся мне TUI решения, сил нет. Просто, красиво и понятно (для меня). Продолжа…
  2. Sep 13, 2026Какой он — личный харнес? Вот мы и пришли в точку, когда уже бизнес не устраивает медленна…
  3. Aug 30, 2026Разобрал своего питонячего новостного бота и собрал нового, уже на Гермесе. Ну как собрал…
  4. Aug 24, 2026Вы могли наверное заметить что как-то мало меня стало в последнее время. Не видно на конфе…
  5. Aug 6, 2026Как же хорошо перечитывается сейчас «Трилогия Муравейника» Гибсона (она же Sprawl trilogy)…
  6. Aug 1, 2026github показал очередную полезную штуку — Stacked pull requests. Даже жалко, что как обычн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →