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

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, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

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