Как устаревает программный код

Author Автор: Роман Чернышов    Опубликовано: 2 сентября 2015

progressЗачастую многие пользователи сталкиваются с такой проблемой, как изменение качества работы той или иной программы (медленная работа, ошибки, программа не запускается, результат работы программы отличается от первоначального), будь-то — это приложение под определенную операционную систему: Windows, Linux, Android, или же скрипт написанный на PHP или JavaScript. Любая программа и любой программный код имеет тенденцию к устареванию, он теряет свою актуальность. И речь в данном случае не о функционале, а именно о программном коде, который написан под определенную среду с использование тех или иных технологий.

Как такое может быть?
Справедливый вопрос, ведь программное обеспечение это не молоко на полке в магазине и устаревать или менять свои качества он не может. С одной стороны данное утверждение верно, программный код не меняется и остается на протяжении всего его жизненного цикла в первоначальном виде. Но тогда почему разработчики программного обеспечения периодически выпускают новые версии своего продукта, которые потом снова и снова идут в продажу? От части это связано с добавлением нового более совершенного функционала, с другой стороны идет нескончаемый процесс устранение найденных ошибок в ранних версиях. Но все это, не является старением программного кода! Дак, что-же это?

Развитие технологий
Дело в том, что помимо самой программы, существует еще множество различных факторов которые влияют на результат ее работы. Например это операционная система в которой работает программа, браузер которой загружает страничку веб-сайта и части программного кода написанного на JavaScript, интерпретатор языка программирования (PHP, Python и прочие), веб-сервер Apache\nGinx и еще множество различных компонентов окружающей среды.
Все эти сопутствующие технологии развиваются, переписываются, изменяются, и как следствие оказывают воздействие на все программное обеспечение, которое писалось для работы в ранней окружающей среде. Но раз эта среда меняется, то логично предположить, что и программное обеспечение будет работать несколько иначе.
Вот простой пример, библиотека jQuery облегчающая жизнь многим разработчикам. Выход в свое время новой версии 1.6, ознаменовался тем, что ряд функций стали работать иначе, например $(element).attr(‘property’) — возвращает теперь другие значение. Соответственно скрипт который был написан с учетом версии jQuery 1.5, с версией 1.6 будет работать некорректно. Далее версия 1.9 исключает ряд устаревших интерфейсов, а версия 2.0 прекращает поддержку браузеров IE 6-8. Аналогично с браузерами, переход с версии FireFox 39 на 40 включает в себя десятки исправлений, изменений и улучшений, что так или иначе может отразится на работе ранее написанного JS скрипта, CSS стилей или HTML разметки. Программы написанные для Windows XP могут работать иначе в версии Windows 10.
Также стоит учитывать такой момент как — изменение программной среды самим пользователем, с целью ее усовершенствования, добавления функционала. Например перенастройка веб-сервера, установка\удаление дополнительных компонентов PHP, и прочие манипуляции с теми компонентами операционной системы, от которых зависит работа анализируемой программы.

Стиль, дизайн и юзабилити
img32
Помимо самого программного кода, со временем также теряет актуальность стиль и дизайн в котором выполнена программа. Как в свое время интернет подвергся массовым переменам в дизайне с приходом тренда Web 2.0. Затем технологии CSS 3 и HTML 5, стали поддерживаться практически всеми браузерами, и интернет стал менять свои очертания уже с учетом их. Появление таких библиотек как jQuery, также отразилось на спецэффектах в стиле, применяемых на сайтах. Старые решения стали просто не модными, не стильными и не удобными, ранее восхваляемый скрипт, который просто четко делал свою работу, стал не актуальным, скучным и не пригодным для повседневной рутиной работы.
win10icerik

Данные
Не на последнем месте стоит и такой момент, как данные с которыми работает программа. Ведь со временем им свойственно меняться, в списке фамилий могут добавиться инициалы, номера ICQ постепенно заменяются аккаунтами в Skype, вместо одной фотографии товара их становится 3-5, может увеличиваться и размер данных(например тех же фотографий, в силу увеличения их качества), размер файлов. Все это приводит к тому, что программа может начать работать иначе, например медленнее или не всегда корректно обрабатывать большие фотографии, т.к. на момент написание кода программы не у всех пользователей была техника делать большие качественные фотографии в максимальном разрешении. Изменения, которые со временем могут затрагивать данные, с которыми работает программа, представляют собой бесконечный процесс. Что требует постоянной адаптации программы под новые, меняющиеся вокруг условия.

В заключении
Таким образом мы видим, что программное обеспечение имеет тенденцию к устареванию, новые технологии требуют новых решений, новые веяния стиля требуют нового подхода. Пользователю требуется новый более удобный интерфейс. Данные меняют свою структуру, качество и размер. И придела этому нет, все эволюционирует. Разумеется развитие технологий положительно сказывается на удобстве для конечного пользователя, не смотря на то, что ранние версии программ к которым он привык, работавшие некогда предельно стабильно, перестают отвечать всем его требования и теряют свою актуальность. Мир не стоит на месте!

Оставить комментарий

Автор блога
Чернышов Роман
Роман Чернышов
Веб-разработчик, Full Stack
Senior, Architector
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка