Cloud․ru - провайдер облачных сервисов и AI-технологий, который делает доступ к облакам и ИИ простым и удобным.
В Cloud․ru есть 100+ IaaS- и PaaS-сервисов, ML-платформа на базе суперкомпьютеров и публичное облако Cloud․ru Evolution на основе собственных разработок и open source. Облачные решения Cloud․ru подходят для задач любой сложности: от размещения сайта и тестирований до больших микросервисных приложений и обучения нейросетей.
Чтобы узнать больше, переходите на сайт Cloud.ru: clck.ru/3EpxLy или подписывайтесь на RUclips: ruclips.net/channel/UCFYQnzpYxiLUGprz56EHXqg Профсоюз: tables-pay-3ci.craft.me/5FBOJ6EJjuieDF Телеграм: t.me/howToLearnIT 0:00 Что происходит в JavaScript? 0:46 Есенинская минутка 1:38 Как сейчас развивается язык? 4:02 В чем проблема? 6:51 Суть предложения 8:32 Пытаемся понять плюсы и минусы Презентация: docs.google.com/presentation/d/1ylROTu3N6MyHzNzWJXQAc7Bo1O0FHO3lNKfQMfPOA4o/edit #javaScript #js #frontend #фронтенд #programming
меня как разработчки бесит бесконечные крысиные бега по новым технологиям и то что работодатель все это хочет. меня как пользователя бесят эти частые и бестолковые обновления, мне бы 1 обновление в год и большего не надо!
Это всё управляется на планетарном уровне. Одна из задач расплодить полный хаос в ИТ и не только, что бы человечество не развивалось, а погрязло во всех этих аля модных штучках, что бы никто уже ничеготне мог понять в этих всех никому не нужных нововведениях.
@@IgrikShit весьма условно всё это. ts > js > asm (в v8 по крайней мере так) rust > llvm ir > asm vlang/nim > ansi c > gcc GENERIC/GIMPLE/RTL > asm Если исключить мелкие детали, то не сильно то и много принципиальных отличий.
Если коротко ситуация такая - в vanila JS напихали столько говна что самим стало тошно и предлагается почистить от него стандартизацию, но не выбрасывать всё "не нужное" а перести всё туда же откуда и понабрали.
да нет там г...а вообще. Все что ты считаешь коричневой субстаницей, скорее всего различные API браузеров, ноды, сервисворкеров и прочего, это уже вопрос не к языку.
Кажется, ребята заново изобрели WASM. Не понимаю, нафига в принципе оставлять этот огрызок JS0 в текстовом виде если всё равно все будут собирать его вебпаком и он будет нечитаем. Уж лучше тогда сразу компилить в байткод.
Идея уже давно обсуждается, ничего революционного. Как вариант - WASM. Воз пока и ныне там. Но я думаю, рано или поздно мы придём к некому компилятору.
ну как бы велком в компилятор уже сейчас: транспиллер тс/бабель есть, линкер вепак/парсель/ролап есть. транспилер + линкер = компилятор. просто "низкоуровненый машинный код" в данном случае это и есть сам жс старндарта постарее
Довольно странно слышать рассуждение об особенностях языка программирования и о желаниях пользователя как о чем-то взаимосвязанном. Пользователя интересует решение стоящих перед ним задач, и в последнюю очередь его трогает на каком языке написана программа и какие философские концепции не давали спокойне спать программистам.
@@romandeveloper7720 Не, вполне хорошее замечание. Зачем нам jscore, если можно спуститься ниже? В asm или вообще байткод. Набор простых инструкций, которые простые, стабильные и надежные. А из чего ты там компилишь и какие там фичи это уже сам решай
чтобы компилятор в wasm перестал поддерживать весь сахар, а сконцентрировался на js0 который будет редко менятся, следовательно будет стабильнее и понятнее, а сахар будет набираться из инструкций js0 видимо такая идея
Не понял, чём проблема... У разработчика инструментарий остаётся и развивается, у пользователя хуже точно не становится. Дополнительные проблемы только у авторов нового стандарта и транспиляторов...
По факту перенос многих фичей в JS все же лучше, чем фреймворк на другом фремворке, создавать очередную абстракцию и пытаться это всë сжимать в бандл и передавать в качестве статики. Тем более для тяжелых приложений IMHO будет лучше написать на нативном уровне используя Qt/GTK/Flutter. Тем более современный инструмеетарий (особенно zig и rust) позволяет писать один код под каждую платформу.
Не понял противопоставления. Сделать приложение стабильным, безопасным и быстрым - это наша задача как разработчиков. А чем нам удобнее разрабатывать, тем лучше мы будем это делать. Если какие-то баги проберутся в сам язык - по ним будет максимальное количество репортов, в отличие от багов в отдельных либах.
Странная логика. Давайте баги будут у большего кол-во людей чтобы все знали как эти баги фиксить. Только вот чтобы провести какой-то фикс в либу это +- не долгое дело(далеко не всегда), с языком это может занять годы)
Кстати, это прям совершенно такая же ситуация с процами была CISC/RISС. Сначала не умели делать компиляторы и процы были CISC, т.е. сам процессор "до-компилировал" за пользователя. А потом научились делать компиляторы, и теперь взлетели ARM (RISC), в которых весь "сахар" делают компиляторы, а проц туп, как дерево.
Достаточно спорное утверждение, что пользователь хочет безопасности. Я бы сказал, что рядовой пользователь точно хочет видеть красивую и плавную картинку, про безопасность он совсем не задумывается, как можно хотеть того, а чем даже не думаешь.
@@Blinkhokесли не ошибаюсь вы часто указываете сердцу на солнце правой рукой? Ведь только русский унтерменш игнорирует требования безопасности в отличии от европейского сверхчеловека. Просто бомбит с подобных комментариев. И ведь по сути то правда что юзаерям пофиг на все, но причем тут русские то?
@@Traineratwot при том, что комментарий о малом задумывасти о безопасности написан на русском, тоже самое можно применить и к комментарию европейца. Но видимо я уже записан в националисты, прошу прощения за недопонимание
Я сам работаю в веб разработке я не понимаю автора набор умных слов из которых 99% воды да не кто не будит менять все фреймворки и или браузерные движки менять как был js так и останется максимум на уровне сборке поменяют разговор не о чем! А по поводу новых фичей так их всегда добавляли и будут
Полностью согласен! Давно пора! На мой взгляд js (js0) в идеале должен быть просто условным ассемблером (в который нормальные языки компилируются и на котором писать руками вообще не предполагается) с максимальным фокусом на минимализме, скорости и безопасности. А весь синтаксический сахар и навороты - в компиляторы. Это тупо правильно, молодцы пацаны.
@neverlanddeepinside7273 во первых не только интерпретируется но и компилируется в машинный код (частично), но я не про это, а про этап компиляции. В любые компиляторы собственно, тайпскрипта к примеру и потенциально чего угодно ещё.
@@archibaldstriebendrossel полагаю, WASM для другого предназначался, просто абстрактный кроссплатформенный код. JS0 можно назвать стандартной библиотекой васм, что-то типа POSIX/libc на С.
Осталось избавиться от излишней человеконежности в JS0, сделать его нормальным байткодом, чтобы лишнее по сети не гонять и кимпилятор/интерпретатор упростить... Ой, получается очередная JVM/CLR/WASM-подобная ВМ.
Короче запилить в браузеры что-то по типу JVM/CLR и будет всем счастье - лабай фронтэнд на чем и как хочешь. В общем опять изобрели велосипед, но лучше поздно, чем никогда... Бэкэнд изначально такой хней не страдал! Ну и для пользователей профит - более скоростной и профессиональный результат, это позволит поднять сложность клиентов на десктопный уровень.
Что за бред? Мы просто переносим сложность из движка на сборщики, где так же будет куча багов, и новые версии будут выходить каждый божий день с фиксами то одного, то другого, даже сейчас невозможно поспевать за новыми версиями библиотек, а будет вообще ад полнейший
Умные люди из гугла всё правильно говорят. Браузеры должны быть стабильные и быстрые. Эксперименты с языком надо проводить на машинах разработчиков и тестировщиков а не у пользователей.
короче пришли к идее, которая в Жаба разработке была основополагающей стратагемой: написано единожды - работает всегда и везде. Только тут все "компилируется" не в байт-код, а в байт-скрипт, работающий на всех движках.
Какие юзеры главные заказчики Куда смещать в сторону юзера Инженеры должны быть главными а не маркетологи. Да шикарно, давайте слушать " детей которые не хотят есть брокли и учить уроки" Неа, осуждаю
реальная история когда тайпскрипт берет код не из той версии зависимости, что интерпритатор, из-за чего код либо не компилится, либо не работает. Приходится ренейм зависимости делать. А еще подстветка синтаксиса часто работает иначе. Конечно мы устали от тулов
У джавы скрипта не было типизации и компиляции в прямом виде как у с и с++. Вопрос типизации решили костылями как тайпскрипт, который по сути создал подраздел языка т.к. изучать надо, ну и ладно. Теперь наконец-то дошло дело до прекомпиляции (но называют его все по другому, но суть не меняется). Суть в том, что предложено прекомпиляция это значит что с одного языка (т.е. с натив джава скрипта переводить в другой язык, который назовите как хотите для браузеров, который тоже придется учить). Трагедия заключается в том, что этот язык все равно с ядра браузера будет снова компилироваться, чтобы работала. А разработчики нужны знать: нативную джаву скрипт, тайпсрипт, фреймворков типа React или Vue хотя бы 2 штуки для жизни, понимать хорошо node.js или bun, новый язык для браузеров и ещё кучу всего, чтобы можно было с DEV в продакт выкатывать т.к. там тонкостей очень много и многие делают ошибки, даже очень крупные организации. С учётом того, что конечные результаты многолетней работы на фронтенде легко можно стырить, то задаешься вопросом, что вообще происходит.
как и во всём - разрастается огромный снежный ком из заплаток, библиотек, вспомогательного "сахара" и т.п. мусора) Кончится всё тем, что он потрескается и рассыпется в итоге.
Сейчас JS такой сложный, что поддерживать его стандарт могут несколько браузеров и движков монополистов, но если они введут стандарт JS0 то появится возможность написать движок заново, и он будет отличаться в строну большей производительности и безопасности от тех что есть сейчас. А все новые фичи языка и фреймворки можно будет компилировать отдельно или встроить компилятор как плагин к движку. В итоге появился больше свободы в новых фичах языка и появится больше движков на которых легче реализовывать JS0
Исходя из того, что я понял. Убираем боль бесконечных сборщиков созданием JS0, который будет работать вечно и всегда одинаково. В принципе, идея звучит логично, учитывая как разрабы любят обмазываться сахаром, который даже не успел стать зелёным.
Как-то странно звучит тащить весь код всех имплементаций в бандл если браузер уже может содержать все эти оптимизированные имплементации *нативно* (это важно). Если хочется писать под один стандарт, то ради бога, это уже есть. Ставь таргет пониже и все. Зачем блочить развитие браузерных API - не ясно
они еще в думах на тему того, что будет в JS0, не мал шанс, что в том числе оно туда и попадет. Вообще за это кажется отвечала другая стандартизирующая инстанция WhatWG, ну по крайней мере в ECMASctipt нет ничего касающегося Web API.
Так а чем это отличается от тайпскрипта сегодня? И так никто без билда js не юзает. Будет ещё один компилятор который сахар преобразует и все в основном...
@@bubblesort6368Большинство - не юзает, но всё равно бывают попытки по типу Alpine.js и тд. До сих пор не понимаю как можно было докатиться до того что люди пишут всё на ноде обмазавшись абстракциями (как убого что всё в итоге компилируется в тот же самый язык) Потом эти соевые дауны снова переизобретают серверный рендеринг и нативный код.
Хочется современные стандарты и старые браузеры. Поэтому по любому это надо класть в бандл. Тут скорее, по логике, это браузерам не стоит обновляться. Потому что транспайлеры всё скомпилируют под любые браузеры. В этом и вопрос в целом. На каком именно функционале браузерам стоит остановиться и сосредоточиться
Mozilla плохого не посоветует. Идея хорошая и возможно с такой реализацией браузеры станут лучше, так как сосредоточатся не на реализации новых стандартов, а на оптимизации, а может даже новые движки появятся.
Я не фронтенд разраб. Поясните пжл чем это будет отличаться от нынешней ситуации? Ведь сейчас и так тот же typescript компилируется в js. Или тут фишка в том чтобы выпилить из js кучу всего и перенести работу на сборщик?
То же самое с функционалом в любой программе, напихают функционала что юзеру уже некуда смотреть, настроек столько что голову сломать, а они все прибавляют и прибавляют. В итоге вроде как есть понятие Декомпозиция о котором вам спросят, но никто на деле его не соблюдает. Невозможно напихать миллион настроек и думать что пользователь от етого кайфует
JS0 выглядит как C или ASM но для веба) Идея сделать общие функции из которых можно слепить весь "сахар" прикольная. Если предположить, что так и будет, то теперь чтобы поддерживать нововведения достаточно одной базы, которую легко будет править в случае ошибок + компилятор для сахара, в котором тоже можно сделать общую базу и делать свои надстройки. Выглядит оч удобно
Я тоже заметил, и как этот "ассемблер" (JS0) уже существует - webassembly (WASM). Таким образом можно даже не свой jsloadsh сделать, а совсем другой язык, который компилируется в промежуточный JS0
Какая то тупость. Все эти проблемы были решены сто лет назад в других языках. Зачем придумывать какой то JS0 если есть байткод? Яркий пример такого решения это Flash. Писали на ActionScript, потом всё это дело компилировалось в компактный и высоко оптимизированный байткод и запускалось в изоморфной виртуальной машине которая по сути ничем не отличалась от V8. Переходим на байткод и можно будет выбросить недоразумение в виде WASM и половину V8 со всей этой лабудой ввиде JIT, TurboBuf и т.д.
@namegorm конечно недоразумение, если бы WASM работал как полноценный компилятор в байткод (как в любом другом языке) то его уже давно можно было бы использовать как автоматический таргет компиляции, но этого почему то не происходит, или может ты можешь показать мне хотя бы один сайт написанный чисто на WASM? Иди и почитай про его ограничения перед тем как кого-то в теорию тыкать, умник
@@Andrey-il8rh ограничения браузера мало относится к WASM - это претензия в браузеру. Если ты расширишь свой кругозор, то увидишь, что WASM прекрасно применяется на серверах и поддерживается как target в rust, go и т.д. Вопрос в том, почему криворукие инженеры браузеров не дают инициализировать WASM модуль без JS (это единственная причина, по которой ни один сайт, полностью на WASM сейчас невозможен). Ограничения? Они опять только в браузере. Гугли wasi.
Зачем тогда оставлять JS0 интерпретируемым, если компиляция JSSugar будет обязательна? Тогда можно просто компилировать в WebAssembly, байт-код какой-нибудь или еще что-то. Это поможет еще больше с оптимизацией и вероятно безопасностью, при этом не отразившись на удобстве для разработчиков.
@ Мой поинт в том, что эта задумка в целом идиотская и лучше уже в wasm компилировать, но еще лучше оставить все как есть и продолжать развивать джаваскрипт
@@Senteggo представь js до es6 или с богатством синтаксиса как у go. Это не мешало бы читать код, не смотря на примитивность конструкций. Тем более существуют source map для кода, которые позволяют человеку показывать исходный код вместе с сахаром
@@Senteggo я не сторонник js0 т.к. чтобы реализовать идею "красиво", пришлось бы сломать обратную совместимость. Делать вариантом js0 всё богатство текущего es синтаксиса звучит как "сахар без сахара"
Не совсем понимаю. А что мешает оставить сахар в языке, но его обработку делать на уровне компилятора? И наличие сахара не отменяет того, что ты можешь повторить все то же самое на базовом языке и оптимизировать уже его под себя. Ведь синтаксический сахар, как и партия - дело добровольное.
Ну а так-то я очень даже за, если меньший набор инструментария будет иметь больше функций, просто обожаю минималистичные универсальные сборки. Но само собой из-за своей изоляции (я каждый ЯП использую там, где у него по умолчанию больше всего возможностей, например JS на фронтенде (в браузере) , остальные ЯП - бэкенде (непосредственно на компах)), я не рассматриваю такие штуки, как NodeJS.😅
неужели им пришла в голову та же мысль что и мне... или мне пришла та же что и им. задумал я делать свой язык который был бы похож на JS но без сложного рантайма который пытается угадывать типы и деоптимизировать код по каждому хичу. и подумал а почему бы не сделать весь синтаксический сахар отдельной надстройкой (моды к компилятору). то есть можно будет иметь под капотом более простой язык даже более многословный, но не терять в удобстве для разработчика. идею я взял от babel но подумал почему так никто не сделал до сих пор ни в одном языке. так как моды будут опциональными то разрабочик сможет решить какие из них ему нужны или установить кастомные. правда я хотел язык не для браузера а для нативного исполнения, но подумал что я смогу сделать несколько таргетов компиляции один из которых это js
Я малость не понял концепцию из-за малого опыта, ну тип сделают более сухую версию js за стандартизацией которого будет проще следить, а весь синтаксический сахар падает на плечи разрабов фреймворков и сборщиков? И тип разработчик как и раньше выбирает инструменты, но процесс их создания малость отличается?
Будет JS с фишками и сс(описанные в стандарте), который автоматически будет преобразовываться в низкоуровневый JS(который тоже описан в стандарте). Сборщики итак это умеют
Ну я так понимаю, что они хотят сделать, что-то типа IL в C#. Проще говоря по итогу будет получаться оптимизированных но не очень читаемый код. Ты же знаешь допустим что V8 парсит код переводит в машинный код и пытается его оптимизировать, а потом исполняет. По сути я думаю будет просто компилятор который во время компиляции будет все оптимизировать и выдавать тому же V8 уже машинный код или близкий к этому как IL в С# который является промежуточным. Они по факту подсуитились потому что многие языки уже могут заменить JS как к примеру Котлин который как TS может компилироваться в JS только при этом он может быть и быстрым исполняясь в JVM так же компилироваться в Native. Или возьмём C# с Blazor который так же позволяет исполнять C# в браузере и тебе не нужен JS. Кстати я последние 2 проекта делал на Blazor, там в проекте JS вообще не было и это все в разы быстрее работает за счёт wasm.
Для разработчиков ничего не поменяется, в этом и смысл. Поменяется подход к стандартизации и реализации новых фич, процесс станет более простым и гибким. Условно если для какой-то фичи нет необходимости добавлять поддержку в сам движок, то она будет стандартизирована как сахар и её завезут в транспиляторы намного быстрее, чем если бы надо было завозить в движки.
Зачем изобретать велосипед? Почему не компилировать в WebASM? Какая разница, если писать транспиляторы для JS0, то лучше сразу сделать компилятор для WebASMa
Новость забавная, но я как кодила без сахара в блокноте, так и буду. Любой сахар, который сводится к некому базовому языку, наверняка наплодит при трансляции кучу функций вместо сахарных конструкций. В итоге лишние вызовы будут попадать в циклы и мем про ленивца станет реальностью. Не, никакого сахара! Только горький JS!!!
Не вижу ничего плохо во множестве версий сахара. Во-первых: те же библиотеки и фреймворки, по-моему, делают тоже самое, во-вторых: уже есть тайпскрипт. Короче, в этом плане хуже не станет.
какой вопрос, а смысл ведь по факту ничего не изменится, по факту у вас будет некий байбл который будет компилить JavaScript suga в JavaScript 0 то есть по факту мы просто-напросто отказываемся от бабла (а точнее переименовываем )и всё. как по мне бред
В JS-е до раздвоения, а н-нет, до растроения (забыл про ts) личности добрались. Люблю и ненавижу этот язык вместе со всеми заложенными в него легаси багами и остальными заморочками, которых меньше никак не становится. Нравится его гибкость и элегантность, но терпеть не могу всю эту излишнюю возню с ним. Если все ок будет, уйду с него на какой-нибудь Python или Java, а JS как хобби для веб-страничек и ui оставлю. Прикольно все-таки эти ваши реакты и вью потыкать. Upd: Хотя наверное те кто на JS пишут давно, 15 и более лет, скажут что я вообще ниче не понимаю, ведь раньше под каждый браузер нужно было писать свой JS xD
как только захочешь динамики и всяких реактивностей на страничке, с подгрузкой при прокрутке и при этом чтобы кукухой не уехать через пару месяцев активного производства командой 12 человек, то очень быстро поймешь, что написал очередной гомункул реакта/вью/ангуляра.
Такой бред давайте уже в vanilla js будем писать на assembler чтобы разраб сошел с ума от этого. Не каждый подчеркиваю "НЕ КАЖДЫЙ" использует библиотеки допустим мне достаточно vanilla.js для простых задач.
Ну, тут наверно имеется ввиду что код, выполняясь на машинном уровне, как wasm, будет в разы производительней, это значит что приложения в браузере не будут уступать десктопным.
А разве JS0 не напоминает webassembly? Как по мне как раз весь язык прям базу, а самое главное - api, было бы круто вынести в него. А на нем можно уже строить любые языки, хоть js со своим сахаром, хоть на rust пиши
Интересно как вы будете дебажить код на уровне браузера, когда там совсем не тот код, который вы писали, если я правильно понял концепцию. Ну да, пользователя это не должно волновать, ему нужен чистый и стабильный результат. Но как его добиться?)
Ура, фронты еще разок изобрели Intermediate Representation. На кой js0 нужен, когда уже существует wasm фиг поймёшь: вот в чем беда компилить js в тот же wasm, который будет дергать уже не js апи браузера, а свои собственные? Как будто от выпиливания js из бразуера выйграет даже wasm, плюсом не придётся поддерживать килотонну кода связанного с js0. А если нужен именно текстовой стандарт скриптов взять wabt. Все же готово?
Очень похоже на реализацию работы c++, c# и других языков с cir, там принцип такой же, есть баит кодинг cir, ты пишешь только на условном своём языке компилируешь его и получаешь код.
Парни шумно борятся за бюджет. Давайте тихо позавидуем парням, и шумно снимем лапшу, которую они нам на уши вешают. "Бездельники! Идите на завод работать!" Это всё из Ангулар и НодJS началось. А я говорил, что так и будет. Всем успех JQuery покоя недавал. Как они ловко, с неудобоваримыми структурами обычного JS работают ))) Кушайте тепрь это.
Это какие то нео-луддиты. Надеюсь никто их не послушает. Разделить джаваскрипт на два языка🤣, такой бред. Сам с нетерпением жду добавления тайпскрипта в экмаскрипт.
Оно должно компилироваться в байт код из другого языка. Сейчас многие фронтендеры создавая бизнес приложение навряд ли будут использовать голый HTML + JS, а возьмут фреймворк тоог и бандлер, дабы абстрагироваться от работы на голых скриптах 👀
А ведь изначально какой-то чел хотел писать код без строгой типизации. И вот к чему это привело... Надеюсь, в следующие 20 лет весь вебдев плавненько перейдёт на более грамотный ЯП
А что такое p5js ? это же просто библиотека, правильно? Ну и очень удобно мне кажется. JS0 - должен быть максимально компактным и без всяких фичей, а уж библиотеки делать можно сколько угодно - отдельно для AI, отдельно для работы с таблицами или графиками, отдельно для DOM модели документов и так далее... Зачем всё пихать в базовый стандарт, чтобы он распухал и распухал...
Ну, если ума нет, то таким же, а если есть, то хоть типизацию строгую встроить в язык и расширить стандартную библиотеку под современные требования, т.е. добавить стейт менеджмент и компонентную модель с биндингом аля реакт или ангуляра
Cloud․ru - провайдер облачных сервисов и AI-технологий, который делает доступ к облакам и ИИ простым и удобным.
В Cloud․ru есть 100+ IaaS- и PaaS-сервисов, ML-платформа на базе суперкомпьютеров и публичное облако Cloud․ru Evolution на основе собственных разработок и open source. Облачные решения Cloud․ru подходят для задач любой сложности: от размещения сайта и тестирований до больших микросервисных приложений и обучения нейросетей.
Чтобы узнать больше, переходите на сайт Cloud.ru: clck.ru/3EpxLy или подписывайтесь на RUclips: ruclips.net/channel/UCFYQnzpYxiLUGprz56EHXqg
Профсоюз:
tables-pay-3ci.craft.me/5FBOJ6EJjuieDF
Телеграм:
t.me/howToLearnIT
0:00 Что происходит в JavaScript?
0:46 Есенинская минутка
1:38 Как сейчас развивается язык?
4:02 В чем проблема?
6:51 Суть предложения
8:32 Пытаемся понять плюсы и минусы
Презентация:
docs.google.com/presentation/d/1ylROTu3N6MyHzNzWJXQAc7Bo1O0FHO3lNKfQMfPOA4o/edit
#javaScript #js #frontend #фронтенд #programming
Не имплементаторы, а транспиляторы
Короче придумали очередную шляпу для облегчения, которая как обычно опять усложнит работу
На Java и Script
Джава уже есть
Значить просто скрипт
Тоже первой мыслью было что комьюнити JS наконец-то изобрело Java
@@zimakov там же на два сказанно
Джава скретч
Script5
меня как разработчки бесит бесконечные крысиные бега по новым технологиям и то что работодатель все это хочет.
меня как пользователя бесят эти частые и бестолковые обновления, мне бы 1 обновление в год и большего не надо!
Это какие-то странные работодатели, по идее для уже существующего главное - прибыль, он не торопится оплачивать рефакторинг на новые технологии
@@GrnWolf Коллега, скорее всего, просто хвастается..
Пытается вызвать у нас черную зависть..-)
так из за этих гонок вам платят большие деньги
Это всё управляется на планетарном уровне. Одна из задач расплодить полный хаос в ИТ и не только, что бы человечество не развивалось, а погрязло во всех этих аля модных штучках, что бы никто уже ничеготне мог понять в этих всех никому не нужных нововведениях.
@@ОлегГапон-е8т База
Тогда уже проще сразу на компилируемый язык перейти желательно с жесткой типизацией
ts
@@aquinary. тс это не язык, а самый обычный препроцессор. Другими словами костыль
@@IgrikShit весьма условно всё это.
ts > js > asm (в v8 по крайней мере так)
rust > llvm ir > asm
vlang/nim > ansi c > gcc GENERIC/GIMPLE/RTL > asm
Если исключить мелкие детали, то не сильно то и много принципиальных отличий.
Rust?
@@gonry2557 pubg
Если коротко ситуация такая - в vanila JS напихали столько говна что самим стало тошно и предлагается почистить от него стандартизацию, но не выбрасывать всё "не нужное" а перести всё туда же откуда и понабрали.
Лучше бы почистили интернет от жаваскрипта.
Вообще не так...
@@AlexD-lc2nx поч
да нет там г...а вообще. Все что ты считаешь коричневой субстаницей, скорее всего различные API браузеров, ноды, сервисворкеров и прочего, это уже вопрос не к языку.
@@AlexD-lc2nxневозможно
Кажется, ребята заново изобрели WASM.
Не понимаю, нафига в принципе оставлять этот огрызок JS0 в текстовом виде если всё равно все будут собирать его вебпаком и он будет нечитаем. Уж лучше тогда сразу компилить в байткод.
ну наконец-то отдельно ява, отдельно скрипт
😂😂😂
Ява...чел ты..
JS0 вообще не нужен, достаточно в WASM компилировать. Идея транспайлинга и есть эта добавленная и не обязательная сложность.
7:20 никогда в жизни колесо не знало такого быстрого переизобретения
Идея уже давно обсуждается, ничего революционного. Как вариант - WASM. Воз пока и ныне там. Но я думаю, рано или поздно мы придём к некому компилятору.
ну как бы велком в компилятор уже сейчас: транспиллер тс/бабель есть, линкер вепак/парсель/ролап есть. транспилер + линкер = компилятор. просто "низкоуровненый машинный код" в данном случае это и есть сам жс старндарта постарее
Неа
Довольно странно слышать рассуждение об особенностях языка программирования и о желаниях пользователя как о чем-то взаимосвязанном. Пользователя интересует решение стоящих перед ним задач, и в последнюю очередь его трогает на каком языке написана программа и какие философские концепции не давали спокойне спать программистам.
Не пойму, это намек на то что бы все скрипты свести исключительно к webassembly?
Зачем JS0, если есть WASM?
Разные вещи Вась
@@romandeveloper7720 Не, вполне хорошее замечание. Зачем нам jscore, если можно спуститься ниже? В asm или вообще байткод. Набор простых инструкций, которые простые, стабильные и надежные. А из чего ты там компилишь и какие там фичи это уже сам решай
чтобы компилятор в wasm перестал поддерживать весь сахар, а сконцентрировался на js0 который будет редко менятся, следовательно будет стабильнее и понятнее, а сахар будет набираться из инструкций js0 видимо такая идея
Не понял, чём проблема... У разработчика инструментарий остаётся и развивается, у пользователя хуже точно не становится. Дополнительные проблемы только у авторов нового стандарта и транспиляторов...
По факту перенос многих фичей в JS все же лучше, чем фреймворк на другом фремворке, создавать очередную абстракцию и пытаться это всë сжимать в бандл и передавать в качестве статики.
Тем более для тяжелых приложений IMHO будет лучше написать на нативном уровне используя Qt/GTK/Flutter. Тем более современный инструмеетарий (особенно zig и rust) позволяет писать один код под каждую платформу.
Не понял противопоставления. Сделать приложение стабильным, безопасным и быстрым - это наша задача как разработчиков. А чем нам удобнее разрабатывать, тем лучше мы будем это делать. Если какие-то баги проберутся в сам язык - по ним будет максимальное количество репортов, в отличие от багов в отдельных либах.
Странная логика. Давайте баги будут у большего кол-во людей чтобы все знали как эти баги фиксить. Только вот чтобы провести какой-то фикс в либу это +- не долгое дело(далеко не всегда), с языком это может занять годы)
Зачем разделять? Можно просто компилировть весь JS в WebAssembly :)
JS0 уже придумали. Называется WASM.
Кстати, это прям совершенно такая же ситуация с процами была CISC/RISС. Сначала не умели делать компиляторы и процы были CISC, т.е. сам процессор "до-компилировал" за пользователя. А потом научились делать компиляторы, и теперь взлетели ARM (RISC), в которых весь "сахар" делают компиляторы, а проц туп, как дерево.
@@alexzk3вітаю! Так, згоден
Достаточно спорное утверждение, что пользователь хочет безопасности. Я бы сказал, что рядовой пользователь точно хочет видеть красивую и плавную картинку, про безопасность он совсем не задумывается, как можно хотеть того, а чем даже не думаешь.
для этого было уточнено, что есть безопасность, то, что твои данные не потеряются и деньги твои не украдутся.
"Не думаем о безопасности, пока это не коснётся меня лично". Это обычный русский менталитет, не обращайте внимания на отрывок.
@@Blinkhokесли не ошибаюсь вы часто указываете сердцу на солнце правой рукой? Ведь только русский унтерменш игнорирует требования безопасности в отличии от европейского сверхчеловека.
Просто бомбит с подобных комментариев. И ведь по сути то правда что юзаерям пофиг на все, но причем тут русские то?
@@Traineratwot при том, что комментарий о малом задумывасти о безопасности написан на русском, тоже самое можно применить и к комментарию европейца. Но видимо я уже записан в националисты, прошу прощения за недопонимание
@@Blinkhok да записан, в следующий раз пиши комментарии без унижения по национальному признаку
Я сам работаю в веб разработке я не понимаю автора набор умных слов из которых 99% воды да не кто не будит менять все фреймворки и или браузерные движки менять как был js так и останется максимум на уровне сборке поменяют разговор не о чем! А по поводу новых фичей так их всегда добавляли и будут
Сначала хотел спросить что за умные слова тут были, а потом прочитал "не кто" 😅
Полностью согласен! Давно пора!
На мой взгляд js (js0) в идеале должен быть просто условным ассемблером (в который нормальные языки компилируются и на котором писать руками вообще не предполагается) с максимальным фокусом на минимализме, скорости и безопасности. А весь синтаксический сахар и навороты - в компиляторы. Это тупо правильно, молодцы пацаны.
Он интерпретируется рантаймом, в какие компиляторы
@neverlanddeepinside7273 во первых не только интерпретируется но и компилируется в машинный код (частично), но я не про это, а про этап компиляции. В любые компиляторы собственно, тайпскрипта к примеру и потенциально чего угодно ещё.
WASM называется
@@archibaldstriebendrossel полагаю, WASM для другого предназначался, просто абстрактный кроссплатформенный код. JS0 можно назвать стандартной библиотекой васм, что-то типа POSIX/libc на С.
@@daiske2867 JS0 и JSSugar - это про синтаксис языка, а не про стандартную библиотеку или платформу.
Осталось избавиться от излишней человеконежности в JS0, сделать его нормальным байткодом, чтобы лишнее по сети не гонять и кимпилятор/интерпретатор упростить... Ой, получается очередная JVM/CLR/WASM-подобная ВМ.
Ахах! Все новое - хорошо забытое старое) Хотя почему забытое? Фронты наверное и не знали, что так можно было))
@@ApkaxaS ахаххаха ты чё пешка
Прощай прозрачность паутинки, да здравствует мечта корпораций
Короче запилить в браузеры что-то по типу JVM/CLR и будет всем счастье - лабай фронтэнд на чем и как хочешь. В общем опять изобрели велосипед, но лучше поздно, чем никогда... Бэкэнд изначально такой хней не страдал! Ну и для пользователей профит - более скоростной и профессиональный результат, это позволит поднять сложность клиентов на десктопный уровень.
Что за бред? Мы просто переносим сложность из движка на сборщики, где так же будет куча багов, и новые версии будут выходить каждый божий день с фиксами то одного, то другого, даже сейчас невозможно поспевать за новыми версиями библиотек, а будет вообще ад полнейший
Тоже считаю разделение неуместным 😅
Умные люди из гугла всё правильно говорят. Браузеры должны быть стабильные и быстрые. Эксперименты с языком надо проводить на машинах разработчиков и тестировщиков а не у пользователей.
Сборщики не надо встраивать в браузеры и всегда можно дебагать сами сборщики
@@Ryurixа чё жалко
САМАЯ ОХРЕНИТЕЛЬНАЯ РЕКЛАМА!!!!!!!!!!!! ХОЧУ ПЕРЕСМОТРЕТЬ ЕЩЁ!!! Благодарю за поэзию!!
короче пришли к идее, которая в Жаба разработке была основополагающей стратагемой: написано единожды - работает всегда и везде. Только тут все "компилируется" не в байт-код, а в байт-скрипт, работающий на всех движках.
Какие юзеры главные заказчики
Куда смещать в сторону юзера
Инженеры должны быть главными а не маркетологи. Да шикарно, давайте слушать " детей которые не хотят есть брокли и учить уроки"
Неа, осуждаю
Ты продукты для кого делаешь Вась. Вот и все
Главный ты в области своей, но область твоя обслуживает юзеров
реальная история когда тайпскрипт берет код не из той версии зависимости, что интерпритатор, из-за чего код либо не компилится, либо не работает. Приходится ренейм зависимости делать. А еще подстветка синтаксиса часто работает иначе. Конечно мы устали от тулов
У джавы скрипта не было типизации и компиляции в прямом виде как у с и с++. Вопрос типизации решили костылями как тайпскрипт, который по сути создал подраздел языка т.к. изучать надо, ну и ладно. Теперь наконец-то дошло дело до прекомпиляции (но называют его все по другому, но суть не меняется). Суть в том, что предложено прекомпиляция это значит что с одного языка (т.е. с натив джава скрипта переводить в другой язык, который назовите как хотите для браузеров, который тоже придется учить). Трагедия заключается в том, что этот язык все равно с ядра браузера будет снова компилироваться, чтобы работала. А разработчики нужны знать: нативную джаву скрипт, тайпсрипт, фреймворков типа React или Vue хотя бы 2 штуки для жизни, понимать хорошо node.js или bun, новый язык для браузеров и ещё кучу всего, чтобы можно было с DEV в продакт выкатывать т.к. там тонкостей очень много и многие делают ошибки, даже очень крупные организации. С учётом того, что конечные результаты многолетней работы на фронтенде легко можно стырить, то задаешься вопросом, что вообще происходит.
как и во всём - разрастается огромный снежный ком из заплаток, библиотек, вспомогательного "сахара" и т.п. мусора) Кончится всё тем, что он потрескается и рассыпется в итоге.
Про какой ещё новый язык для браузеров ты говоришь? Об этом речи не было
Сейчас JS такой сложный, что поддерживать его стандарт могут несколько браузеров и движков монополистов, но если они введут стандарт JS0 то появится возможность написать движок заново, и он будет отличаться в строну большей производительности и безопасности от тех что есть сейчас. А все новые фичи языка и фреймворки можно будет компилировать отдельно или встроить компилятор как плагин к движку. В итоге появился больше свободы в новых фичах языка и появится больше движков на которых легче реализовывать JS0
Лучше тогда вместо JS0 допилить WASM и компилить "JS-Sugar" в него
Исходя из того, что я понял. Убираем боль бесконечных сборщиков созданием JS0, который будет работать вечно и всегда одинаково.
В принципе, идея звучит логично, учитывая как разрабы любят обмазываться сахаром, который даже не успел стать зелёным.
Как-то странно звучит тащить весь код всех имплементаций в бандл если браузер уже может содержать все эти оптимизированные имплементации *нативно* (это важно). Если хочется писать под один стандарт, то ради бога, это уже есть. Ставь таргет пониже и все. Зачем блочить развитие браузерных API - не ясно
они еще в думах на тему того, что будет в JS0, не мал шанс, что в том числе оно туда и попадет. Вообще за это кажется отвечала другая стандартизирующая инстанция WhatWG, ну по крайней мере в ECMASctipt нет ничего касающегося Web API.
Так а чем это отличается от тайпскрипта сегодня? И так никто без билда js не юзает. Будет ещё один компилятор который сахар преобразует и все в основном...
@@bubblesort6368Большинство - не юзает, но всё равно бывают попытки по типу Alpine.js и тд.
До сих пор не понимаю как можно было докатиться до того что люди пишут всё на ноде обмазавшись абстракциями (как убого что всё в итоге компилируется в тот же самый язык)
Потом эти соевые дауны снова переизобретают серверный рендеринг и нативный код.
Хочется современные стандарты и старые браузеры. Поэтому по любому это надо класть в бандл.
Тут скорее, по логике, это браузерам не стоит обновляться. Потому что транспайлеры всё скомпилируют под любые браузеры. В этом и вопрос в целом.
На каком именно функционале браузерам стоит остановиться и сосредоточиться
@@youmaril Очевидно если в браузере останется только движок, бандл любого сайта будет грузиться минут 20.....
Mozilla плохого не посоветует. Идея хорошая и возможно с такой реализацией браузеры станут лучше, так как сосредоточатся не на реализации новых стандартов, а на оптимизации, а может даже новые движки появятся.
Уже есть WebAssembly
Я не фронтенд разраб. Поясните пжл чем это будет отличаться от нынешней ситуации? Ведь сейчас и так тот же typescript компилируется в js. Или тут фишка в том чтобы выпилить из js кучу всего и перенести работу на сборщик?
То же самое с функционалом в любой программе, напихают функционала что юзеру уже некуда смотреть, настроек столько что голову сломать, а они все прибавляют и прибавляют. В итоге вроде как есть понятие Декомпозиция о котором вам спросят, но никто на деле его не соблюдает. Невозможно напихать миллион настроек и думать что пользователь от етого кайфует
JS0 выглядит как C или ASM но для веба) Идея сделать общие функции из которых можно слепить весь "сахар" прикольная. Если предположить, что так и будет, то теперь чтобы поддерживать нововведения достаточно одной базы, которую легко будет править в случае ошибок + компилятор для сахара, в котором тоже можно сделать общую базу и делать свои надстройки. Выглядит оч удобно
Я тоже заметил, и как этот "ассемблер" (JS0) уже существует - webassembly (WASM). Таким образом можно даже не свой jsloadsh сделать, а совсем другой язык, который компилируется в промежуточный JS0
Какая то тупость. Все эти проблемы были решены сто лет назад в других языках. Зачем придумывать какой то JS0 если есть байткод? Яркий пример такого решения это Flash. Писали на ActionScript, потом всё это дело компилировалось в компактный и высоко оптимизированный байткод и запускалось в изоморфной виртуальной машине которая по сути ничем не отличалась от V8. Переходим на байткод и можно будет выбросить недоразумение в виде WASM и половину V8 со всей этой лабудой ввиде JIT, TurboBuf и т.д.
WASM недоразумение? Ты только что буквально описал его идею и предложил на него перейти. Учи теорию сначала, гений.
@namegorm конечно недоразумение, если бы WASM работал как полноценный компилятор в байткод (как в любом другом языке) то его уже давно можно было бы использовать как автоматический таргет компиляции, но этого почему то не происходит, или может ты можешь показать мне хотя бы один сайт написанный чисто на WASM? Иди и почитай про его ограничения перед тем как кого-то в теорию тыкать, умник
@@Andrey-il8rh ограничения браузера мало относится к WASM - это претензия в браузеру. Если ты расширишь свой кругозор, то увидишь, что WASM прекрасно применяется на серверах и поддерживается как target в rust, go и т.д. Вопрос в том, почему криворукие инженеры браузеров не дают инициализировать WASM модуль без JS (это единственная причина, по которой ни один сайт, полностью на WASM сейчас невозможен). Ограничения? Они опять только в браузере. Гугли wasi.
Зачем тогда оставлять JS0 интерпретируемым, если компиляция JSSugar будет обязательна? Тогда можно просто компилировать в WebAssembly, байт-код какой-нибудь или еще что-то. Это поможет еще больше с оптимизацией и вероятно безопасностью, при этом не отразившись на удобстве для разработчиков.
Основная причина в том, что веб задумывался открытым, wasn скрывает логику и потому не замена js.
@ а в чем смысл окрытости, если открытым будет только перекомпилированный огрызок доисторичиской версии JS?
@ Мой поинт в том, что эта задумка в целом идиотская и лучше уже в wasm компилировать, но еще лучше оставить все как есть и продолжать развивать джаваскрипт
@@Senteggo представь js до es6 или с богатством синтаксиса как у go. Это не мешало бы читать код, не смотря на примитивность конструкций. Тем более существуют source map для кода, которые позволяют человеку показывать исходный код вместе с сахаром
@@Senteggo я не сторонник js0 т.к. чтобы реализовать идею "красиво", пришлось бы сломать обратную совместимость. Делать вариантом js0 всё богатство текущего es синтаксиса звучит как "сахар без сахара"
Не совсем понимаю. А что мешает оставить сахар в языке, но его обработку делать на уровне компилятора? И наличие сахара не отменяет того, что ты можешь повторить все то же самое на базовом языке и оптимизировать уже его под себя. Ведь синтаксический сахар, как и партия - дело добровольное.
Тайпскрипт маст дай!😅
То есть JSS нужно будет компилировать в JS0 самому и не будет возможности вот так просто брать и запускать без компиляции?)
jss пользует браузерное апи. по факту оно парсит твой объект в рантайме и динамически создает стили.
Разве скоро от JS не откажутся и не перейдут на WebAssembly?
нет
@@5250n почему нет?
@@Ivan-t8l1r руками попробовать надо что-то дельное на этом соорудить, без использования js и станет ясно)
оно будет медленнее и менее удобно
@@Ivan-t8l1r имею ввиду классический веб сервис среднего размера
@@5250n пишут, что у WASM пока много ограничений (нет доступа к DOM
Вау, жс внезапно открыл для себя C#)
У нас получается будет разделение на скрипты и просто java ??? Это же как scratch ?!😂😅
Ну а так-то я очень даже за, если меньший набор инструментария будет иметь больше функций, просто обожаю минималистичные универсальные сборки. Но само собой из-за своей изоляции (я каждый ЯП использую там, где у него по умолчанию больше всего возможностей, например JS на фронтенде (в браузере) , остальные ЯП - бэкенде (непосредственно на компах)), я не рассматриваю такие штуки, как NodeJS.😅
неужели им пришла в голову та же мысль что и мне... или мне пришла та же что и им. задумал я делать свой язык который был бы похож на JS но без сложного рантайма который пытается угадывать типы и деоптимизировать код по каждому хичу. и подумал а почему бы не сделать весь синтаксический сахар отдельной надстройкой (моды к компилятору). то есть можно будет иметь под капотом более простой язык даже более многословный, но не терять в удобстве для разработчика. идею я взял от babel но подумал почему так никто не сделал до сих пор ни в одном языке. так как моды будут опциональными то разрабочик сможет решить какие из них ему нужны или установить кастомные. правда я хотел язык не для браузера а для нативного исполнения, но подумал что я смогу сделать несколько таргетов компиляции один из которых это js
Я вообще думал что все языки работают так предлагают в этой презентации. Помоему это единственный правильный подход.
Я малость не понял концепцию из-за малого опыта, ну тип сделают более сухую версию js за стандартизацией которого будет проще следить, а весь синтаксический сахар падает на плечи разрабов фреймворков и сборщиков? И тип разработчик как и раньше выбирает инструменты, но процесс их создания малость отличается?
Будет JS с фишками и сс(описанные в стандарте), который автоматически будет преобразовываться в низкоуровневый JS(который тоже описан в стандарте). Сборщики итак это умеют
Ну это будет на подобии тайп скрипта но вместо js будет все преобразовываться в js0 (лично я так понял)
Ну я так понимаю, что они хотят сделать, что-то типа IL в C#. Проще говоря по итогу будет получаться оптимизированных но не очень читаемый код. Ты же знаешь допустим что V8 парсит код переводит в машинный код и пытается его оптимизировать, а потом исполняет. По сути я думаю будет просто компилятор который во время компиляции будет все оптимизировать и выдавать тому же V8 уже машинный код или близкий к этому как IL в С# который является промежуточным. Они по факту подсуитились потому что многие языки уже могут заменить JS как к примеру Котлин который как TS может компилироваться в JS только при этом он может быть и быстрым исполняясь в JVM так же компилироваться в Native. Или возьмём C# с Blazor который так же позволяет исполнять C# в браузере и тебе не нужен JS. Кстати я последние 2 проекта делал на Blazor, там в проекте JS вообще не было и это все в разы быстрее работает за счёт wasm.
Для разработчиков ничего не поменяется, в этом и смысл. Поменяется подход к стандартизации и реализации новых фич, процесс станет более простым и гибким. Условно если для какой-то фичи нет необходимости добавлять поддержку в сам движок, то она будет стандартизирована как сахар и её завезут в транспиляторы намного быстрее, чем если бы надо было завозить в движки.
Да ты прав.
А зачем столько функционала в базовом js, не вижу смысла усложнения лёгкого языка. Не в ту сторону мыслят
Js на микроконтроллерах? Я думал это просто мой страшный сон.
А как же дебажить через браузер?
хм... хорошая реклама, мне понравилась.
99% разработчиков используют фреймворки?
В этой статистике явно не учтены индусы.
Приветствую Друг 🤝
Не думаю, что JS расколется. Улучшения конечно будут.
Спасибо за видео 🔥👍
Зачем изобретать велосипед? Почему не компилировать в WebASM? Какая разница, если писать транспиляторы для JS0, то лучше сразу сделать компилятор для WebASMa
что умные дядьки из гугл решат то и будет
Новость забавная, но я как кодила без сахара в блокноте, так и буду. Любой сахар, который сводится к некому базовому языку, наверняка наплодит при трансляции кучу функций вместо сахарных конструкций. В итоге лишние вызовы будут попадать в циклы и мем про ленивца станет реальностью. Не, никакого сахара! Только горький JS!!!
Не вижу ничего плохо во множестве версий сахара. Во-первых: те же библиотеки и фреймворки, по-моему, делают тоже самое, во-вторых: уже есть тайпскрипт. Короче, в этом плане хуже не станет.
какой вопрос, а смысл ведь по факту ничего не изменится, по факту у вас будет некий байбл который будет компилить JavaScript suga в JavaScript 0 то есть по факту мы просто-напросто отказываемся от бабла (а точнее переименовываем )и всё. как по мне бред
В JS-е до раздвоения, а н-нет, до растроения (забыл про ts) личности добрались. Люблю и ненавижу этот язык вместе со всеми заложенными в него легаси багами и остальными заморочками, которых меньше никак не становится. Нравится его гибкость и элегантность, но терпеть не могу всю эту излишнюю возню с ним.
Если все ок будет, уйду с него на какой-нибудь Python или Java, а JS как хобби для веб-страничек и ui оставлю. Прикольно все-таки эти ваши реакты и вью потыкать.
Upd:
Хотя наверное те кто на JS пишут давно, 15 и более лет, скажут что я вообще ниче не понимаю, ведь раньше под каждый браузер нужно было писать свой JS xD
Они должны что-то делать, они это делают.
Странно, а что мешает сейчас писать на ванильном js?
как только захочешь динамики и всяких реактивностей на страничке, с подгрузкой при прокрутке и при этом чтобы кукухой не уехать через пару месяцев активного производства командой 12 человек, то очень быстро поймешь, что написал очередной гомункул реакта/вью/ангуляра.
Дурак или да? Скорую вызвать?
Опа, хоть и раскол, но как по мне если произойдёт такое разделение, то станет проще, ибо произойдёт разделение зон ответственности!😅
Такой бред давайте уже в vanilla js будем писать на assembler чтобы разраб сошел с ума от этого. Не каждый подчеркиваю "НЕ КАЖДЫЙ" использует библиотеки допустим мне достаточно vanilla.js для простых задач.
Ну, тут наверно имеется ввиду что код, выполняясь на машинном уровне, как wasm, будет в разы производительней, это значит что приложения в браузере не будут уступать десктопным.
Все ясно, packaging tools не хотят терять рынок.
WASM?
А разве JS0 не напоминает webassembly? Как по мне как раз весь язык прям базу, а самое главное - api, было бы круто вынести в него. А на нем можно уже строить любые языки, хоть js со своим сахаром, хоть на rust пиши
Зачем js zero, если можно в бинарный веб-асембли компилировать?
Интересно как вы будете дебажить код на уровне браузера, когда там совсем не тот код, который вы писали, если я правильно понял концепцию.
Ну да, пользователя это не должно волновать, ему нужен чистый и стабильный результат.
Но как его добиться?)
Так пусть просто компелируют в веб ассембли и обычный js и будут продолжать добавлять свои фичы сколько захочется
Ура, фронты еще разок изобрели Intermediate Representation. На кой js0 нужен, когда уже существует wasm фиг поймёшь: вот в чем беда компилить js в тот же wasm, который будет дергать уже не js апи браузера, а свои собственные? Как будто от выпиливания js из бразуера выйграет даже wasm, плюсом не придётся поддерживать килотонну кода связанного с js0. А если нужен именно текстовой стандарт скриптов взять wabt. Все же готово?
7:50 очень интересное представление 😁😃😄😂
Был JavaScript, а теперь есть java и GDScript
Лучшее, что можно сделать с js, так это откатить стандарт к es5
Ничего не понимаю. Что нового, ведь вы описали TS и JS.
Очень похоже на реализацию работы c++, c# и других языков с cir, там принцип такой же, есть баит кодинг cir, ты пишешь только на условном своём языке компилируешь его и получаешь код.
Удивительно, как мне понравилась реклама! Да ещё и с Есениным. Здорово получилось.
Ого, концепция core lang'а похоже таки просочилась из хаскеля
Венегретный поток сознания...
Всеми руками за JS0. Ещё бы унифицировать с компилируемым языком C - вообще был бы идол.
1:59 - в более ранний стандарт *
Надо написать язык с синтаксисом жс, но на замену жс. Тогда будеи хорошо
для разработчика ухудшится отладка, когда у тебя код в редакторе и код в браузере сильно отличается
Бедные разрабы на js, все никак не перетранслируют свой скрипт.
как собирали так и будем собирать ничо не изменится
Разве эта идея не была реализована в момент создания TS ?
Парни шумно борятся за бюджет. Давайте тихо позавидуем парням, и шумно снимем лапшу, которую они нам на уши вешают. "Бездельники! Идите на завод работать!" Это всё из Ангулар и НодJS началось. А я говорил, что так и будет. Всем успех JQuery покоя недавал. Как они ловко, с неудобоваримыми структурами обычного JS работают ))) Кушайте тепрь это.
Это какие то нео-луддиты. Надеюсь никто их не послушает. Разделить джаваскрипт на два языка🤣, такой бред. Сам с нетерпением жду добавления тайпскрипта в экмаскрипт.
Язык - "Байт код" - виртуальная машина. А где то мы это уже видели, нет? Скажете, на байт коде не пишут, ну так и на JS0 99% писать не будут.
Оно должно компилироваться в байт код из другого языка.
Сейчас многие фронтендеры создавая бизнес приложение навряд ли будут использовать голый HTML + JS, а возьмут фреймворк тоог и бандлер, дабы абстрагироваться от работы на голых скриптах 👀
Именно. Нафига ЯВУ если на нем не будут писать и уже есть WASM в который можно компилить?
@@vkovalyuk компилить можно, но всё рпвно нужна JS обёртка для работы с браузерным API
@DocNight а что мешает убрать необходимость в этой обертке?
Бросайте электрон и переходите на винформы, будет производительней и проще
Изобретатели велосипедов хотят придумать свои условные реакт и веб-ассембли и назвать их двойным джаваскриптом? Серьезно??? Поп с гармонью.
9:00 - я так понимаю они не хотят говорить про TypeScript, видимо потому что он не совсем свободный.
ts гуано
А ведь изначально какой-то чел хотел писать код без строгой типизации. И вот к чему это привело... Надеюсь, в следующие 20 лет весь вебдев плавненько перейдёт на более грамотный ЯП
А что такое p5js ? это же просто библиотека, правильно? Ну и очень удобно мне кажется. JS0 - должен быть максимально компактным и без всяких фичей, а уж библиотеки делать можно сколько угодно - отдельно для AI, отдельно для работы с таблицами или графиками, отдельно для DOM модели документов и так далее... Зачем всё пихать в базовый стандарт, чтобы он распухал и распухал...
Все что ты описал, включая работу с дом и так не входит в стандарт js.
WIN-WIN ситуация и для разработчиков и для пользователей - избавится от JavaScript вообще!
И как ты себе это представляешь?😂
@@max_mgtow API все в wasm пробросить
И заменить новым точно таким же языком
бля гений, не меньше - аплодисменты
Ну, если ума нет, то таким же, а если есть, то хоть типизацию строгую встроить в язык и расширить стандартную библиотеку под современные требования, т.е. добавить стейт менеджмент и компонентную модель с биндингом аля реакт или ангуляра
Коммунизм - мечта. Но не только лишь
Фронтендеры изобрели IL код
Видео о том, что все языки программирования развиваются, а js-никам по прежнему нравится ебаться со сборщиками и транспиляторами.