Хабрахабр

[Перевод] Я ненавижу почти всё ПО

Прим. переводчика:

И я вспомнил, что у меня есть неопубликованный перевод с его блога и решил его опубликовать. Недавно создатель NodeJS Райн Дал открывал конференцию HolyJS в питере. Надеюсь, вам будет интересно. Местами перевод довольно откровенный. Дата выхода NodeJS — 27 Мая 2009.
Оно не нужно и осложнено почти на каждом слое. Дата выхода статьи — Октябрь 2011. Единственное ПО, которое я люблю это то, которое я могу легко понять и оно решает мои проблемы. Лучшее, что я могу это поздравить кого-то это за быстрое и простое решение проблемы учитывая то говно что они поставляют. Размер сложности который я согласен терпеть пропорционален размеру проблемы, которая должна быть решена.

Это прекрасная идея. За последний год, я думаю, я наконец-то пришел к пониманию идеалов Unix: файловые дескрипторы и процессы оркестрируются с помощью C. Сложность не подразумевалась. Но это не то с чем мы имеем дело. Наоборот мне приходится иметь дело с DBus, /usr/lib, Boost, ioctls, SMF, сигналами, volatile переменнымии, прототипным наследованием, _C99_FEATURES_, dpkg и autoconf.

Теперь ты должен знать не только $LD_LIBRARY_PATH, чтобы заставить систему работать, но ещё и $NODE_PATH — знай, это моих рук дело, это мое добавление сложности! Те из нас кто пишет софт поверх этих систем добавляет сложность. Им всё-равно как мы организуем /usr, всё-равно как работают zombie-процессы, всё-равно как работает дополнение команд в bash, всё-равно как zlib слинкован с Node статически или динамически. Пользователи — те кто хотят видеть веб-страницу — им вообще пофиг. Когда этот момент настанет всё это дерьмо пойдет в мусорку. Наступит момент, когда накопленная сложность наших существующих систем будет больше, чем сложность создания новой. Мы сможем смыть boost и glib и autoconf в туалет и никогда не вспоминать о них.

Если вы думаете, что было бы мило выровнять все знаки равно в вашем коде, если вы тратите время настраивая ваш оконный менеджер или редактор, если вставляете проверку unicode меток в тест ранере, если вы добавляете ненужные иерархии в ваших папках с кодом, если вы делаете хоть что-то кроме того, что решаете проблему — то вы не понимаете насколько всё херово. Те из вас, кто до сих пор получает удовольствие от изучения деталей, скажем, языка программирования — например, те кто с удовольствием могут наизусь сказать является ли NaN равеным null или нет — то вы даже не понимаете насколько это херово. Никого не волнует объектная модель glib.

Одна вещь, которая имеет значение в разработке ПО это что чувствует пользователь (experience of the user).

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть