Рубріки: Мнение

«Прощай, JavaScript!»: разработчик рассказал, когда JS наконец-то придет конец

Оленка Пилипчак

Свою первую строку в JavaScript разработчик Уильям Дж. Эдни написал почти 25 лет назад. И за все эти годы он повидал немало технологий, которые должны были уничтожить этот язык.

Так почему же он все еще жив?

Усаживайтесь поудобнее, сейчас он расскажет вам о судьбоносном путешествии…

Передаем ему слово.

Редакция Highload публикует перевод материала.

Переведено бюро переводов «Профпереклад».

Перевод от

1Java-апплеты

«Точно вам говорю — как только апплеты взлетят, JavaScript умрет…»

Вначале был Java — и был он… ну, так себе. Чтоб вы понимали, мы имеем в виду Java-апплеты. На самом деле, JavaScript изначально назывался LiveScript, потому что предназначался для «скриптирования» апплетов на вашей веб-странице в полноценные приложения. В любом случае, мне всегда казалось, что LiveScript звучит круче.

Однажды я спросил Брендана ЭйхаАмериканский программист, создатель JavaScript за обедом: «Откуда такое название — JavaScript?» В ответ он пробормотал что-то про маркетологов 🙂

Переименование породило одну из величайших путаниц в истории IT-рекрутинга. Если бы мне платили цент всякий раз, как я пытался объяснить рекрутеру, что «нет, JavaScript — не Java, это абсолютно разные технологии»…

Да, Java была «истиной и путеводной звездой» какое-то время, но вскоре свет сменился тьмой, истина стала не такой уж истинной, а «путь Java», как оказалось, — не клиенты, а сервера.

Героические усилия! Но как однажды сказал один лихой техасец: «Это ружье не стреляет».

2Java… а ну еще разок, с чувством!

«Точно вам говорю — как только у нас появятся браузеры на Java, JavaScript умрет…»

Целые браузеры, построенные на Java! Так нам обещали.

Едва апплеты перестали справляться со своей задачей, приверженцы Java начали раскручивать тему: «Ну и ладно, мы просто построим целые приложения из Java!». Какое-то время у Netscape даже был проект JavaGator — этакая попытка создать полноценный веб-браузер на Java.

Эти браузеры стали иллюстрацией к выражению «запуск не состоялся». Они не доросли даже до уровня резонансного успеха Java-апплетов.

3Flash-однодневка

«Точно вам говорю — как только мы развернем миллион runtime во Flash, JavaScript умрет…»

Flash считался восходящей звездой в году этак 2002. Компания Adobe выкупила Macromedia за какие-то сумасшедшие деньги и задалась целью распространять Flash везде и всюду. На самом деле, Flash частично состоял из идиотской покореженной версии JavaScript (ActionScript 2, которая вскоре была вытеснена более функциональной версией ActionScript 3 — хотя функция eval() все равно была битая в хлам).

Должен сказать, у Flash был неплохой инструмент — Flash Studio. Он намного опередил свое время, и его тогда активно продвигали.

Но Flash был коммерческим продуктом, очень медленным, с кучей багов, и жрал до черта памяти. Добавьте к этому двоичный формат и бесконечные проблемы с безопасностью. Adobe даже попыталась убить SVGScalable Vector Graphics — масштабируемая векторная графика на десктопах (хоть и сама приложила руку к его изобретению), поскольку увидела в нем конкурента Flash с открытым стандартом. А, да, для Flash еще и требовался плагин. Еще он должен был создавать крутую графику, а не приложения. Да и как вообще строить приложения с помощью абстрагирования «временных шкал»? Ну, люди пытались, конечно…

Спасибо тебе, Стив (земля тебе пухом), за то, что вогнал осиновый кол в сердце этому чудищу.

Итак, Flash почил с миром.

4Я видел свет, я видел Silverlight?

«Точно вам говорю — как только мы встроим Silverlight во все браузеры, JavaScript умрет…»

Чтоб Adobe да вдруг переплюнула Microsoft? Ни за что. В то время Microsoft исполняла роль Галактической Империи, а вместо ПалпатинаСитх, сенатор и Верховный канцлер Галактической Республики, а позднее — Император Галактики, один из главных отрицательных героев во вселенной «Звездные войны» у них был Стив БалмерГенеральный директор Microsoft с января 2000 года по февраль 2014 года («Никто-не-купит-ваш-iPhone!»). Они решили захватить власть, разработав свой собственный плагин/runtime.

