Ответ на пост «Куда делись килобитные программисты?»12
Эффект лавины.
Пилит разработчик библиотеку. Сделал минимальный функционал. Всё классно, всё работает и весит мало. Потом либо сам, либо по желанию пользователей добавляет новые фишки. Либа растёт и пухнет.
Пилит разраб приложение. Писать с нуля и самому - долго, а манагеры требуют быстро. Поэтому вместо пары строк - новая либа.
Манагер, после того как приложение стало всех удовлетворять по функционалу останавливаться не хочет, да и не может. Если приложение "идеальное", то ему нужно искать новую работу или как минимум новый проект.
Вот и получается цепочка:
Манагеру нужны новые фишки. Быстро и много. Чтобы это обеспечить разраб собирает эти фишки из либ. Либы растут постоянно, причём практически всегда новые версии приносят возможности которые никому не нужны.
В итоге приложение весит условно 500 Мб, но реально выполняемого кода в нём хорошо если 5 Мб. Остальное - просто балласт.
Производители железа так же в доле. Если приложения остановятся в росте покупать новые смартфоны/планшеты/ПК никто не будет.
В итоге всем, кроме конечного потребителя, выгодно то, чтобы приложение, которое могло бы весить 5 Мб, весит 500+ Мб.
Послушать на совещаниях (митапах) каждого - ВРОДЕ БЫ всё логично. На выходе - унылый продукт жизнедеятельности... Потому что на самом деле ни кому не ставится задача сделать хорошо для пользователя. Каждый хочет сделать хорошо для себя. Получить зарплату и премию сверху. То, что для этого миллионам нужно будет впихнуть тонну говна...
Капитализм, господа и дамы. Капитализм.
Можно ли сделать то же самое, но в 5 - 10 - 50 - 100 раз "легче" и меньше? В целом - да.
Не каждое приложение можно сжать в 100 раз, но сжать в 20 - 50 почти 100 % софта вполне реально.
Единственно стоит отметить в исключения - Linux и FreeBSD. Да и в целом OpenSource. Там сжать получится, но обычно эффект будет в 3 - 5 раз меньше, чем то же самое на Windows т.е. если на Windows можно сжать в 50 раз, то под Linux не более чем в 10 - 15 раз.
Причина, кстати, именно в иерархии. Софт под Linux обычно пишут больше под свои нужды, чем потоком задач от манагеров. Собственно у кого Linux те знают, что программы-аналоги весят сильно меньше, чем под Windows. То же и с библиотеками.
Почему это никто не будет делать? Представьте, что приложение, которым вы пользуетесь перестанет меняться внешне, но с каждым релизом будет занимать меньше и меньше места, а работать - быстрее. Какой % пользователей это заметит и оценит? Небольшой.
При этом разработчики нужны гораздо более квалифицированные, а работать они будут раз в 5 - 10 дольше, чем изначально шла разработка софта.
То есть "накидать формочек" это, например, 100 часов. Сделать так, чтобы это "накидать" весило мало и работало быстро - 500 - 1000 часов. Внешних изменений нет совсем.
По опыту - современному менеджеру в ИТ просто НЕВОЗМОЖНО обосновать необходимость таких работ.
НО!
Это касается не только самих приложений, просто на них этот принцип лучше всего видно. То же самое в целом касается всего ИТ и не только ИТ. Почти везде работает:
- лучше 5 раз быстро и в 5 раз дороже, чем правильно и сразу;
- пофиг на качество, главное чтобы было что "продать" пользователю;
Ещё раз. Проблема в том, что система отношений на производстве (и не только в ИТ) такая, что обеспечение качества не выгодно вообще никому. Для всех участников процесса качество продукта, это дополнительная работа (зачастую кратно большая, чем "на отъебись") за выполнение которой потому будут не премии, а претензии.
И из вариантов "премия" или "выговор" угадайте что выбирают все или почти все?
Я даже больше акцентирую внимание. При капитализме все выгоды (прибыль) получает собственник бизнеса/производства. Поэтому единственное лицо, которое в теории может быть хоть как-то заинтересовано в качестве продукта - собственник лично. Но и у него есть... Особенность. 98 % собственников легко и непринуждённо откажутся от качества продукта в пользу прибыли. Поэтому при капиталистическом производстве качество есть только в одном случае - когда компанию загнали в угол и по другому никак.
Здесь люди могут возразить "ну есть же очень много качественных товаров!"... Как бы помягче и поточнее сказать. "Качественных" товаров - много, а качественных - примерно ничего. В чём разница?
Каждый товар имеет либо бытовую, либо профессиональную составляющую, либо обе. Что именно является качеством, а что - качественным обманом потребителей, знают только профессиональные инженеры и то, только в своей области. Их доля в общей массе... Да даже 0,5 % не будет. То есть как минимум 99,5 % потребителей просто не могут нормально проанализировать характеристики товаров и/или услуг. Как следствие - ТОП-бренд, это почти в 100 % случаев не качественный товар, а качественные "продажники", которые впаривают дешевое г-но за оверпрайс и люди считают вот это вот г-но качественным товаром.
Так же, в тему прошлого поста, такие компании нанимают 100500 блогеров, которые, по сути за зарплату, создают массовое общественное мнение о том, какое г-но сегодня считается качественным.
Если нужен реально качественный товар - ищите не обзоры и отзывы, а тех, кто на этом профессионально зарабатывает и чей доход максимально зависит от качества товара. Там люди уже перепробовали если не всё, то многое. И выбрали то, что реально работает.
Потому что это его личные деньги. Мастеру инструмент не дарят, он его покупает сам. За свои. Чем лучше товар и чем дешевле полная стоимость владения - тем лучше.
Да, кстати, лучше не просто "спросить одного", а собрать своего рода статистику. И лучше брать тех, кто долго на рынке. Новички очень часто берут так же "по обзорам". Это со временем, когда появляется опыт приходит понимание.
Обычно (но не для 100 % товаров) если взять минимальный и максимальный ценник, то лучшее предложение будет около значения минимальная цена + 30 % от разницы минимума и максимума. Дороже - будет, качественней - нет.
угу
приложение маленькое
вопросов нет
но требует библиотеку.. но она же не приложение, а отдельная зависимость - ее не считаем?
я люблю линукс как серверную/встраиваемую систему, но как десктоп это ад адский