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)

Ответ на: комментарий от MOPKOBKA

https://stackoverflow.com/questions/45283886/using-different-versions-of-dependencies-in-separated-java-platform-modules

Класслоадер по прежнему один и если у тебя две библиотеки с одинаковыми классами, будет фигня. Чтобы это разрулить, нужен адский пердолинг с класслоадерами (как и до модулей).

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

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

Ну и нахрена его тогда везде тащить? Если хирург охрененно умеет оперировать сердце с нулевой смертностью, то это не значит, что он оперирует всех подряд. А то получается, что «Ковыляет по курганам альпинист с катамараном» :)

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

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

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

Не нужно это.

Вы это пользователям расскажите. Большинству это надо. В том числе по работе, а не для фана. Внезапно, какие-нибудь открывающиеся поверх модальные карточки в условном АРМ тоже требуют ЖС.

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

Чем плох nodeJS? Высокоуровневый язык работающий на сервере, мало чем от других отличающийся.

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

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

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

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

Это не нормально

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

С разморозкой! В современной психологии опросы считаются не рабочим инструментом.

Это и всё выше слишком похоже на «вы всё врёти!», чтобы это было интересно оспаривать.

Докажите или как всегда «потому, что я так сказал»?

Как можно доказать отсутствие преимуществ?

Спорное утверждение.

Бесспорное. Если не путать синтаксис с семантикой, конечно.

Крыть нечем в очередной раз.

Пытались докопаться к столбу и не получилось? Ничего страшного.

Сравните со стандартом схемы.

Детский сад. Можно было пойти тем же путём, стандартизировать только ядро языка, а всё остальное предоставить «нестандартным» библиотекам. Количество бумаги от этого не изменится ни на страницу.

А для CL вы, простите, в Nano писать будете?

В emacs, конечно.

если постоянно обходите его стороной?

