Где-то я прочел тезис: мол, хорошо бы иметь платформу, где в репозитории лежат не пакеты, а функции. То есть гранулярность библиотек столь мала, насколько это возможно. И вот тогда бы мы зажили.

Не понимаю, зачем об этом мечтать, ведь такая платформа есть — это Node.js и npm. В ней тысячи пакетов, которые состоят из одной-двух функций. Прямо сейчас прошелся по папке node_modules одного проекта. Обнаружил там забавные вещи:

  • ansi-red — пакет для вывода текста красным, одна функция, пять строк на весь файл;

  • expand-range — что-то для диапазона значений, одна функция;

  • for-in — синтаксический сахар для цикла, одна функция, 6 строк;

  • is-buffer, is-number, isarray, isobject — пакеты-проверки на нужный тип, везде одна функция на 5-6 строк;

  • list-item — генерилка списка с буллитами, одна функция;

  • markdown-link — рендер ссылки markdown, одна функция;

  • randomatic — генератор случайной строки, две функции;

  • repeat-element — генератор массива с повтором элемента, одна функция.

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

Имея все это на руках, хочется спросить: помогли тебе твои ляхи? Мы уже переехали в рай Node.js верхом на радуге? И что сегодня сказал бы автор тезиса? Опять чего-то не хватает?

Я очень скептичен к Node.js как платформе и не вижу смысла опять об этом писать. Речь о другом: высказывая тезис, даже самый фантастический, нужно помнить о том, что его легко проверить. Для этого не нужно ждать пять лет. Почти все, о чем мы мечтаем — это лишь слабые навороты к тому, что уже есть.

А истинно новые вещи проверить наперед невозможно.