Антон Игоревич написал:
ИмхоДом › Форумы › свободная тема › Почему холодильники теперь работают по 10 лет, а раньше работали по 50 › Антон Игоревич написал:
Такой же сговор наблюдается в IT и интернете — производители софта делают его все более тяжелым, что бы покупали более лучшие процессоры, веб-сайты делают все тяжелее, что бы был больше траффик.
Сравните Ленту.ру сейчас и 15 лет назад — информации столько же, а грузится в разы дольше.
Тут все проще, если производитель софта знает, что средлний потребитель давно имеет 2+ядра, 2+ ГГц, 2+ Гб и мегабитный канал, зачем тратить время на оптимизацию алгоритмов под третий пентиум и диалап модем. Большиснтво разницы не увидит, а софт получится дороже.
Другое дело, что в плане качества тоже полнейший мрак настает. Раньше выпустить на CD софт, который бы не запустился у всех владельцев процессоров AMD — это был бы провал. А сейчас при запуске обновления проверятся, патч, исправляющий багу подтянется и все запустится. А узнают об этом только те первые владельцы AMD, которые писали письма в службу поддержки.
опять заговор нашли никто специально не делает продукты более тяжелыми и более требовательными. Увеличение размера и требований ПО со временем обусловлено следующими факторами:
- переиспользование библиотек ускоряет разработку в разы, а чем выше скорость разработки, тем более конкурентноспособна компания. Те, кто медленно разрабатывает, оптимизируя размер или требования, вымирает. А в библиотеках, которое софт тащит с собой, собрано как то, что нужно софту для работы, так и то, что не используется.
- Сами библиотеки — это слоеный пирог из вызовов функций других написанных ранее библиотек, все это накапливается как снежный ком. Уровни абстракции все время растут, и это имеет плюс в виде более унифицированного подхода, но минус в увеличении накладных расходов.
- Функциональность софта тоже расширяется, а чем больше возможностей, тем больше кода нужно для обеспечения этих возможностей.
- Часто быстрее написать нужный софт на языке, работающем в медленно исполняющейся среде, чем париться с тем же C/C++ (впрочем и там всякие Qt/boost дофига весят)
- Лента.ру стала не только тяжелее, но и красивее, и интерактивнее, и с большими возможностями. Раздувание размера — следствие этого.
- Программирование стало более доступной профессией, и в нее приходят не только "звезды", как когда-то раньше, но и "середнячки", и "нубы", это сказывается на размере и скорости работы. Особенно это заметно в вебе. Обратной стороной этого является увеличение количества разрабатываемых продуктов и средств их разработки.
- Есть такое понятие, "преждевременная оптимизация", в разработке ПО она считается злом — в том смысле, что нельзя заранее сказать, что данный кусок кода нужно заранее оптимизировать по быстродействию. Правильная стратегия — сначала разработать, а потом пройтись анализатором, чтобы он показал, какие куски кода оказывают наибольшее влияние на быстродействие при работе приложения в целом. Часто анализ происходит уже на пользователях (снова для ускорения вывода продукта на рынок)
- Основная цель любого стартапа — как можно быстрее провалиться стратегия называется "fail fast". Смысл ее в том, чтобы как можно раньше выпустить на рынок "минимально ценный продукт" (MVP, minimal viable product), с тем, чтобы оценить, будет он пользоваться спросом или нет. Если да — продукт можно улучшить или даже заново переписать, уже по уму. Если окажется что нет — продукт надо поскорее выбросить и не тратить на него время, а заняться следующей идеей. Мир разработки ПО в век интернета это позволяет делать — требований и сертификаций никаких, ответственности в потребительском сегменте тоже (это не ПО для ракет делать, там уже все серьезно).
Почитайте здесь или тут, и убедитесь, что теория заговора здесь излишня.