🦾 IT-Качалка Давида Шекунца 💪
2023-09-11 05:09
А если серьезно, то выглядит симпатично, но не решает важные проблем:
Проблема Node.js не в встроенном API (уже понятно какие либы стоит или не стоит использовать), не в скорости компиляции (это оптимизируется), не в скорости скачки пакетов (это раз в месяц происходит) и даже не в скорости исполнения (любое CPU нагруженное задание так и так надо выводить в отдельный процесс)
Проблема Node.js в том, что чтобы написать на нем консольную утилиту, надо в нее запаковать саму ноду и весть это будет 200мб
Проблема Node.js, что у нас давно есть всякие варианты воркеров, но нет удобных библиотек и нормального механизма шеринга памяти с ними без копирования и сериализация (то есть, мы стоим перед дверьми параллелизации и никак не можем туда войти)
Проблема Node.js в том что у нас есть TypeScript, но никто не хочет добавить стрикт мод, чтобы нельзя было импортировать JS, добавить вариации number (int64, float32, etc.) и начать компилировать TS в бинарный код, как Go
Проблема в отсутствии единого линтера, как в Go
Проблема в возможности сделать throw чего угодно
Bun не собирался решать эти проблемы, скорее он хотел дать полную обратную совместимость + всякие фишки и оптимизации
Если это приживется, класс буду использовать, если нет, жаль, надеюсь существующие решения будут пробовать с ним конкурировать и тоже станут лучше (вспомним как начал шевелиться npm после появления yarn)
Чего я реально жду, так это когда следующий движок ответвит TS разработчиков только с обратной TS совместимостью, компиляцией, паралелизмом и даст наконец-то отплыть от этого острова «это просто браузер на сервере» в «более медленная, но гибкая альтернатива Go»