LINUX.ORG.RU

JavaScript 30 лет

 ,

JavaScript 30 лет

0

5

Ровно 30 лет назад, 4 декабря 1995 года компании Netscape и Sun совместно анонсировали новый язык программирования – JavaScript, впервые доступный в браузере Netscape 2.0, вышедшем на следующий день после анонса. С тех пор JavaScript сумел распространиться повсюду, его реализация содержится в каждом популярном браузере, на нём пишут серверный и десктопный софт, и спустя 30 лет он считается самым популярным языком программирования на планете.

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

>>> Анонс в интернет-архиве

★★★★★

Проверено: anonymous_incognito ()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от buddhist

Устаревают знания конкретных вывертов конкретных фреймворков. А общие принципы остаются. Ну как с дизайном процессоров - сначала были IBM/360, в старших моделях по слухам (я немножко позже родился, не застал) были все навороты. Потом это все пропало. А теперь уже в современных процессорах появляются всякие защиты памяти (ну это из времен 386-го, но не суть, все равно после долгого перерыва), предсказания переходов и спекулятивные исполнения :) Возвращаясь к JS, думаю, тот самый старый JS из конца 90-х не особо сильно похож на нынешний JS с точки зрения требуемых навыков программиста на нем. Но база (вся вот эта механика жонглирования областями видимости) была заложена именно тогда, с самого старта. И это меня как инженера восхищает - это ж надо было так предвидеть, что в самом начале заложить механизмы, которые больше чем через 2 десятилетия преобразили язык и сделали его тем, чем он является сейчас.

vap77
()
Ответ на: комментарий от rumgot

Не знаю что это за кривой рейтинг. Js был лидером на гитхабе в прошлые годы по количеству кода. В этом его обогнал питон, но не сильно.

Ау! В этом рейтинге вижал барсик и делфи наравне с js. Ты откуда это вообще достал то?

Js это буквально весь интернет. https://www.opennet.ru/opennews/art.shtml?num=62166

TIOBE Index (более формально TIOBE Programming Community Index) — это индикатор популярности языков программирования. 4 Он создаётся и поддерживается компанией TIOBE Software BV из Эйндховена. 3 Индекс оценивает популярность языков на основе подсчёта результатов поисковых запросов. 2 Рейтинг обновляется один раз в месяц. 4 Логика индекса проста: если язык активно ищут в интернете, значит он популярен.

лицорука Слушай, а давай оценивать путем опроса в средних школах города Саратов?

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от lealxe

Может быть. Почти всё что угодно лучше, чем жаваскрипт.

liksys ★★★★
()

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

Аккаунт угнали, кажется.

XMPP ★★
()
Ответ на: комментарий от u-235

Всем нравятся. Но я не считаю их жителей однозначными авторитетами в вопросах популярности языков программирования.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Какое-то необоснованное ущемление средних школ города Саратов. Я бы даже сказал, дискретизация.

u-235
()
Ответ на: комментарий от VanyaZay

Интересно, отмечает ли Столяров…

Столяров пишет на камнях «JS», выкрикивает проклятия в адрес JS и благословения сишечке, пьет красное вино, пока не перестанет различать проклятия и благословения, топает ногами и бьёт камни друг о друга, пока надпись не сотрется. Инфа сотка. Мне Терри Дэвис сказал.

Vidrele ★★★★★
()
Ответ на: комментарий от LightDiver

Не, там всё ешё <script src="./egui_demo_app.js"></script> и тому подобное. А надо чтоб <script src="./egui_demo_app.rs"></script> и никаких там *.js. Вот тогда да, тогда заживём.

KOHb-TPOJIJIbJIEP ★★
()
Ответ на: комментарий от KOHb-TPOJIJIbJIEP

Js тут - только обертка для подгрузки кода.

Загружает .wasm-файл (бинарник Rust-приложения, скомпилированный в WebAssembly).

Инициализирует WASM-модуль

Передаёт события браузера в Rust (клик, нажатие клавиш, resize и т.п.).

Передаёт обратно команды рендеринга — egui рисует в своём собственном canvas через web-sys.

Хотя, согласен - есть куда работать. Если мы вместе поднажмем, сможем полностью вытеснить все языки в пользу раст. В том числе даже части js на сайтах.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)

