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)

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

Что еще за «приличные системы»? Покажи мне приличную систему. Ты линукс видел?

Это наверно то, что сдохло лет 20 назад - там да, все устоялось.

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

Мы еще не успели привыкнуть к deno

А там ещё много перестановок осталось. Enod — импортозамещение, вперёд!

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

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

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

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

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

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

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

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

Живой язык программирования с непредсказуемой семантикой

Пример в студию, не связанный с системой типов. Такой дичи в большей части платформ хватает.

и неисправимым dependency hell.

Для начала хоты бы осильте инструмент. Давно уже позволяет решить.

Спасибо, как-нибудь без этого обойдемся, зачем эта головная боль?

Я не знаю ваших задач. Могу сказать зачем мне JS - разработка тонких клиентов в виде SPA, мобильных, декстопов с минимальной разницей в кодовой базе + язык вместо Go для микросервисов.

Мне как-то и так в жизни мигрени хватает.

А вот это уже признак того, что к врачу пора, к врачу))))

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

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

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

еще и размножаются методом говнокодирования

Я на той неделе щупал кучу софта, и была там одна морда, весьма немолодой версии, на ангуляре вроде. С ынтерпрайз-за-бабло-редакцией, типа не фофан и не лаба. Ух я там наелся «3.0 is not in 1, 2, 3» и ««3» is not an integer» в полях ввода.

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

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

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

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

А голову включать при управлении зависимостями - уже не, не надо включать?

Вот мои коллеги-фронтэндеры вешались постоянно от такой ситуации.

Профнепригодные? Так это же счастье! Можно выпить, не чекаясь.

С Джавой, кстати, тоже такие грабли были.

И внезапно - она лучше, да? Я тоже таким наивным был. Потом понял, что проблема не в инструментах. А в искривлении рук.

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

Бардак у разработчика не способствует стабильности в проде.

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

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

Она просто непрерывно эволюционирует в процессе валидации, отправки и обработки. Потому что ее писало существо, у которого вместо мозга экосистема с термитами.

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

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

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

Я тоже так считаю, что все дело в руках и голове, но, похоже, в мире Джаваскрипта, как голову не включай, а бардак все равно не истребим.

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

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

Да как-то из опыта наблюдения за бардаком у фронтэндеров.

Пройденный у нас этап, да. Научили работать нормально с npm. Проблема решилась. А код-ревью позволило выкинуть на мороз профнепригодных. Проблема не инструмента - людей. Дичь можно и на C/C++, Rust, Fortran, Ada, etc. наделать.

Вечно жалуются на зависимости, несовместимости, нестабильность и вот это все.

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

И да, я не скрываю, что я не люблю JS и за его непредсказуемую семантику,

Example, please. Так и не увидел. Ощущение - что вывод по какому-то древнему стандарту

и за однопоточность,

Уже не так. Давно есть WebWorkers. А «железные» потоки на «ноде» чуть ли не самого начала были (на них жеж и работает cluster, pm2)

с которой борются разными костылями,

Боролись….

ну и за бардак с библиотеками.

Где его нет при кривых руках?

Опять же, за его использование в веб-технологиях.

В них используется большая часть стеков. И да - зачем зашли на ЛОР? Это сраный оплот веб-технологий. Уверен - ваш любимый стек в них же применяется.

Но тут уже не язык виноват, а сама идея,

И при чем тут тогда язык?

что на чужом компьютере можно что-то принудительно исполнить и хозяина компа об том не спросить.

Вы против любых сетевых взаимодействий?

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

Ну вкладываться в платформу — тоже дело, но из-за низкого порога входа в мире JS очень многие остаются где-то недалеко за этим порогом на этапе «О! Оно уже работает», значит «и так сойдет». А разобраться, как и почему оно работает, уже требует сильно больших усилий. И что с этим делать я не знаю если честно.

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

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

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

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

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

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

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

Я тоже так считаю, что все дело в руках и голове, но, похоже, в мире Джаваскрипта,

Не аргумент. Я так же могу сказать про Go, Python и еще множества стеков. Но я просто понимаю - я попадал на профнепригодных. И это не проблема стеков.

как голову не включай, а бардак все равно не истребим.

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

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

Если вам удалось победить энтропию, то это не значит, что всем удалось. Значит, проблемы бардака хоть как-то элиминировать можно.

Example, please. Так и не увидел. Ощущение - что вывод по какому-то древнему стандарту

Ну вот тут же приводили пример валидации форм. Ну и опять же, пустая строка это — true или false?

Вы против любых сетевых взаимодействий?

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

Как бы формочки еще в HTML были до всякого JS. Все, что есть на ЛОРе принципиально реализуемо без него.

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

Ну вкладываться в платформу — тоже дело, но из-за низкого порога входа в мире JS очень многие остаются где-то недалеко за этим порогом на этапе

То есть все же проблему того, кто обделен мозгом вы предлагает решать через стек. Давайте пример хорошего?