В Microsoft обещали: «Мы не станем заставлять вас выбирать язык — разве что, если его разработали не мы». Так что, да, любой .NET-язык можно было теоретически скомпилировать и использовать в цикле Silverlight. Если вы фанат C# или VB.NET (или хотя бы временный фанат IronRuby или IronPython), развертка вашего приложения в веб-браузере теоретически возможна, и не пришлось бы связываться с этим вредным JavaScript!

Только вот это все еще был плагин… коммерческий… и двоичный формат… и памяти жрал до черта. Правда, более безопасный, и багов меньше, чем во Flash.

Надо отдать Microsoft должное — этого кадавра они прикончили сами.

«Прозрели» они примерно в то же время, как Палпатина бесцеремонно вышвырнули из кресла — ну не предвидел он сотни миллионов человек, жаждущих купить iPhone. Silverlight подвергли всяческому порицанию и сосредоточились на Web.

Как ни парадоксально, такое изменение все же дало один результат: IE наконец-то получил реальный JavaScript-движок со сборщиком мусора, в кои-то веки написанным не практикантом. О JScript-движок, мой давний враг, я гляжу на тебя!

Прощай, Silverlight — мы даже познакомиться толком не успели.

5Стягиваем тяжелую артиллерию – WebAssembly

«Точно вам говорю — как только взлетит WebAssembly, JavaScript умрет…»

Поскольку коммерческими усилиями убить JavaScript было невозможно, силы сопротивления JavaScript рискнули опробовать другую стратегию. Берем развивающийся веб-стандарт, «отжимаем» его себе и позиционируем как убийцу JavaScript.

Авторы спецификации WebAssembly никогда не говорили, что именно это было их целью. Вообще-то, WebAssembly изначально придумывали, чтобы ускорить JavaScript.

Эта попытка позиционировать WebAssembly как убийцу JavaScript стала очередной вариацией на тему почившего Silverlight: «Как только у нас будет общий многоязычный runtime, мы избавимся от этого мерзкого JavaScript!»

WebAssembly так толком и не взлетел.

Несмотря на название, WebAssembly не был предназначен стать «общим языком ассемблера для Web». Его разработали для написания скоростных веб-приложений, требующих ресурсоемких вычислений (например, игр).

Как оказалось, первые версии WebAssembly плохо уживались с языками, попавшими под механизм автоматического управления памятью. Его функциональность не имеет ничего общего с тем, что было изначально обещано, учитывая двоичный формат (что, если честно, меня удивляет).

В любом случае, уж простите, JS-ненавистники, но мерзкий JavaScript все еще с нами.

Хотя попытка была неплоха.

Так почему же JavaScript до сих пор не сдох?

Просто не верится, что этот язык столько лет разносили все кому не лень, но он до сих пор держится на ногах, как побитый боксер на ринге.

Но как говорит мой друг и деловой партнер Скотт Шаттак, одна из причин — «место, место и еще раз место».

Позиция JavaScript как единственного языка, встроенного в веб-браузер, обеспечивает ему долгую жизнь. От него зависят миллиарды веб-страниц, так что JavaScript, вероятно, переживет всех, кто сейчас читает эту статью.

А еще JavaScript на удивление мощный. У него есть свои сильные стороны.

По иронии, его применение за пределами веб-браузеров продолжает расти.

Кроме того, для тех, кто не может справиться с синтаксисом регулярных выражений JS, есть множество языков, которые компилируются в JavaScript. Дуглас КрокфордПостоянный участник развития JavaScript, создатель JSON и автор связанных с JS инструментов (например, JSLint и JSMin) сказал мне однажды в 2010 году: «Удивительно, как много языков начинают использовать JavaScript как целевую платформу для компиляции».

Но вы же сказали, что он умрет.

Да, ничто не вечно, рано или поздно конец придет всему. Я начал эту статью с заявления, что JavaScript умирает — и это действительно так.

Но когда же это наконец-то произойдет?

Примерно через 10 минут после смерти COBOL.

Автор: Уильям Дж. Эдни

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023