Найти тему
Mister Yaonkey

Почему мы не любим Legacy?

Всем ку! Не так давно я задался вопросом, а почему мне нравится такая нудная работа? На самом деле, ответ кроется не на поверхности. Чтобы понять всю суть любви к программированию, нужно копнуть немного глубже, нежели просто придерживаясь тех фактов, что у программистов высокая заработная плата (хотя, по секрету, это не совсем так).

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

-2

И ведь действительно, большинство наработок, используемых в бизнес-проектах, уже достаточно стары (возьмем банальные Java 8, PHP 3 или 5, C++7). Почему же так происходит? Все дело в том, что бизнесу не нужны новомодные решения (если речь не о стартапах) - бизнесу нужна стабильность, чтобы она стабильно приносила деньги с минимальными затратами, то есть для бизнеса лучше написанная система 2003 года, зато стабильная. Когда речь доходит до обновления какой-либо системы или сервиса с legacy-кодом, то процесс затягивается надолго, ибо бизнес начинает просчитывать риски, бюджет, время. Нельзя обновить систему так, чтобы она приносила убытки - это, как минимум, глупо.

В программировании достаточно часто встречаются такие проекты-динозавры, которые придерживаются принципа "работает - не трогай". И, чаще всего, джун, изучающий самые новые технологии, после успешно пройденного собеседования, сильно огорчачется, ведь ему приходится перелопачивать код, который в последний раз до него трогал только дед Василий в 1998 году, не закончивший пару фич из-за наступления маразма. И вот паренек (или девушка) трогает код динозавров с функциональным стилем, на старой CRM alpha-версии, используя при этом технологии, которые джун не изучал, ведь... он думал, что сфера ИТ никогда не стоит на месте, а шутки про legacy всегда были смешными, но смешно все, пока с этим не столкнешься.

-3

Сфера IT действительно не стоит на месте, сервисы обновляются чуть ли не каждый день, каждый день появляется новый фреймворк, обновление для языка и т.д., но все забывают главное - бизнес должен быть стабильным. Просто крупным компаниям совершенно невыгодно переписывать базу, да и зачем, если это просто займет время и толком ничего не изменит (лишь на 0.0003 мс быстрее станет). Legacy делаются с упором на то, что никто и никогда не будет в него лезть, код должен быть максимально непонятным, держащимся на костылях и goto.

-4

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