LINUX.ORG.RU

Вышел Bun 1.1

 , , , ,


0

4

Тихо и незаметно, не ради лулзов, а работы для, спустя 6 месяцев после первого мажора состоялся релиз Bun 1.1. Bun — это альтернативная реализация среды выполнения JavaScript и TypeScript, совместимая с NodeJS. В минорной версии исправлено более тысячи ошибок, добавили новые функции и API, реализована официальная поддержка Windows (в версии 1.0 считалась нестабильной).

Доработки и улучшения в Bun 1.1:

  • доведена до стабильной версии поддержка ОС семейства Windows (от Windows 10 и более поздних). На текущий момент Bun для Windows проходит 98% набора тестов;
  • в проект добавлены более десяти новых функций, доработок API и изменений для решение проблемы потери производительности при повторной передаче одних и тех же файлов. По заявлениям после этих доработок tsc и подобные инструменты стали работать в 2 раза быстрее (в сравнении с Bun 1.0);
  • доработан Bun Shell;
  • исправлены баги и улучшена поддержка для API-интерфейсов Node.js;
  • проведены ряд улучшений запуска и отладки кода на JavaScript и TypeScript;
  • проведена оптимизация и улучшена стабильность.

О Bun

Одной из отличительных особенностей Bun, кроме скорости выполнения является, наличие встроенного в среду выполнения транспилятора. Это означает, что при работе с Bun можно запускать файлы JavaScript, TypeScript и JSX/TSX без каких-либо зависимостей.

Вместо V8 используется движок JavaScriptCore, разрабатываемый WebKit, что позволило получить лучшую скорость исполнения и частично решить проблему потребления памяти.

Bun написан на Zig — языке программирования низкого уровня с ручным управлением памятью, чем также объясняются высокие показатели его скорости.

>>> Подробности



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

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

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

да меня от всего на js коробит

А что вы хотите от языка, разработанного за 3 дня на коленке «чтобы было»? «Рожденный мертвым» летать не может. Сплошной BugLand а не язык.

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

А можно пример хотя бы «хорошо спроектированного» и хотя бы на 50% настолько же используемого языка?

Для справки - современный JS уже далеко ушел от первой версии Айка и далеко не только для браузеров.

small-entropy
() автор топика
Ответ на: комментарий от small-entropy

А можно пример хотя бы «хорошо спроектированного»

Идеальных языков еще не придумали. А неидеальных - воз и малая тележка, среди которых, конечно же, Javascript один из самых «заметных».

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

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

Идеальных языков еще не придумали.

Тогда обозначьте критерий идеальности. Если это не кукареку необоснованное.

А неидеальных - воз и малая тележка, среди которых, конечно же, Javascript один из самых «заметных».

То есть, примерно все по вашей логике.

То что Javascript широко используется не говорит о его качестве,

Зато говорит о применимости инструмента для решения задач.

примерно также как и использование HTML где надо и где не надо

А это проблема HTML?

и толстых браузеров, реализующих весь этот зоопарк легаси- технологий -

А вы предлагаете класть болт на обратную совместимость? То есть примерно по такой логике - новое поколение процессоров от какой-нибудь Intel должно превращать в тыкву любой софт?

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

Них*я не понятно, но очень интересно. Борщевые рассуждения с дивана напоминает. Пример прямого развития в студию

small-entropy
() автор топика
Ответ на: комментарий от MichIs

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

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

есть ещё эффект шершавых интерфейсов:

чем больше(в определённых пределах) пришлось попотеть при освоении не вполне «гладкой» подсистемы тем эмоционально(так и по усилиям по переписыванию) тяжелее отказаться от этой реализации подсистемы в пользу другой

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

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

Это интересный эффект, никогда не читал такого определения. Зато явление хорошо объясняет любовь к Lisp, C++…

small-entropy
() автор топика
Ответ на: комментарий от qulinxao3

в идеальной среде

Если что-то кажется идеальным, то значит на деле оно не используется.

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

А что использовали до vscode, столько хороших редакторов есть на свете. У Меня vim и sublime, если под win то notepad++, зачем нужен тормозной, прожорливый и зондированный* vscode ума не приложу.

*Да, я знаю про vscodium

Единственное nodejs приложение которому готов посатвить 5/5 - draw.io, он действительно годен и местами меня удивил (например заливаешь ему sql shema, а он сразу таблички рисует и можно связи рисовать, это да - удобно и в бесплатных не встречал), но и без него могу найти в чем схемы рисовать

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

Кто-то вообще в джунглях живет и не понимает зачем все это.

special-k ★★★
()
Ответ на: комментарий от Kolins

Можно найти альтернативу всему. Я большую часть времени работаю вообще в терминале через Cli и различные поделия на ncurses. Из этого мне сделать вывод, что все кроме С/С++ - гавно?

small-entropy
() автор топика
Ответ на: комментарий от Kolins

Есть хороший анекдот. Про то, что The Beatles не нравится - сосед напевал. Не впечатлило. У вас примерно так же.

