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)

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

Весь ui в проде уж давным-давно на js.

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

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

Спасибо js большое

Тут лично JS абсолютно не причем. Любой высокоуровненвый язык с динамической типизацией, лаконичным синтаксисом и менджером пакетов сформирует точно такую-же экосистему потребления ресурсов. Например Ruby.

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

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

Любой высокоуровненвый язык с динамической типизацией, лаконичным синтаксисом и менджером пакетов сформирует точно такую-же экосистему потребления ресурсов.

Как это утверждение может быть доказано?

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

Как это утверждение может быть доказано?

Доказана может быть теорема на основании нескольких аксиом. Тут же социология и есть пример языка Ruby. Те же самые проблемы что и в JS, они социальные и психологические, а не технические.

Можно писать читабильный чистый код? Технически да.

Но на практике получается RubyOnRails.

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

Тогда, если я правильно понял, ваше утверждение следует переписать с

Любой высокоуровненвый язык с динамической типизацией, лаконичным синтаксисом и менджером пакетов

на

Любой популярный язык с низким порогом вхождения …

Ну, может и так. Может и так. Однако вопрос в том, помогает ли технология бороться со сложностью или же усугубляет проблему. Можно привести обратный пример. Тот же php выступает в том же классе, однако left-pad’ов там нету.

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

В Ruby процент случайных людей (новичков-вайтишников) на порядок меньше чем в JS. Обычно это уже не первый и не второй язык программирования для рубистов. Так же в Руби большой процент «архитекторов» - программистов популяризировавших целые направления в разработке именно черерз Ruby.

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

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

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

Я ruby касался только очень-очень по-касательной, для расширения puppet’а. Так что знаю о нём мало. Но, по-моему, никто никогда не подразумевал использовать ruby для чего-то, где скорость/ресурсы важны. Невозможно сравнить количество ресурсов, влитых в попытки ускорить js, с аналогичной работой для ruby. Собственно, js это единственный язык из скриптоты, который одновременно используется массово и для чего-то более-менее критического по скорости и ресурсам.

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

JS уникален одним - работой в браузере.

В остальном Ruby это старший брат NodeJS. NPM это копия Gem из мира Ruby. И так далее и тому подобное, фреймворки тестирования как еще один пример, сначала массово стало использоваться в мире Ruby.

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

Скорее в типе мышления. Я как-то участвовал в проекте по ускорению закачки файлов в частное облако. Типа облачное хранилище On Premis с расширенными флагами доступа к фалам. Типа что-то в облаке доступно read-only, что-то можно править ну и так далее. Back-end облака на руби с рельсами, далее какое-то самописное хранилище обезличенных документов на питоне. Трафик типа шифрован. Читаем руби-код:

decrypted = decrypt(buffer)

Буфер мы получили с канала. Его размер произволен, вот хоть киношка на пару гигов. И то, что этот буфер сначала закешит nginx на фронте, потом сервер приложений, не знаю уж, что там исполняет руби-код, ну никого не интересует.

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

И, вроде, не дураки руби-то на рельсы ставили, но такой подход при написании веб-приложений ну сколько угодно. Руби тут виноват? По-моему — нет.

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

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

Пока еще не пришло осознание, что можно иначе.

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

Ой-ой-ой. Ужас какой. Пойду на делфи писать. Спасу этот чертов мир.

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

А вы уверены, что это проблема JS? Вот именно платформы/языка, а не рук и голов. На Qt том же, что - текущего софта мало?)

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

А вы уверены, что это проблема JS?

Да.

а не рук и голов.

Честно говоря, надоела дихотомия: js — говнокодерский язык vs на js программируют говнокодеры.

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

Да.

Докажите. Или очередной слив?

Честно говоря, надоела дихотомия: js — говнокодерский язык vs на > js программируют говнокодеры.

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

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

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

«программирование для дегенератов»

Как хорошо что я не пил чай в этот момент. Мыл бы монитор и клавиатуру.

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

как бы меня не тошнило от golang или python - я прекрасно понимаю

Go - это гениальный язык. Он так умно спроектирован, что не решение то в 10ку. Он высокоуровневый, но внутренние механизмы понятны. Получается точно выверенный компромис.

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

От Go у меня смешанные ощущения. С одной стороны - это очень практичный и удобный язык. Многие вещи я бы с радостью делал на нем.

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

С одной стороны, из-за этого - я понимаю хейтеров JS (вернее - откуда такой хейт). Они не делают разницы между языком и тем, что на нем пишет словный неклвалифицированный человек.

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

Понятное дело. Go заявлен как простой язык «который можно выучить за 1 месяц», что и привлекает новичков.

«Все гениально просто.»

«Unix is simple. It just takes a genius to understand its simplicity.» – Dennis Ritchie

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

Докажите. Или очередной слив?

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

Нет языков говнокодерских.

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

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

так все знают, что js придуман тяп-ляп за неделю.

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

Для сравнения, oberon есть результат размышлений Вирта

Вы сравниваете спорткар с карьерным самосвалом. И то и то автомобили, но разных типов.

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

Я сравниваю два языка общего назначения,

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

которые позволяют решать в принципе одни и те же задачи.

Да. Производить вычисления.

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

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

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

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

Вместо Никлауса Вирта эту работу проделал Юкихиро Мацумото, вы можете оценить результат.

UPD: Ruby как язык лучше JS, продуманней, удобней. Но на практике это ничего не меняет, проблемы те же самые.

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

вы можете оценить результат.

Боюсь погружение в эту тему потребует больше времени, чем я могу на неё выделить.

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

позволяют решать в принципе одни и те же задачи

Страничку на обероне мне запили. Любой ЯП - мусор, пока у него не появится применение. Есть браузер - есть js, есть Flutter - есть Dart.

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

Почему js защищают со словами «Любой ЯП - мусор», «нет плохих языков, есть плохие программисты» и т.п.? Подозрительно это. Всё равно, что если в новостях читаешь напоминание «о мёртвых либо хорошо, либо ничего», значит какая-то отборнейшая сволочь издохла.

P.S. Oberon (операционная система) запускается в виде процесса под линуксом. Т.к. что да, с небольшой дополнительной обвязкой вполне можно сделать из этого браузер и показывать странички на обероне (языке программирования).

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

Любой ЯП - мусор

Я говорю язык без области применения - мусор. Язык, который незачем применять - мусор.

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

что js придуман тяп-ляп за неделю.

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

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

Абсолютно всем известно, что языка лучше, чем js не существует.

Моисей с тобой не согласен.

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