Консорциум W3C объявил о готовности спецификации, стандартизирующей промежуточный код WebAssembly 3.0 и связанный с ним API, позволяющий создавать высокопроизводительные приложения, переносимые между браузерами и аппаратными платформами. WebAssembly предоставляет не зависящий от браузера универсальный низкоуровневый промежуточный код для выполнения приложений, скомпилированных из различных языков программирования...Подробнее: https://www.opennet.me/opennews/art.shtml?num=63899
хоспаде, оно ещё нигде не используется, а они уже два раза обратную
совместимость сломали
То есть совместимость надо ломать, когда ей уже пользуются вовсю? Л - Логика.
Оглянись вокруг - везде так делают.
Так лучше пусть сейчас ломают, чем потом
Потом тоже сломают, не переживайте.
Опыт ПитоноПерлоРастов показывает, что так можно делать.
Ну и сишники с плюсовиками тоже это делают, просто не так жёстко.
Не то что бы это хорошо. . .
Это не хорошо и не плохо.
Это неизбежно.Когда читаешь статьи по C++ в которых челны комитета жалуются "нам нужно сломать АБИ, тогда мы получим ускорение некоторых функций до 3 раз, но сообщество будет недовольно и поэтому оно откладывается"...
Старое нужно выбрасывать и главное вовремя.
> оно ещё нигде не используетсяЛожь.
> обратную совместимость сломали
Ложь.
истина оба раза, а у тебя как раз ложь
> хоспаде, оно ещё нигде не используетсяВот это новости! Уважаемый эксперт не слышал о Emscripten?
В любых веб-играх используется. В юнити, в годоте, в анриле - все это компилируется в васм при экспорте под веб. Поиграть можешь на итче или в том же вк.
> оно ещё нигде не используетсяМда... кекспертиза уровня "опеннет". Впрочем если всю жизнь только прдлить консольку, то наверное это норма.
Ниже уже написали про игры, но кроме них практически любой тяжелый веб-софт это как WebAssembly - Adobe Photoshop, Figma, AutoCAD Web, Zoom Web и так далее.
Так что вылазь из своей пещеры и посмотри на реальность.
> Отмечается, что в новой версии стандарта значительно улучшена поддержка компиляции в WebAssembly высокоуровневых языков. Например, реализована возможность компиляции в WebAssembly проектов на языках Java, OCaml, Scala, Kotlin, Scheme и Dart.то есть С у веб-синьоров уже не язык высокого уровня?
В С уже завезли sum types и безопасную работу с памятью?
Си вродиж ни когда высокоуровневым не былжеш. Тут о компиляторе разговор, тип теперь можете писать вот на том и на том а работать пудет шо ракета ибо все превварится в webassembly.
Так это те языки, что добавтли в третьей версии. А C, С++ были и в предыдущей.
Доброе утро! Вопрос к специалистам: эта штуковина в будущем заменит JS или нет?
Не заменит, пока не добавят zero-copy интеграцию с веб апи. Сейчас васм годится только для очень узкого класса задач -- таких задач, где ты ровно один раз формируешь аргументы, ровно один раз вызываешь васм-код, он там начинает шуршать CPU минуту-две, занимаясь сложными вычислениями, а потом он ровно один раз выдает результат. Очевидно, что обычный обработчик UI на таком писать неразумно.
а запустить это в отдельном потоке нельзя что ли, и неспешно перекидываться сообщениями?
1. В яваскрипте нет потоков.
2. Обработка UI в яваскрипте значительно быстрее, чем обработка UI в яваскрипте-и-васм (нет, совсем без яваскрипта не получится, так как у васма нет доступа к веб апи).
Нам теперь этот ваш электрон н... ненужОн? Не?
Как сделать java которая не java или стрип от xckd про 15 стандартов
У нас уже была жава в браузерах. Назывались "ява-апплеты". Тормозили безбожно. Да и безопасность текла.
Зато не дотнет. Героически подебили злобный сервелат (причём сами гаврики из мс), лол.
ты путаешь курицу с яйцом в обоих случаях
курица с яйцом вкусна на сковородке
> Героически подебили злобный сервелатДа с ним никто и не влевал - он сам издох.
У Васьма будет лучше?
> Как сделать java которая не javaА у Java когда-то была производительность, близкая к нативному коду? Опеннетная экспертиза как всегда поражает...
Всегда почти была
Так и запишем: интерпертируемый язык со слоями абстракций и динамическими аллокациями на каждый чих почти всегда имеет почти такую же производительность, как и нативный код.Еще экспертные мнения будут? Гулять так гулять! 🤣
Вам бы матчасть поучить...
> Вам бы матчасть поучить...Вам бы что-то содержательное по теме сказать...
> производительность, близкая к нативному кодуне может сочетаться с
> Виртуальная машина с +100500 слоями абстракций
Когда вы это уже поймёте, гуглолюбы?
Жава может работать быстрее си++, потому что память освобождает когда-то потом, тогда как C++ сразу. Но потом начинет микрофиризить из-за сборщика мусора
> Жава может работать быстрее си++, потому что память освобождает когда-то потом, тогда как C++ сразуА, ну да, софт же тормозит из-за освобождения памяти... 🤦
То-то сишники до сих пор рожают аллокаторы, у каждого свой велосипед.
> Жава может работать быстрее си++, потому что память освобождает когда-то потом, тогда как C++ сразуНет, не может, потому что там, где в Java без альтернатив дергает динамические аллокации, в C++ в большинстве случаев можно просто юзать стек.
> можно просто юзать стекНа плюсах можно писать безопасный софт, но придумали раст.
Мастерское приплетание Раста!
Там где можно использовать стек, ява его и использует давным давно.
> реализована возможность компиляции в WebAssembly проектов на языках Java, OCaml, Scala, Kotlin, Scheme и Dartчто это за старье, если не появится поддержка современных языков, не взлетит
Вы про раст опять? Так-то java, kotlin вполне современны
ну так-то сейчас без этого никуда. В ядро завозят, убунта вон тоже начинает везде внедрять. Молодежь не хочет в "дидовских" языках разбираться, говорит что очень сложно и не безопасно. А сабж на кого рассчитан? Вот и мне приходится мысль свою разжевывать. То-то и оно.
Вот та "молодёжь"-то и не взлетит...
Молодежь с голубыми волосами нынче не в почете, трамп закон издал
Тут давиче публиковался рейтинг яп, так вот, некоторые дидовские языки неожиданно поднялись в рейтингах.
Вилами по воде писано. Ты видел хоть одного перловика? Такого, чтобы он использовал перл настолько часто, что это бы подняло перл на 10 место в рейтинге.
В данный момент, возможно, и даже у питона были взлеты и падения особенно 2я версия, а 3 взлетела. Может в компилятор си вошьют проверку памяти или чего там, и она может начать набирать популярность. Странно что этого небыло реализовано раньше, а сделали целый новый язык.
Хотя для си кажется создано что-то подобное, но реализовано модулем, но это не точно.
> у питона были взлеты и падения особенно 2я версия, а 3 взлетела.Вторая тоже была популярная.
Да потом был неприятный переиод перехода, но это не помешало языку развиваться.> Может в компилятор си вошьют проверку памяти или чего там, и она может начать набирать популярность.
Уже есть попытки.
Fil-C - компилятор для языков C и C++, гарантирующий безопасную работу с памятью
opennet.ru/opennews/art.shtml?num=62241Проект TrapC развивает Си-подобный язык, безопасно работающий с памятью
opennet.ru/opennews/art.shtml?num=62224К сожалению эти потуги, скорее всего, обречены на провал по двум причинам:
- слом обратной совместимости - священная корова для СИшников. (хотя все рассказы "я скомпилял код С89 в современной версии и все заработало" зачастую правдивы только для хеллоуворлдов).
- потеря производительности:
"собираемые в Fil-C программы медленнее примерно в 1.5-5 раз, по сравнению со сборкой обычными компиляторами" - это фиаско> Странно что этого небыло реализовано раньше, а сделали целый новый язык.
Потому что всем было пофиг.
Диды привыкли лабать овнокод абыкак. Главное побыстрее. На корректность и безопасность забивали.
Это было норм для времени когда интернет был по телефонным карточкам.
Но сейчас уязвимость в либе шрифтов может позволить получить рут и украсть твои денежки с банковского приложения телефона.Времена поменялись, диды адаптироваться не хотят. Зато усиленно копротивляются.
В каких рейтингах?
Если ты про Тиобе - то он составляется, упрощенно, про кол-ву запросов в гугл.Вот вышла на ру-сайтах новость про Perl-Conf.Ru/25 - молодежь полезла искать, что это за перл и зачем делать сьезд пенсионеров.
В гугле куча поисковых запросов - язык пошел вверх в рейтинге.
> kotlin вполне современныНет такого языка.
А чего не хватает?
Особенно с учётом того, что C/C++/Go/Rust уже поддерживаются.
Kotlin и Dart не современные?
Подскажите как из сишки скомпилировать код через Webaasembly чтобы он выполнился внутри браузера?
гугли emscripten
Поддержка 64-бит адресов? Ну всё, теперь ваш браузер сожрёт больше памяти чем вы сможете купить!
Это началось ещё в 2008 с монополизацией хрома путём неконкурентных способов продвижения.
И чем им ява-апплеты не нравились? Героически рожают то, что уже было в яве.
Ага, и Adobe Flash, чтобы вообще хорошо было.
В общем, жаба-плагин образца 90-х записали за кривизну и дырявость, чтобы заполнить примерно то же самое.
*запинали
Манипулировать DOM всё так же нельзя? А нахрена оно такое тогда нужно? Лобби жабоскрипт обезьянок не пускает WebAssembly в DOM?
> Ранее строки JavaScript можно было передавать в WebAssembly только как внешние ссылки, а теперь можно напрямую обращаться к строкам и манипулировать ими внутри WebAssembly.т.к. "манипуляции" в js это всегда было просто редактирование стрингов, то похоже теперь и со стороны wasm можно. но это не точно.
> Манипулировать DOM всё так же нельзя? А нахрена оно такое тогда нужно?Лол. А зечем тебе манипулировать DOM через WebAssembly?
дотнет в васм все ещё не умеет? вроде пару лет назад было что-то о нём на сайте майков
Умеет.Прчём в нескольких реализациях:
Как минимум:
Blazor
Uno Platform
я одного понять не могу, что им мешает пихнуть нативное исполнение в браузер? Это что за самообман, сначала жЫЭс, теперь вебъассембли, дальше что?
> кодирования видео, обработки звука, манипуляции с графикой и 3D, разработки игр, криптографических операций и математических вычислений
> можно добиться уровня производительности близкого к нативному кодуАга, можно, только это будет производительность уровня нативного кода на коре дуба, т.к. simd в wasm только 128 битный завезли, и то ограниченное подмножество, инструкции ускорения aes например вряд ли есть.
Ждем в ядре? А то от ebpf бздёвым душком тянет.