small-entropy
() автор топика
Ответ на: комментарий от vbr

Чем плоха конкуренция? NodeJS видя её подтянули производительность. Как минимум сейчас есть 2 альтернативы (Deno, Bun) и на подходе третья (WinterJS)

small-entropy
() автор топика
Ответ на: комментарий от small-entropy

Чем плоха конкуренция?

Размывается экосистема. У каждого движка свой API. Библиотеку в общем случае надо адаптировать под каждый.

NodeJS видя её подтянули производительность.

Все эти движки используют один и тот же V8. Между ними нет и не может быть какой-то разницы в производительности кроме специально сделанных микро-бенчмарков. Разница только в том тоненьком слое, который перекладывает параметры из JS вызова в POSIX вызов.

Как минимум сейчас есть 2 альтернативы (Deno, Bun) и на подходе третья (WinterJS)

А у жавы одна OpenJDK и всем нормально.

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

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

Размывается экосистема.

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

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

Ну на сервере еще как-то можно, наверное… Но зачем? Там и так инструментов хватает.

Да так, почти никаких. Только:

  • куча проверенных фреймворков, которые ускоряют разработку
  • куча проверенных библиотек, которые решают типовые задачи
  • куча инструментов для анализа работы сервера
  • куча инструментов для построения сборки и тестирования
  • хорошая документация всего этого счастья
  • простой и лаконичный синтаксис языка (если брать современный стандарт)
  • в отличии от всяких «пидонов» - изкаробки асинхронность, параллелизм
  • простота встраивания кода на C/C++ где надо производительности
  • возможность использования WASM для оптимизации
  • простейшая контейнеризация
  • готовая экосистема (линтеры, чекеры, пакетные менеджеры, etc.)
  • сама платформа хорошо держит нагрузки

А так да, никаких. Вы правы.

small-entropy
() автор топика
Ответ на: комментарий от small-entropy

куча инструментов для построения сборки и тестирования

А почему вы считаете это достоинством? С моей колокольни идеал видится прямо противоположным: есть одна сборочная система, которая хорошо работает, с ней надо один раз разобраться и больше не отвлекаться. А вот наличие херовой горы сборщиков, транспиляторов, линтеров, чеккеров, генератов проектов и т.п., и т.д., у всех разных и в каждой версии немножко меняющейся …

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

А почему вы считаете это достоинством?

Потому, что они есть?

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

Разберитесь с NPM, и будет счастье. Альтернативные можете не использовать. Правда, тогда не понимаю, что вы забыли на ЛОР. Linux изначально про кучу велосипедов и альтернативу.

А вот наличие херовой горы сборщиков, транспиляторов, линтеров, чеккеров, генератов проектов и т.п., и т.д., у всех разных и в каждой версии немножко меняющейся …

Так пользуйтесь одним. Никто не заставляет прыгать с инструмента на инструмент. Я как использовал 5 лет назад ESLint, так и использую. Он под мои задачи подходит. Но если кому-то надо другое - почему он должен жрать кактус?

small-entropy
() автор топика
Ответ на: комментарий от small-entropy

Так пользуйтесь одним.

И работу никогда не меняйте! Отличный совет, не думал, что крепостное право вернётся на новом уровне.

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

И работу никогда не меняйте! Отличный совет, не думал, что крепостное право вернётся на новом уровне.

А давайте определимся. Вам - крестик снять или трусы надеть надо? Хотите кучу линтеров - пользуйтесь. Нет - пользуйтесь одним. Любой из них судя по всему не решит проблемы (вы её не можете детерменировать сами).

small-entropy
() автор топика
Ответ на: комментарий от vbr

А у жавы одна OpenJDK и всем нормально.

Ась? Потрудитесь ознакомиться хотя бы с IBM Semeru на базе OpenJ9...

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

А у жавы одна OpenJDK и всем нормально.

Их же дофига, не?

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

Размывается экосистема. У каждого движка свой API. Библиотеку в общем случае надо адаптировать под каждый.

Bun совместим с NodeJS. Сейчас, ЕМНИП, совместимость более 95%. Стремятся к 100%.

Все эти движки используют один и тот же V8.

Nope

Между ними нет и не может быть какой-то разницы в производительности кроме специально сделанных микро-бенчмарков.

Шта? WinterJS использует Spidermonkey, Bun использует JavaScriptCore. На счет Deno не в курсе. Там возможно да, V8.

Разница только в том тоненьком слое, который перекладывает параметры из JS вызова в POSIX вызов.

Нет. Ответил выше

А у жавы одна OpenJDK и всем нормально.

[Шта?}(https://ru.wikipedia.org/wiki/Список_виртуальных_машин_Java)

Конкуренция это если бы они свои движки сделали.

Они основаны в большей степени на разных движках.

Или если бы они один и тот же API использовали.

В большей степени - они все совместимы.

А так весь смысл этих стартапов - залочить юзера под свой API, что бы они ни болтали.

А вы точно читали цели того же проекта Bun?

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

А продукты еще для чего-то разрабатываются?

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