Не получается, эта хрень везде ;-(

Вы не используете для CL пакетный менеджер?

Использую. Но в мире CL таких проблем отчего-то нету. Тут, впрочем, и из left-pad’ов пакеты делать не принято. Возможно, как-то связано.

А раз «лисп» такой классный, то напишите без JS банальный TODO.

Давно написан. И лучше всей вашей вэбни на сто тысяч миллионов порядков.

А вы читали стандарт актуальный EcmaScript, чтобы говорить о его «огромности»?

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

Как-то «схема» без этого смогла обойтись.

Проиграли в популярности лиспу (а это ещё надо умудриться!) и не смогли создать реализацию, сравнимую по скорости с SBCL. А так, да, смогли, молодцы.

Правда это всё не относится к реальному рынку.

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

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

Читайте выше. По-моему всем плох.

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

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

Да.

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

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

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

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

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

В Gemini space есть что читать?

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

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

Ну как бы я стараюсь заботиться и о клиенте тоже. Да, 95 процентам пофигу, что исполняет их броузер. А остальным? Да и о 95 процентах неплохо подумать. Дешевизна — не единственный критерий. Видать, мы просто разными задачами занимаемся.

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

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

Вот про куки уже все начали предупреждать, а про джаваскрипт — нет. Хочу баннер — «проходя дальше вы подтверждаете право сайта запустить джаваскрипт на вашем броузере»

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

Это и всё выше слишком похоже на «вы всё врёти!», чтобы это было интересно оспаривать.

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

Как можно доказать отсутствие преимуществ?

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

Бесспорное. Если не путать синтаксис с семантикой, конечно.

Для пользователя языка - это неделимое целое в рамках языка. Более того скажу, что банальный frontend разработчик воспринимает JS как сам язык + фреймворк с которым он работает.

Пытались докопаться к столбу и не получилось? Ничего страшного.

Пока у вас утверждения без аргументации, замечу.

Детский сад. Можно было пойти тем же путём, стандартизировать только ядро языка, а всё остальное предоставить «нестандартным» библиотекам. Количество бумаги от этого не изменится ни на страницу.

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

В emacs, конечно.

А зачем вам этот комбайн? Небось еще и с обвесами. Пишите в nano. Ваш любимый CL же не требует ничего из сопутствующего софта.

Не получается, эта хрень везде ;-(

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

Использую. Но в мире CL таких проблем отчего-то нету. Тут, впрочем, и из left-pad’ов пакеты делать не принято. Возможно, как-то связано.

Так зачем используете пакетный менеджер? По вашим заверениям - это зло. Не надо идти по пути зла.

Давно написан. И лучше всей вашей вэбни на сто тысяч миллионов порядков.

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

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

Вопрос к простому - вы утверждаете, что стандарт ES большой. А даже не читали. Иначе бы знали - да, можно. «Обвесы» для этого не обязательны.

Проиграли в популярности лиспу (а это ещё надо умудриться!) и не смогли создать реализацию, сравнимую по скорости с SBCL. А так, да, смогли, молодцы.

Я уже понял, что лично вы схему не любите. Правда вопросы был в другом.

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

Как вы можете трогать мерзкий кложур? Он же ближе к «примитивной» схеме. А чего SBCL и ABCL никому не сдался, да? Как так?

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

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

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

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

Ну как бы я стараюсь заботиться и о клиенте тоже.

Формируя решения, где им надо страдать, которое еще и будет готово не известно когда? Странное у вас понимание заботы

Да, 95 процентам пофигу, что исполняет их броузер. А остальным?

Внезапно, сорцы того, что исполняется доступны. А еще можно выключить исполнение ЖС.

Да и о 95 процентах неплохо подумать. Дешевизна — не единственный критерий.

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

Ну так вот. Решение на JS позволяют достигнуть даже при наличии одних только макак под рукой - 2 из 3 критериев. Ваше решение - скорее всего 1. Вопрос - что выберет бизнес?

Видать, мы просто разными задачами занимаемся.

Может быть, не спорю. Есть области, где за использование JS я бы руки отрывал. Правда таких не так много.

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

Вот про куки уже все начали предупреждать, а про джаваскрипт — нет. Хочу баннер — «проходя дальше вы подтверждаете право сайта запустить джаваскрипт на вашем броузере»

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

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

Да.

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

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

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

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

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

Архитектура и все остальное - клиенту без разницы.

Оно так, сама по себе архитектура ему безразлична, он внутрь вообще заглядывать не собирается. Но вот лёгкость, предсказуемость и низкая стоимость внесения изменений вполне может быть ему небезразлична — а тут уже архитектура играет роль.

Качество — это соответствие требованиям заинтересованных сторон. Тот, кто занимается разработкой и (особенно) поддержкой/развитием — тоже заинтересованная сторона.

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

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

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

Но это же бардак! В результате ты тащишь овердохера лишнего кода.

Нет же. Всякие вебпаки упакуют то, что нужно.

Ох уж эти людишки у которых библиотеки весят больше кода приложения. У них очень много проблем (в большинстве с головой).

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

Качество — это соответствие требованиям заинтересованных сторон. Тот, кто занимается разработкой и (особенно) поддержкой/ развитием — тоже заинтересованная сторона.

А это уже обеспечивает не язык (хотя есть явное влияние), а те, кто пишет софт. И если человек мудак - он будет на любом языке писать как мудак. Хоть CommonLisp, хоть Rust, хоть JavaScript.

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

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

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

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

Да блин, посмотри на исходный код хоть этой страницы. Цитирую:

<script type="text/javascript">
  $script('/webjars/jquery/2.2.4/jquery.min.js', 'jquery');

  $script.ready('jquery', function() {
    $script('/js/lor.js?20240320-2016', 'lorjs');
    $script('/js/plugins.js?20240320-2016', 'plugins');
  });

  $script('/js/highlight.min.js?20240320-2016', 'hljs');
  $script.ready(['jquery', 'hljs'], function() {
    $(function() {
      hljs.initHighlighting();
    });
  });

  $script('/js/realtime.js?20240320-2016', "realtime");

  $script.ready('lorjs', function() {
    fixTimezone("Europe/Moscow");
  });

  </script>

Сколько джаваскипта в ней и сколько кода в jquery?

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

Кое-что есть. Я там просто душой отдыхаю, красивый шрифт и спокойный текст.

Звучит отлично. Со временем все больше разработчиков будет переходить. Уже сейчас Mastodon стал из маргинальной среды для двух энтузиастов превращаться в такую себе достаточно популярную сеть. У Gemini протокола есть все шансы так же завоевывать популярность.

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

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

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

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

Зависит от сборки. Сорцы открыты - можете посмотреть.

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

small-entropy
() автор топика
Ответ на: комментарий от 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

Плохой инструмент в рамках риторики.

Бывает так, пытаешься кому-то что-то объяснить, а потом как-то резко надоедает. Уж, извините.

Ну вы же можете утверждать, что их нет - на чем-то обосновывались.

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

Для пользователя языка - это неделимое целое в рамках языка.

Глупости же. Синтаксис и семантика — совершенно разные вещи. Странно, что это вообще нужно как-то объяснять.

Пока у вас утверждения без аргументации,

Невозможно дать умный ответ на глупый вопрос.

Аргументы даже на понятных примерах не воспринимаются.

Вы натурально пытаетесь доказать, что перетасовав колоду можно изменить количество карт. Я не могу это воспринимать серьёзно.

А зачем вам этот комбайн?

Чтоб вы спрашивали.

Так зачем используете пакетный менеджер?

Менеджить пакеты.

Оргмод я знаю

Вот и замечательно. Пользуйтесь на здоровье.

«Обвесы» для этого не обязательны.

Но они везде есть и без умения с ними работать вы никому не нужды. А сферическое «возможно» в вакууме мне не интересно.

Я уже понял, что лично вы схему не любите.

Я фанбоев не люблю. А схема — годный инструмент со своими плюсами и недостатками.

Как вы можете трогать мерзкий кложур?

Запрети мне! А-ха-ха-ха-ха!

А чего SBCL и ABCL никому не сдался, да? Как так?

И тут мы возвращаемя к «IT — инерционная и иррациональная индустрия».

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

Мою ОС я запускаю сам и примерно понимаю, что в ней происходит. Более того, я сам нажимаю кнопку питания. И в моей ОС этот самый джаваскрипт не является критическим компонентом. Я б и питон бы выкинул, но не получается. Ну нахрена еще один сука интерпретатор-то? В случае похода на сайт я вижу только какой-то основной контент ради которого я пришел, а кучу скрытой работы скриптов я не вижу. Ну и получается, что на пару килобайт полезного видимого текста имеем стопицот килобайт всякого непонятного кода. Плати, дорогой пользователь, за трафик!

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

Я такого не видел, может в мире микросервисов и контейнеров такое и возможно, но это признак какого-то легаси или непогашенного технического долга

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

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

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

Тогда это современная программа с техническим долгом, сделанная по принципу «тяп-ляп и в продакшн».

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

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

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

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

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

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

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

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

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

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

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

И что? Какие-то проблемы из-за этого? В криокамере жпрс интернет?

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

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

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

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

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

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

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

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

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