Он сейчас не используется повсеместно.Он встроен в движки, такие как wordpress и joomla.

nicholas_ru
()
Ответ на: комментарий от vap77

Это говорю я, сишник с опытом в треть века

Я бы постеснялся ссылаться на такой факт, по крайней мере на этом сайте.

unC0Rr ★★★★★
()
Ответ на: комментарий от neumond

куёт передовые технологии построения UI

Ты ошибся, в MS Word UI не белое в середине, а кнопочки вокруг.

Shadow ★★★★★
()
Ответ на: комментарий от unC0Rr

Что, и даже в поддержку JS? :) Я еще понимаю, если бы я его гнобил - тогда было бы очевидно, что дед не вывозит. А в поддержку-то что плохого? Это ж наоборот - если даже такие как я признают полезность, то это ууу вещь :)))

vap77
()
Ответ на: комментарий от Stanson

JS
embedded
1+«1»=«11»

Нуууууу... А на ноль делить тоже можно?

Shadow ★★★★★
()
Ответ на: комментарий от vap77

есть свои особенности (частично решаемые typescript-ом)

Это не особенности, это надругательство над бытием и вселенной. И если typescrypt в strict режиме, то всё хорошо. Но в остальном JS использовать нельзя по этическим причинам.

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

А что тогда использовать? Перл, как тут выше предлагали? :) Тут вопрос простой: могу ли я мириться с тем, что пока не запустишь и не прогонишь все пути выполнения - неясно, корректно ли вообще все написано, если за это я получаю те плюшки, что дает JS. Для меня ответ на этот вопрос простой: в моих проектах (а у меня на JS пока только один маленький проект был, в сумме меньше 3000 строк) - могу. Альтернатива лично для меня была - писать на Си. Я даже начал, но быстро сдался и сделал паузу на то, чтобы выбрать для этого конкретного проекта какой-то другой язык. Кстати, я эмбеддщик и сетевик, и на Си я обычно пишу в архитектурном стиле, который оказался довольно похожим на JS (что я увидел, когда с JS познакомился). Тоже асинхронщина, такое же таскание контекста при прокидывании обработки. Но на Си это все надо делать явно, и оно требует хорошего опыта и самодисциплины, я к этому годы шел. А в JS оно - прямо в языке, там оно само собой получается, надо только не халявить, не прерывать понимание происходящего.

vap77
()
Ответ на: комментарий от leave

Не могу согласиться. ИНДУСтрия как раз получила огромное развитие благодаря этому ЯП.

Vudod ★★★★★
()
Ответ на: комментарий от LightDiver

Js был лидером на гитхабе в прошлые годы по количеству кода.

Ну, нужно это как-то заиспользовать? Нейросеть натренировать?

Saakx
()
Последнее исправление: Saakx (всего исправлений: 1)

Недавно таки решил ознакомиться с сабжем, чтобы вкратце понимать, как работает вэб фронтенд. Теперь мучает загадка: кому же пришло в голову приколотить гвоздями к вэбу такое извращение?

yvv1
()
Ответ на: комментарий от JaneDoe

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

Всё так. JavaScript – это сишечка из 90х, и взлетел он по той же причине.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от Saakx

Я думаю тут обратная зависимость. Именно в js нейросети делают сейчас меньше всего ошибок. Практически не делают.

LightDiver ★★★★★
()

Не ну ладно, в 1990х ещё не было такого изобилия языков, как сейчас. Слепили для вэба наспех кое-что кое-как, что получилось, то получилось. Тут всё ок. Но зачем его сделали незаменимым?

yvv1
()

К слову сказать, JS в 2005 и JS в 2025 это вообще разные языки программирования. Но нужно отдать должное, что код, написанный в 2005 году до сих пор работает. А вот скрипты, написанные на питоне в 2005 году 100% не будут работать в 2025.

dicos ★★★
()
Ответ на: комментарий от yvv1

Не ну ладно, в 1990х ещё не было такого изобилия языков, как сейчас. Слепили для вэба наспех кое-что кое-как, что получилось, то получилось. Тут всё ок. Но зачем его сделали незаменимым?

Бы VBScript у IE, но JS более приятный в плане синтаксиса.

dicos ★★★
()
Ответ на: комментарий от Shadow