«О! Оно уже работает», значит «и так сойдет».

Если после систематического подхода такого человека не выгнали на мороз - вопрос к тим(тех)лиду, а не к платформе. На каком языке такого результата нельзя получить?

А разобраться, как и почему оно работает, уже требует сильно больших усилий.

В любом языке и платформе. И не зависит от языка и платформы.

И что с этим делать я не знаю если честно.

Как мотивировать? Проводить ревью, возвращать в работу, наказывать за плохую реализацию.

В автоматизированные системы разработки я не сильно верю, а вот плату за вход качеством кода хотелось бы иметь, но как это сделать?…

Ну вот у Rust большая плата за вход. Мало гонокода?

Использовать языки с высоким порогом входа? Тоже так себе идея.

Плохая. Она бизнес поставит на «стоп». Отсеивать на этапе обучения, такими вещами как SCIP+Scheme и подобными фундаментальными трудами.

Проблема рынка - любая макака, которая способна набрать скрипт уже считается отделом HR программистом. А это не так.

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

и на что вы перешли с джаваскрипта?

Мы не затаскиваем не стабильных модулей. И да - пример стабильного как ебтвоюмать языка, код которого будет компилироваться/выполняться и через 20 лет без изменений - в студию. JS написанный во времена Netscape будет. А ваш?

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

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

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

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

Ну, кстати, фортран. Я тут недавно скомпилировал игрушку ADVENTURE наиновейшим интелловским компилятором, а писана она была в середине 80х для VAX/VMS. И ничего, все так же можно ходить по колоссальной пещере, и лампа не гаснет :)

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

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

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

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

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

Если вам удалось победить энтропию, то это не значит, что всем удалось.

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

Значит, проблемы бардака хоть как-то элиминировать можно.

Можно. Если головой работать. За это, по идее, инженерам (в т.ч. программистам) и платят.

Ну вот тут же приводили пример валидации форм. Ну и опять же, пустая строка это — true или false?

Пропустил пример - не скажу. В целом - валидация формы не относится ни к языку, ни к JS. А связано с реализацией конкретного движка. Не релевантный пример.

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

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

Я вас разочарую. Вы не знаете 99% кода ОС, которую вы используете.

Как бы формочки еще в HTML были до всякого JS.

Не все, что было и есть в HTML можно «оживить» без JS. Банальную систему оповещений как собираетесь делать?

Все, что есть на ЛОРе принципиально реализуемо без него.

ЛОР - плохой пример. Хотя и тут не все так очевидно.

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

Ну, кстати, фортран.

Фортран-66 был ужасен, я его не застал, но код на нем написанный разбирал на своей заре.

Фортран-77 был куда лучше, но тоже не фонтан - калькулятор для физиков, от которых пошла шутка «На Фортране можно писать на любом языке».

А Фортран-90 и более поздние варианты уже другое дело, мне даже было приятно как-то перевести на него пару расчетных программ с Фортран-77.

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

Ну а кто сказал, что Go, Python и еще множества стеков. — это хороший выбор для Прода?

А кто сказал, что нет? Ну кроме кучки людей, которые ведут в интернетах священные войны по поводу что лучше - головка сыра или луна?

Есть практика внедрения, применения. По вашей логике - C или Fortran тоже не подходят. От Java надо бежать. Ведь, кто сказал - что это хороший выбор для прода?

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

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

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

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

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

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

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

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

Ну, кстати, фортран. Я тут недавно скомпилировал игрушку ADVENTURE наиновейшим интелловским компилятором, а писана она была в середине 80х для VAX/VMS. И ничего, все так же можно ходить по колоссальной пещере, и лампа не гаснет :)

Внезапно, мой код на JS с начала работы программистом (это где-то 18 лет назад) - аналогично, работает до сих пор в любом браузере. Обнимемся?

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

Мы не затаскиваем не стабильных модулей.

Красавчики какие. Рад за вас. А я, вот, связался с этой пагубой. И, внезапно, у примитивного генератора шаблонов Cloudformation

du -sch node_modules 
769M    node_modules

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

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

Здравствуйте, очень рад, что у вас нашлась минутка поговорить о нашем лорде и спасителе Common Lisp.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Она не в стеке. Она в головах.

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

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

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

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

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

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

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

Красавчики какие. Рад за вас. А я, вот, связался с этой пагубой. И, внезапно, у примитивного генератора шаблонов Cloudformation

Мы писали свой шаблонизатор. С этим не работал. И не могу сказать о его готовности. Но судя по зависимостям - его делали примерно такие же макаки, как выше по ленте вздернувшиеся фронтендеры. У нас большая система, где далеко за сотни тысяч строк кода на JS и такого звездеца на уровне зависимостей нет.

хотя никаких библиотек, кроме AWS CDK не использовано.

А вы правда думаете, что его делали вот прямо задумываясь?

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

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

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

