From: Sergey Matveev Date: Sun, 9 Feb 2025 10:43:21 +0000 (+0300) Subject: Мы уничтожаем софт X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=865d81ae07f233ae9e4e1b81f49f8f6d4a214a6a;p=stargrave-blog.git Мы уничтожаем софт https://antirez.com/news/145 Быстро закрыл эту статью, ибо всё совершенно очевидное ведь написано, каждому толковому программисту всё это видно. Но... ведь как-раз таки преобладающему большинству то как-раз это не ясно. antirez -- очень опытный и толковый разработчик. We are destroying software by no longer taking complexity into account when adding features or optimizing some dimension. Одно из самых первых что предъявляю и оцениваю в софте. Поэтому и вынужден писать всякие VoRS, KEKS и подобные штуки. We are destroying software with complex build systems. Абсолютно верно! Поэтому и был создан BASS с goredo, ведь это просто безумие если посмотреть в сторону какого-нибудь CMake или Autotools. We are destroying software with an absurd chain of dependencies, making everything bloated and fragile. Это одна из причин почему я больше не хочу прикасаться к Python экосистеме, а также наслышан про сотни *тысяч* зависимостей у NodeJS проектов. По моему это просто невозможно использовать. We are destroying software telling new programmers: "Don't reinvent the wheel!". But, reinventing the wheel is how you learn how things work, and is the first step to make new, different wheels. Раз за разом и сам начинаю вроде бы переизобретать колёса. Но что поделать если мне нужна повозка, а мне предоставляют локомотив. Ну и да, не поспорю, что на основе всего этого я очень много нового узнал о мире. We are destroying software by no longer caring about backward APIs compatibility. Не знаю насколько это критично, но вроде масса примеров, действительно, находится когда люди забивают на совместимость и ты вынужден или использовать неподдерживаемую старую версию или возможно ещё более дерьмовую в других отношениях новую. We are destroying software pushing for rewrites of things that work. Наверное да. We are destroying software by jumping on every new language, paradigm, and framework. Согласен. Но и не стоит забывать посматривать на новые вещи, которые бывают очень хороши. Десятилетия использующийся софт -- далеко не всегда означает что он был всё это время хорош. We are destroying software by always underestimating how hard it is to work with existing complex libraries VS creating our stuff. Ну... могу вспомнить/представить множество примеров с перекосом в одну и в другую стороны. We are destroying software by always thinking that the de-facto standard for XYZ is better than what we can do, tailored specifically for our use case. Абсолютно верно! We are destroying software claiming that code comments are useless. Ничего не могу сказать. Есть плохой код и без комментариев. Есть и плохой код с бесполезными комментариями. Есть хороший код и без комментариев. We are destroying software mistaking it for a purely engineering discipline. Наверное не понял это предложение. We are destroying software by making systems that no longer scale down: simple things should be simple to accomplish, in any system. Верно. We are destroying software trying to produce code as fast as possible, not as well designed as possible. Ну бывает нужно и уметь писать *прототип* as fast as possible. Но проблемой будет если этот прототип будет конечным продуктом, это да. We are destroying software, and what will be left will no longer give us the joy of hacking. Аминь! ---