LINUX.ORG.RU

JavaScript 30 лет

 ,

JavaScript 30 лет

0

5

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

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

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

★★★★★

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

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

По аналогии: питон это трактор, js это мопед.

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

Я кстати подозреваю, что сейчас поисковые системы в принципе вымирают.

Возможно. Тогда на tiobe скоро фортран всех зарулит просто потому, что диды не умеют пользоваться яишками. Я сам кстати тоже не умею, пойду что ли перл накручивать. Он уже снова в десятке вроде. Вернем 1995-й год!

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

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

Lua довольно умное, переход от массива к хешмапе происходит только когда больше половины значений в интервале индексов 1..последний_целочисленный_индекс не установлены

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

Озимов который Исаак:

Олимпиада

У посетителей «санаториев» сформируется ибо им это не препятствие а у нуждающихся в отсутствии костылей неа

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

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

И тут вдруг PyPy, Numba такие: ну да, ну да, пошли мы нафиг, ведь у нас жит в экспериментальном состоянии! Numba в Python дает 100-1000x ускорение для тех же математических операций в циклах.

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

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

Кстати, ИИшки вообще не умеют перл. Тут у тебя с ходу преимущество. И врядли когда научится такими темпами.

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

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

По аналогии: питон это трактор, js это мопед.

После компиляции в нативный бинарный машинный код они все одинаково подходят. Но Python проигрывает динамической типизацией, от которой уже избавились в TypeScript и проигрывает своими сраными отступами. Надо дегенератом быть совсем, чтобы не захотеть расхерачить клавиатуру молотком после очередной попытки открыть python код с поехавшими отступами и т.п. Да и вообще в python меньше всяких молодёжных технологий кажется в сравнении с JS/TS. Меньше всяких встроенных оперденей. Ну тут могу конечно ошибаться, но самое-самое главное, что «выучить питон» - это на рынке офигенно ненужно, тебя никуда не возьмут. А когда ты «выучить JS», то ты можешь и на бекенд на nodejs клепать пойти и фронтендером стать с зарплатой 600к/наносек. Так-то. А с приходом WASM в этот браузерный JS мир стало вообще охренительно.

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

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

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

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

Есть настоящая многопоточность. Воркеры там всякие. Это в питоне её нет - всё костылями через глобальный мьютекс идёт. «оптимизация под веб-приложения» - это вообще чё такое, никто не слышал про это. TypeScript как современная ипостась JS вообще пофиг, это язык в себе, ни про какой «веб» он и не слышал, там из коробки нет даже упоминания ни про что вебовое. Какие ещё научные вычисления, ты уже массив флоатов в JS разве создать не можешь офигенно оптимально лежащий в памяти или запилив WASM модуль вообще?

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

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

Это другое и легко автоматизируется при надобности.

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

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

Про отступы это самый железный аргумент наоборот. Никто из нормальных людей никогда не поймёт язык, в котором какие-то сраные отступы введены прямо в синтаксис. Это означает, что авторы языка считали программистов тупыми макаками, навязывая им кодстайл какой-то и бья палкой по голове за это. Ты хочешь быстро пофиксить кусок кода в одну строку, а оно хоба и не компилируется - блеать, отступа не хватило - ну это же треш и угар. Я должен иметь возможность быстро написать кусок кода КАК УГОДНО, оперативно аварийно закрыв ситуацию, а потом уже решать как это сделать красиво. Тут вылезут сраные философы, утверждая что «ваши временные меры так и останутся навсегда в коде, так что лучше вас бить по башке сразу», но к счастью они теоретеки и их в гробу видали.

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

И тут вдруг PyPy, Numba такие: ну да, ну да, пошли мы нафиг, ведь у нас жит в экспериментальном состоянии! Numba в Python дает 100-1000x ускорение для тех же математических операций в циклах.

Ну и нахрен всё это надо, когда можно на ссаных крестах наваять что угодно ресурсоёмкое.

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

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

Не такого и в помине. Питон незаменим только в одном - БЫСТРО наклепать ОГРОМНЫЙ КОСМОЛЁТ, который стартует и взлетает. Тут нет замены вообще. Ничто другое не позволяет так быстро писать огромную массу семантически богатого говнокода, чтобы оно сразу заработало и полетело. Прототипирование. Говно и палки. Настругать самолёт из фанеры и склеить скотчем - вот удел питона. Это отлично для быстрого написания телеграм-ботов, сложных конвейеров обработки моделек. Но когда на питоне начинают кодить серьёзный прод, то нам это говорит об отсутствии денег на нормальную разработку в данном проекте, раз там готовы терпеть самолётики из фанеры скотчем перемотаные.

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

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

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

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

  2. Скрипты Джаваскрипта не исполняются же поисковыми роботами? То есть для сокрытия данных от поисковиков, но не для пользователя, достаточно отображать их не ХТМЛом, а Джаваскриптом?

  3. Зачем писать на Джаваскрипте серверные программы, когда существует многопоточная Джава? Какой смысл изначально себя ограничивать отложенным исполнением функций на одном ядре процессора, когда можно загрузить все ядра процессора мощнейшим Джава-кодом?

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