А тут надо посмотреть, что там еще SDK включает. Почему-то пользуясь .NET и или Qt никто не удивляется размеру. SDK же не только YAML генерят, а там куча всего еще вероятнее всего. И скорее эта куча даже не попадает в dist проекта.

Здравствуйте, очень рад, что у вас нашлась минутка поговорить о нашем лорде и спасителе Common Lisp.

А при чем тут CL?

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

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

Вот я то же самое могу сказать про Go. Но это же не проблема языка. Да, он заточен на получение быстрого результата - но не запрещает писать код внятно.

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

А вот теперь, внимание, вопрос - если не брать академические темы, то где вы видели не лютых говнокодеров в среднем по больнице? Без шуток - заинтересовало. Я работал с многими стеками. В том числе с «экзотическими». И еще не встречал такого, где люди бы не делали дичь по-умолчанию, пока палкой пи**ть не начнешь.

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

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

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

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

Понимаете какая штука, сам по себе Rust или Go не плох и не хорош. Он просто есть. С новыми языками типа Go или Rust пока проблема в том, что каждый новый релиз компилятора ломает совместимость с предыдущим. Что-то там дописывают и доделывают. Не устаканился еще. Устаканится — будем посмотреть. Тот же Фортран или С++ прошли большой путь, но ключ -std=<> спасает нас от неожиданностей. При этом, ABI компилятора не зависит от заданного стандарта компиляции. Как я понимаю, в Расте или Go это не так.

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

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

А вы правда думаете, что его делали вот прямо задумываясь?

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

А при чем тут CL?

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

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

Понимаете какая штука, сам по себе Rust или Go не плох и не хорош. Он просто есть.

Я про то же. Это вы считаете проблему с головой - свойством языка.

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

Они вроде как уже стабилизировались. Go так дольше в стейбле. Ну да не важно. С выходом из криокамеры!

Что-то там дописывают и доделывают. Не устаканился еще.

А язык развиваться не должен?

Тот же Фортран или С++ прошли большой путь, но ключ -std=<> спасает нас от неожиданностей.

(поперхнулся кофе) Это С++ устаканился и его вы считаете стабильным? Ну ладо, вопросы все исчерпаны.

При этом, ABI компилятора не зависит от заданного стандарта компиляции. Как я понимаю, в Расте или Go это не так.

За них не скажу. На ржавчине писал только небольшую прогу, на Go - небольшие сервисы.

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

Система приведения типов, кстати, не только в JS такая - это свойства всех слаботипизированных языков.

И я не могу сказать, что строгая типизация диаметрально лучше. Да - она решает ряд проблем. И то не до конца.

А ряд проблем (уже продуктовых) вполне себе материализует.

Про говнокод - вы опять же, почему-то упускаете простой факт. На любом стеке вы получите +- одинаковый процент людей, который понимает, что делает. Это правило 5%, которое никто не отменял. Но чем больше при этом количество пользователей - тем количество не плодящих плохие решения будет больше.

А теперь вопрос - почему вы проблемы человека пытаетесь переложить на стек?

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

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

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

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

Если всё так радужно - почему он такой не распространенный? И давайте честно - в CL есть множество так же ляпов проектирования. И да, если что - JS видоизмененная схема так-то)

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

Машстаб конторы мало связан с качеством подбора персонала.

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

Если всё так радужно - почему он такой не распространенный?

Eich started work at Netscape Communications Corporation in April 1995. He originally joined intending to put Scheme «in the browser»,[4] but his Netscape superiors insisted that the language’s syntax resemble that of Java.

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

в CL есть множество так же ляпов проектирования

/me заинтересованно внимает.

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

почему вы проблемы человека пытаетесь переложить на стек?

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

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

(поперхнулся кофе) Это С++ устаканился и его вы считаете стабильным? Ну ладо, вопросы все исчерпаны.

С точки зрения ABI — да. С точки зрения стандарта языка — нет. Еще бредет куда-то, не факт что в нужную сторону. Мне еще не попадался некомпилируемый плюсовый код при возможности выбора соответствующего стандарта языка.

А теперь вопрос - почему вы проблемы человека пытаетесь переложить на стек?

Сам по себе молоток не виноват, что 80% людей забивая гвозди попадают по пальцам, и только 10 процентов становятся хорошими плотниками. Я за выбор хорошего молотка с удобной ручкой и нужного веса для забивания каждого типа гвоздей. И да, не надо забивать молотком саморезы :)

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

К сожалению, мы тут находимся в ситуации, когда неплохо бы решать административные проблемы (в частности, проблему квалификации персонала) техническими мерами. Все эти ваши вышепреведенные и весьма толковые практики разработки решают техническую проблему надежности кода административными мерами. Это всегда хуже. Лучше пусть компилятор даст по рукам разработчику за приведение типов, чем коллега код-ревьюер будет смотреть и думать «что же хотел сказать автор?»

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