LINUX.ORG.RU

JavaScript 30 лет

 ,

JavaScript 30 лет

0

5

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

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

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

★★★★★

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

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

Всетаки специализированные структуры в других языках очень полезны. Жаль в луа их нет, приходится эмулировать и идти на крайне странные меры иногда. А это лишние движения, лишнее время, труд.

Хотя да, в чем то удобно бывает.

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

Где действительно в луа косяк - таблицы

Ага, всё в луа хорошо, и тут же обнаружили пару фундаментальных косяков. Я ещё добавлю: ехал local через local. Это жесть уровня баша.

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

А чего тебе в локале не нравится?

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

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

Эх, тот js ещё не вызывал отторжения.

Во-первых - у тебя очень странные вкусы, а во-вторых - тебя за такие слова отлучат от секты столярова %)

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

И что? Эта простыня никак не связана с моим заявлением. Речь вообще была не про спецификацию языка, а про его интеграцию в браузер и про типичные практики его применения. Так то можно и сейчас писать нормальный js, но обычно везде виден не такой.

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

… большинство бизнес-логики синхронно, если ты не веб-сервер

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

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

Скажите мне, человеку, довольно далёкому от веба: а непосредственно в HTML-страницах TypeScript вместо обычного JS использовать можно? Браузеры его напрямую поддерживают?

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

Добрый вечер, сяньшэн Дип Сик! Не узнали Вас в гриме…

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

ЕМНИП уже нет. Да я и сам уже давно не пишу. Что радовало, что по сравнению с «новейшим ECMAScript» тебе не надо было тащить нёх под названием babel на 1,5 терабайта, а только компактный написанный на C# транспилер, который умел TS аж для древнего IE скомпилировать.

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

Жаль. А «уже»… это что, его в браузеры сначала впилили, а потом выпилили???

Не, я в курсе, что с MathML было именно так, например. Но тут штука вроде поглобальнее.

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

А, ошибся, TS на самом TS написан. Но не требует такого количества установленного хлама, как весь остальной JS тулчейн.

Ещё пишут, его на Go переписывают.

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

Я думал, в каком-то IE... Или я с VB спутал...

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

лицорука

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

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

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

Это более объективный показатель популярности для начала.

Ну и еще раз - Вижал барсик, делфи и js. Ничего не ёкает, не? Совсем совсем? Прям продукты одного уровня популярности?

Нет, я понимаю если бы это был рейтинг 2000 года.

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

Распиши методику подсчета и покртиикуй ее. Есть предположение, что ты ее не понял.

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

Это более объективный показатель популярности для начала.

Объективны оба. Вопрос в том, какой больше отражает популярность. Еще раз, распиши расчет и покритикуй его. Ато facepalm каждый ляпнуть может.

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

Сравним два подхода:

  1. Сколько раз прохожие спросили «что это за магазин напротив»

  2. Сколько посетителей было в магазине

По первой методике один и тот же рейтинг у магазина, обслуживающего все города мира, помойки номер 3 Нижнезадрищенска и библиотеки имени Ленина города Воркута.

Хм.. Какие тут могут возникать вопросы?

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

привет вонаби firkax

ну и тебе cdtemp имхо будет [пытнолюбо] как и подписантам :

https://www.google.com/search?q=javascript first 20 years&oq=javascript f... статья из 2020 HoPL IV :

https://www.wirfs-brock.com/allen/jshopl.pdf

так что firkax у тя али лужная память али ты позёр :)

[1]https://dl.acm.org/doi/10.1145/3386327

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

А чего тебе в локале не нравится?

Переменные должны быть по умолчанию локальными. Все языки, где это не так, являются глюкодромом by design. Ну хотя бы нужна директива, запрещающая неявное определение глобальных переменных. Типа use strict в перле. Я не помню, есть ли что-то такое в луе. Если нет, то «приплыли». Такой язык просто неприлично расхваливать.

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

ну если серьёзно то это вполне компенсируется(для мимокрокодилов) ide - примочками а для дидовLUAстроения наличными рефлексами

ваще луа и Python в 1995-1998 годах блЯзницы братья оба даже пытались стать встроенными в браузеры языглями но тока виновник торжества по общепонятной убогости смог стать обще_понятным

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

А еще вспоминается лента с надписью «crime scene do not cross».

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

Ты как всегда не умеешь выражать свои мысли по-русски.

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

Это уже твои личные предпочтения. Ты просто должен знать как это реализовано в языке.

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

Это язык из пары десятков сущностей, которыми можно сделать все. Из минусов - реально мало готовых модулей.

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

