Ответ на пост «Вопрос программистам»8
Почему программисты делают тяжёлые и тормознутые программы? Могу объяснить.
Если кратко - программисты не виноваты, они не могут. Никто не виноват. Просто так устроен мир. Примите и смиритесь. Ждите, когда нейросети всё перепишут и ускорят.
А теперь подробно.
Давайте я проведу аналогию. Вы приходите в "Пятёрочку". Видите там например пачку печенья, которую три года назад покупали за 40 рублей, а сейчас она стоит 90. Что вы будете делать? Накинетесь на продавца с вопросами в духе "продавцы, зачем вы это делаете, это ведь то же самое печенье, того же веса (или даже ещё меньше) - почему цена-то так выросла? Вы это специально?"
Нет, все понимают, что продавец в "Пятёрочке" не отвечает ни за цены, ни за ассортимент. Над ним стоит куча народу - маркетологи, топ-менеджеры, супервайзеры, директора, CEO и вот это вот всё. А они закупают у производителей, которые тоже поднимают цены. А у производителей растут цены на расходники, транспортировку и т.д. Продавец может только товары по полкам расставлять да сканером по штрихкодам пикать.
Так вот у программиста - примерно та же ситуация. Приходишь в компанию, а тебе говорят: "Мы делаем вот такой проект. Он сделан на вот этом языке программирования, с использованием такого-то фрейворка. Тебе надо будет приделать к этому проекту вот такую свистелку и ещё вот такую кряхтелку."
Используемые подходы определяют, каким будет проект. Если сам фреймворк весит пол-гигабайта - хоть ты тресни, но программа у тебя никак не будет весить меньше. Потому что фреймворк ставится вместе с ней, без него она работать не будет. И быстро загружаться программа тоже не будет. Потому что ей сначала надо загрузить в память нужную часть этого полугигабайтного фреймворка. А остальное подгружать по мере работы.
Конечно, найдутся люди, которые выскажут предложения в духе - "Ну так вы делайте без всяких фреймворков, чтобы весило мало и работало быстро."
Нет проблем. Это вполне возможно. Целые операционные системы так делают. Вот наример:
https://ru.wikipedia.org/wiki/KolibriOS
Очень маленькая и очень быстрая операционная система. Намного легче и быстрее Windows - потому что всё написано на ассемблере и на C/C++. И что, много людей ей пользуется? Нет. Большинство даже не слышали никогда про неё. Всем надо, чтобы работали все программы, которые есть в Windows. А маленькую и быструю ОС, но без программ для Windows никому не надо. Так и с другими программами - всем надо чтобы было то и это, пятое и десятое. Как раз то, что делает фреймворк. Подключаешь его - и пожалуйста, программа делает всё что надо, осталось только чуть-чуть подправить.
Конено, найдутся люди, которые скажут: "Ну так сделайте то и это, пятое и десятое сами, без фреймворка, чтобы работало быстро". И это тоже можно. И можно сделать, чтобы оно работало быстро. Один нюанс - это будет дорого. Годы работы. Посчитайте - один программист, допустим, получает 200 тысяч рублей. (Для грамотного программиста, умеющего писать на C++ ассемблере - это ещё немного, скорее всего надо будет больше). За 10 месяцев работы ему надо заплатить два миллиона. (Опять же скорее всего будет намного больше - ну хотя бы потому что налоги надо будет ещё платить). Вы готовы заплатить два миллиона за то, чтобы нужная вам программа работала быстро? Готовы ли ваши коллеги и знакомые платить столько? Притом, что у конкурентов такая же (но медленная) будет стоить, скажем, 5 тыс. рублей? Вы же знаете ответ, правильно?
Да, стоимость можно раскидать на много пользователей. Но итог всё равно будет один. Даже если программа стоит дороже не на миллион, а на несколько тысяч - купят всё равно у конкурентов. К тому же у конкурентов программа выйдет раньше, намного раньше. Все к ней привыкнут и переучиваться на другую никто не захочет даже бесплатно - как никто сейчас не хочет пересаживаться на Линукс.
Менеджеры, управляющие программистскими компаниями, тоже всё это знают. Поэтому они не ставят задачи делать программы, которые будут весить мало и работать быстро. Они ставят задачи разрабатывать программы быстрее, как можно быстрее, и как можно дешевле. Тот, кто попытается сделать по-другому - не выдержит конкуренции и обанкротится. Поэтому программы работаю медленно и весят много. Так было, и так же будет в будущем. В ближайшее время это не изменится.
Потому что пользователи "проголосовали рублём" за медленные и тяжёлые, но дешёвые и привычные программы.
Но не стоит расстраиваться. Когда-нибудь ИИ дорастёт до такого уровня, что сможет работать лучше и быстрее живых программистов. Вот тогда всё и перепишут так, чтобы работало быстро и весило мало. Причём перепишут очень быстро. Там, где команда программистов возилась годами - ИИ сделает всё за дни, а то и часы. Предполагаю, что лет через 5-15 это случится.