Истории

Почему программы так много "весят"?

Однажды на The Question спросили:

Почему серьёзные программы так много весят? Например Photoshop, Visual Studio, MC Office. Если в играх вес набирается за счет текстур, моделей, аудио, то откуда он берется у программ?

В играх "вес" набирается тоже не только за счет графики и видео. Хотя графика безусловно сильно влияет. Например в современных играх иногда вместо видеоролика, который записан в какой-то общедоступный формат, могут использовать компьютерную графику, и такой видеоролик уже будет "просчитываться" в реальном времени у пользователя. Такой подход позволяет сильно сэкономить размеры.

Поэтому беда с большим размером именно у современных игр, и сложных программ в общем одна. Так как времена, когда код игры занимал заметно меньше "места", чем графические материалы постепенно уходят в прошлое.

Возвращаясь к вопросу - нужно понимать, что такая программа как Photoshop, это не просто несколько строчек написанных на "бейсике", или же код сайта. Это сложнейший многоуровневый код, с различными модулями, драйверами, фреймворками и другими программными частями. Каждая из которых только с точки зрения кода очень сложна и объемна! Именно это позволяет делать такие потрясающие вещи. Office не исключение, казалось бы, задачи он выполняет "по проще", чем Photoshop, но на самом деле это не совсем так. Хотя большинство его используют и воспринимают как удобный текстовый редактор и редактор таблиц, в нем заключено огромное количество сложных функций, которые автоматизируют процесс и делают работу эффективной. Это тоже очень и очень больше количества кода, с сложнейшей архитектурой.

Поэтому подобные программы, просто не могут быть "маленькими", даже если из них исключить всю графику. Так как "описание" подобного функционала в коде с последующей компиляции ведет к большим объемам. Если говорить простым языком: чем больше функций - тем больше кода, и соответственно больший будет "размер" такой программы.



Автор: Ульященков Сергей
Больше ответов на Яндекс.Кью
Технологии