ну в том и цимес что по началу оба языка позиционировались как скриптота на уровне шели и/или как встройка в компильнутые приложения для придания большей гибкости\шелковистости этим вот прикладухам

по итогу lua блюдя свой 200к футпринт щя через игродел проникло во вполне серьёзный отечественный прикладной софт

а python (ибо холадская академия это не фунт изюму био Вейля(Андре)Ван дер Варден (отличный historрик после математики) во время общеевропейской замятни 20веку не даст ошибиться) - не став через Grail (и браузер и сервер web) js'ом через Numeric стал васиком

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

если совсем серьёзно

то знание структур (и хранения) данных очень на историю вычтеха в части железа и софтятины проливает свет

в истории чтения в запАдном мире от античности до наших дней - похожее явление описывается при появлении книгопечатанья

ща это на llm видно - предыдущие поколения массово могут использовать llm на таком уровне на котором поколения привычные с младенчества к llm только в единичных случаях - ибо навыки просто не могут сформироваться

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

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

А начинаешь с ним работать и вот какое то отторжение на каждом шаге, я не понимаю. И жрет дохренища и модули его 8 из 10 нерабочи. Совместимость и кроссплатформенность вроде и есть, а кривая и с кучей нюансов… В итоге перебрался на луа, раст, js во всем.

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

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

Да нет, будет просто как в Discord:

«Инди-компания» Discord «решила» проблему с утечкой памяти своего приложения. Разработчики реализовали систему, которая отслеживает объём потребляемого ОЗУ, и перезагружает клиент, когда он тратит более 4 ГБ.
После того, как новость завирусилась в соцсетях, разработчики пришли (https://www.reddit.com/r/discordapp/comments/1pej7l7/restart_on_excessive_memory_usage_experiment/) на Reddit, и пообещали, что это временное решение. Кроме того, представитель Discord объяснил, что перезагрузки случаются только, когда пользователь AFK — во время звонка такого не должно происходить.

Кстати, Discord на JavaScript написан.

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

Да сформируются они. И как бы не быстрее классического обучения - доступ к знаниям то проще и быстре. Причем именно к нужным тебе.

Я по необходимоси взялся за проект на node.js (войс чат для игры), вообще не написав ни одной строки на js. Поспрашивал ИИшек, поизучал технологии. За 2 недели сделал три рабочих варианта - на раст чисто консольное (клиент+сервер), на питоне с интерфейсом и на js уже полноценно:

Веб-клиент, локальный клиент на электроне, сервер.

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

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

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

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

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

Не самое плохое решение на самом деле. Хрен ты найдешь все утечки в действительно крупном нелинейном проекте - это не раст.

Если для дискомфорта требуется несколько часов онлайна, то перезапуск - полне себе решение проблемы. Сам с таким столкнулся на днях…

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

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

Была такая мысль. Еще интереснее было бы ReasonML, или как его теперь, потыкать.

Но, говорят, без базы в виде js там особо нечего делать.

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

Но, говорят, без базы в виде js там особо нечего делать.

Я писал несложные страницы на Elm без знания JS в принципе. Всё норм.

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

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

И это доказательство? Пфффф. Еще раз, покритикуй методику расчета и входные условия. Аналогии оставь для других. Тем более настолько неадекватные.

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

Если твоя методика выдает откровенный мусор, какие нужны доказательства и объяснения? Ау! Js, vb, delphi в твоей методике идентичные по популярности. Или я это уже писал, не могу вспомнить.

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

выдает откровенный мусор

Как и я сказал, ты адепт методики «если факт противоречит моему тезису, тем хуже для факта».

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

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

И заметь - ты вбросил этот мусор, а не я. Ты и давай пруфы.

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

Ага демагогию вспомнил. Молодец. Прикидываешься дурочком? Факт - это наличие данного индекса и то, что он выводит как результат. Если ты хочешь снизить вес этого факта, вникни в методику, условия и раскритикуй их внятно. А твои: мусор, бред и т.п. - это от того, что больше скзаать нечего.

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

Js, vb, delphi в твоей методике идентичные по популярности.

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

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

Я тебе таких таблиц нарисую сотню за минуту. Вон ИИшки не подведут. Это не факт, это вброс.

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

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

Ну согласись, это вообще не про популярность языков.

Я кстати подозреваю, что сейчас поисковые системы в принципе вымирают. Они нахрен никому для такого не сдались - все узнают у ИИшек.

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

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

Чего?

sabacs
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.