Так бери TypeScript - все странности JS из него удалены.

Смысла нет. Если нужно сделать дебаг, когда что-то работает совсем не так, то все равно придется отладку делать js кода, не TypeScript. Просто не надо использовать старый синтаксис.

dicos ★★★
()
Ответ на: комментарий от vap77

Хотя, как раз Scheme (а точнее, возможно, что-то другое лисповое, но с другой моделью выполнения), возможно, и можно было бы развить в нужную сторону.

Вообще-то, Брэндон Айк изначально намеревался именно схему в браузер и добавить. Но вмешался маркетинг, менеджерам Нетскейпа захотелось покататся на паравозе хайпа Явы, поэтому вместо чего-то логичного, стройного и элегантного мы имеем уродского мутанта. Это нам за грехи и за то что плохо молимся наверное.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Если бы в браузерах была схемка, средний лиспер был бы ещё тупее. А так лишп остаётся элитарным язычком, что приятно чешет эго его осиливших.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от vap77

Ну так TypeScript в строгом режиме, lua, c#, с осторожностью python.

Ну и по мне, асинхронщина - треш, большинство бизнес-логики синхронно, если ты не веб-сервер, тебе хватит нескольких user-space потоков (вот сколько в питоне не подходил к async, все свои задачи проще в threads было), а если ты числодробилка, тем более от тебя будут скрыты все потоки и доступна только какая-нибудь map(fn(), data).

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от dicos

Если нужно сделать дебаг, когда что-то работает совсем не так

TypeScript на этапе «компиляции» отсеет 90% «совсем не так» с популярным объяснением, что и почему.

Shadow ★★★★★
()
Ответ на: комментарий от liksys

кусок говна, слепленный на коленке вообще без какого-либо проектирования и дизайна

Да ладно, в индустрии всё такое, начиная с Це. Сабж ещё на удивление неплохо сделан для наколенной скриптухи. Достаточно поработать с пхп и перлом, чтобы это оценить.

bread
()

30 лет анальной боли.

Rastafarra ★★★★
()
Ответ на: комментарий от LightDiver

В том числе даже части js на сайтах.

js прекрасен тем, что из него можно вырезать рекламу.

че? нет части переменных в коде? нет целиком функций? да пофиг ваще, игнорируя вальсируем.

Rastafarra ★★★★
()
Ответ на: комментарий от Stanson

Не сильно хуже lua.

Сильно лучше. Не понимаю чем лоровцам нравится это бездарное поделие. Хорошо, что его в браузер не встроили, а то хлебали бы сейчас вместо js. Визгов при этом было бы не меньше, думаю.

bread
()
Ответ на: комментарий от Rastafarra

В раст можно будет вырезать вообще весь сайт!

LightDiver ★★★★★
()
Ответ на: комментарий от bread

Объективно в плане языка - сильно хуже. Лучше только по инфраструктуре, модулям. Но не базовый язык.

Луа в целом прекрасен на базовом уровне.

Банальный пример - конкатенация.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от bread

Не, ну перл всяко лучше этого безобразия, хотя и тоже нинужен.

liksys ★★★★
()
Ответ на: комментарий от dicos

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

Да, и это серьезное преимущество. Я так и продолжаю писать на ES5, и всё работает. Что там хипсторы натащили с тех пор, мне по барабану. С питоном и прочими поделками такой номер не пройдет.

bread
()
Ответ на: комментарий от LightDiver

Да, всё с луа хорошо, кроме мозгового клеща, из-за которого индексы начинаются с 1. Додумались, блин.

liksys ★★★★
()
Ответ на: комментарий от thesis

Я никак не пойму, цвет логотипа призван приманивать макак, или напоминать о древнем названии «Mocha»?

Жёлто-чёрный, как и на стройке, предупреждает об опасности и вероятности обвала конструкций

skyman ★★★★★
()
Ответ на: комментарий от liksys

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

Есть разные сиуации - где то адрессная нумерация удобнее, где то бытовая. Просто особенности языка - они не плохие, не хорошие, их надо знать.

Где действительно в луа косяк - таблицы. Но, что самое забавное, это тоже его отличительная особенность. Но эта особенность стала реальным его косяком, ибо вариантов работы иногда нет, нужно работать на удачу.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.