Скрипты Джаваскрипта не исполняются же поисковыми роботами? То есть для сокрытия данных от поисковиков, но не для пользователя, достаточно отображать их не ХТМЛом, а Джаваскриптом?

  1. исполняются уже достаточно давно «хоть как-то», а в последнее время исполняются уже на уровне «виртуозно».
lesopilorama
()
Ответ на: комментарий от lesopilorama

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

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

А вот нативная оптимизация у питона на порядок лучше, чем все пока что придуманное в ts/js. Экосистема заточена под веб. Ну выбран языку такой путь, не надо его пихать в другое.

К слову, есть еще и cython. Для высоконагруженных вычислений комбинация Python + Cython часто предпочтительнее JavaScript даже с WebAssembly.

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

Зачем писать на Джаваскрипте серверные программы, когда существует многопоточная Джава?

Затем, что рыночек. Много кто знает JS, мало кто знает и имеет желание изучать java, у которой нет перспектив. Почему нет перспектив - потому что непонятно зачем она нужна после изобретения JIT, работающего где угодно. Да и потоки в JS пожалуйста есть - воркеры называются, плоди сколько хочешь. Как эти воркеры будут реализованы в конкретной машине, исполняющей JS - как прям реальные потоки OS или как корутины - второй вопрос уже, настраиваемо-изменяемо.

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

А вот нативная оптимизация у питона на порядок лучше

Нет там никакой оптимизации.

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

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

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

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

А вот нативная оптимизация у питона на порядок лучше, чем все пока что придуманное в ts/js. Экосистема заточена под веб. Ну выбран языку такой путь, не надо его пихать в другое.

Это вообще лошадиный бред, потому что питон или JS - это всего-лишь вопрос фронтенда LLVM, а оптимизации все будут работать одинаково на уровне IR если надо. Ему вообще похрен что оптимизировать, хоть пейтон, хоть сишечку. Нет там никакой «экосистемы, заточенной под веб».

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

К слову, есть еще и cython. Для высоконагруженных вычислений комбинация Python + Cython часто предпочтительнее JavaScript даже с WebAssembly.

Очередное туповатое голословное утверждение продавца курсов по питону.

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

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

Но и разваливается оно ничуть не хуже, к слову.

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

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

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

А кто то вот эти новые версии знает вообще? Динозавры их не знают, потому что плотно зависли на 11й версии, новички тем более не знают, потому что новички.

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

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

А кто то вот эти новые версии знает вообще?

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

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

новички тем более не знают, потому что новички

Это слегка нелогичное утверждение, потому что каждый новичок начинает обычно с последнего стандарта, нафиг ему интересоваться как обходили контейнер деды? Тут наоборот чаще бывает - деды смотрят на новичка о охреневают «а че так можно было чтоли написать»?

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

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

Хуже, потому что библиотек считается что в питоне больше под любую зал**пу.

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

Но и разваливается оно ничуть не хуже, к слову.

Только на уровне компиляции, потому что TS статически типизирован. Python тоже такой бывает, но это уже не тот классический пейтон которым все обмазано. А фронтендеры под браузер уже на чистом JS давно не лабают, года с 2014 за это уже палкой бьют по морде с размаху.

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

Новичок начинает с того, на чем есть много примеров, объяснение, обучалок. А они все про старое. Новое это уже другой уровень.

Но я искренне надеюсь, что раст вытеснит сишку.

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

Про библиотеки как раз наоборот. В питоне что то около 300-400 тысяч модулей, в js 2-3 ляма. К тому же в питоне начинаешь искать нужное - из десяти подходящих модулей 5 не работают вообще, 3 работат не так, как тебе надо.

Я всетаки думаю, резкий рост популярности питона это крипта и ИИшки. Высокая нагрузка.

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

Когда-нибудь соберется Берклевский процесс и осудит создателей жс и питона на пожизненное переписывание gcc карандашом на бумажке.

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

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

Разговор про ниши уже давно не актуален. Байка про то, что каждый язык подходит под свою задачу - для дебилов. Хороший знаток своего языка пишет на нём что угодно одинаково хорошо. Тут чем язык имеет больше возможностей, тем выигрышнее этот специалист. C++ и Rust тут на коне. Кто их хорошо знает, может ВСЁ, им не надо подыскивать какой-то другой инструмент вообще никогда ни под какую задачу. Аналогия «каждый инструмент хорош под свою задачу» слишком тупая, в реальном мире все языки очень похожи - они не различаются как перфоратор и молоток, они все выглядит как микроскоп - забивай любым микроскопом гвозди, тем более он не твой, его не жалко, ещё подвезут. Так-то.

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

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

Нет таких ниш, под которые «оптимален питон». Разве что какой-нибудь конкретный сайт, в который можно вбивать куски питона, чтобы нейронками управлять. Под всё на свете уже годен Rust. Ну или кресты. Больше знать ничего и не надо уже. Ну Go ещё из-за засилья на рынке.

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

