В среде IT-специалистов есть популярное высказывание: «Время программиста дороже времени компьютера». Получается, что мы тратим намного больше компьютерного времени, нежели времени разработчиков. В IT-сфере на протяжении не менее 30 лет нормальной считается практика «забивать» на оптимизацию. Причина проста — современные компьютеры обладают такой производительностью, что переварят все подряд. Увы, на деле не все так однозначно.
Можно получать удовольствие от плавности картинки в играх в разрешении 4К, одновременно негодуя на дерганую анимацию прокрутки простой веб-страницы. Причиной тому служат и «кривые» руки программистов, и раздутость созданного ими софта.
Раздутое программное обеспечение (РПО) – беда современного мира. Софт просто не хотят оптимизировать !!!
В английском языке этот термин носит названия Bloatware, Fatware или Elephantware . Речь идет о наличии огромного количества ненужных функций в утилите. Всерьез о РПО заговорили еще в 1996 году, когда швейцарский специалист в области информатики Никлаус Вирт, создатель языков «Паскаль», «Модула-2» и «Оберон», написал статью «Долой жирные программы». В ней он поднял проблему того, что программное обеспечение разрастается (словно газ, заполняя все пространство) и становится требовательнее к ресурсам быстрее, чем успевает наращивать мощности аппаратура.
Связано это с тем, что разработчики постоянно гонятся за улучшением своих программ, но вовсе не оптимизируя их, а захламляя новыми возможностями и функционалом. Как показало исследование 2002 года, большинство людей постоянно использует 25% возможностей софта, тогда как до 45% функций остаются невостребованными. Напрашивается вывод: лучше создать два разных продукта меньшего размера с более высокой скоростью работы, нежели раздувать одну программу до невиданных величин.
Примеры худших утилит в категории Fatware
В 2008 году сайт Switched Download Squad обнародовал ряд худших примеров софта из области «раздутых программ», неспособных быстро работать даже на мощнейших ПК того времени:
- Acrobat Reader от Adobe;
- iTunes от Apple ;
- RealPlayer от RealNetworks;
- Internet Explorer от Microsoft (мемов насчет его заторможенности в интернете не счесть);
- Microsoft Outlook.
Спустя 12 лет этот список явно можно дополнить еще некоторыми ужасно работающими утилитами. Главная из них — сама ОС Windows, которая в версии XP требовала 64 МБ ОЗУ и 1,5 ГБ на жестком диске, а в следующей версии Vista потребовала в 10 раз больше пространства и втрое более мощный процессор. Неудивительно, что в итоге Vista с треском провалилась.
Конец близок – мощность оборудования не будет расти бесконечно.
Лет 10 назад программисты могли позволить себе опускать вопрос оптимизации, поскольку закон Мура еще кое-как работал. В современных условиях двукратный прирост мощностей оборудования каждые 24 месяца невозможен.
Производительность новых процессоров, видеокарт или SoC у смартфонов ежегодно увеличивается, но темпы невелики. IT-гигант Intel и вовсе топчется на месте 5 лет, выжимая последние соки из 14-нанометрового техпроцесса. Конечно, в противовес можно привести воспрявшую духом AMD или Apple с ее M1, рост мощности SoC от Qualcomm, но и им осталось недолго.
Проблема предела вычислительных мощностей кроется размерах транзисторов, поскольку с каждым освоением нового техпроцесса производители приближаются к размеру атома. Это фундаментальный барьер, который пока преодолеть невозможно.