Про библиотеки как раз наоборот. В питоне что то около 300-400 тысяч модулей, в js 2-3 ляма.

В python все конструкции пишутся короче, это решающий фактор для БЫСТРОГО написания говнища. Оба этих количества библиотек - это уже «очень дохрена, под всё есть». В JS наверное больше, потому что на нём пишут и бекенд и фронтенд, а на пейтоне только бекенд.

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

Ну напиши мне на раст для вин7 оконное приложение.

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

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

Ну напиши мне на раст для вин7 оконное приложение.

Во-первых мастдай не нужен, во-вторых я думаю нейронка тебе осилит это.

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

Я сослался на факт (индекс tiobe). Ты охарактеризовал его как «мусор». Обоснуй, на основании чего ты это сделал. А для этого ты доложен разобрать его и провести критику.

Т.е. для совсем глупеньких. Твой тезис «tiobe - мусор», а почему? - ну потому что это вброс, берд и т.п. И вообще, сам даказывай обратное. Ты с Михалковым знаком?

rumgot ★★★★★
()

гигабайты джаваскрипта жрут весь трафик 30 лет

хорошо хоть не лагает гигабитный интернет

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

У кадого языка всетаки есть свои нюансы.

Уже давно ничего крупно не определяющие и не решающие. Страдают только языки, у которых меньше возможностей. На C++ можно всё, а на питоне «не всё», - питон проиграл. Конец. Нюансы C++ мало кого волнуют, знатоки C++ их не замечают, как и знатоки python не замечают нюансов питона. Но вот то, что C++ ничего нам не навязывает в рантайме - компилируй в любой машинный код, а python нам что-то навязывает в виде внутренних структур данных и прочих там динамических типизаций и уборщиков мусора - это делает питон проигрывающим на «рынке возможностей».

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

Да легко. У меня есть установщик аддонов для wow 3.3.5. У многих пользователей вин7. Встречаются винхр, но этих я сразу лесом посылаю.

В итоге долгое время было два установщика: для вин8+/linux на раст и для вин7 на питоне. Потому что питон позволял сделать быстро и просто под устаревшие технологи софтину, а раст там нужен 1.4 и ниже - я даже браться на не стал. Потыкался и забил.

Я в последнее время переписал его на js (электрон), не знаю как с ним - не тестировал еще. Не могу найти народ с вин7 для тестов. Но там у меня и модуль для работы с хоткеями на раст и вообще не думаю, что заработает.

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

Т.е. для совсем глупеньких. Твой тезис «tiobe - мусор», а почему? - ну потому что это вброс, берд и т.п. И вообще, сам даказывай обратное. Ты с Михалковым знаком?

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

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

Память руками уже там давно никто не выделяет и т.п., стало няшненько

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

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

На С++ можно все, но… тебе нужно знать, как это сделать. Причем на каждом этапе. Хрен найдешь модули, хрен поймешь как это все совместить и написать, хрен соберешь под разные системы.

Я пробовал. Я с него начинал. На КАЖДОМ шаге тебе втыкают палки в колеса. Каждыйы шаг - боль и страдания.

В раст, питон (да даже js) все это просто, легко, продуманно. То что там делается в одну команду, в плюсах нужно долго нудно искать, не найти, а по факту - просто знать фичу.

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

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

В конструкторе написано new, в деструкторе delete - не считается, потому что в реальном проекте в обьект данного типа никто не полезет, его просто штатно заюзают.

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

На С++ можно все, но… тебе нужно знать, как это сделать.

Знать что-либо вообще требование базовое, для этого моск и используют и деньги разрабам платят.

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

Да, но в новых языках все это продумывается изначально и доступно просто по факту существования в рамках экосистемы языка. Это знают ИИшки, это общедоступная инфа в прицнипе - основы языков.

Сишка это в целом это не продукт, это стандарт, на основе котторого вокруг пытаются лепить сторонние по сути продукты. Кадый свой. Нет единой системы, нет единых цельных основ. Тебе нужно выцеплять эту инфу по крупицам из разных источников.

Вон, когда я на ЭТОМ ресурсе спросил для плюсов инструмент работы с модулями централизованный, мне линуксоиду посоветовали майкрософтовский, например. Я пока еще не смотрел его.

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

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

Для отображения некоего среднего вполне норм. К тому же факт не нужно воспринимать как плохо или хорошо, факт просто факт. Это некий Point of View и уже на его основании можно делать или не делать вывод. Если например разные факты говорят об одном выводе, например место по объему Python кода в github и его позиция в tiobe совпадает. Значит можно одназначно сказать, что в высокой вероятностью он популярнее всех остальных. А вот относительно JS уже такого совпадения нет, и логично уже так категорично не утсверждать, что JS стопудово на втором месте.

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

Я пробовал. Я с него начинал. На КАЖДОМ шаге тебе втыкают палки в колеса. Каждыйы шаг - боль и страдания.

Ну вот каждый прям? А можно примеры боли и страданий?

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