Отсутствие обратной совместимости между версиями языка

Категория: PHP :: 7-09-2011, 23:01

Код, написанный для ранних версий языка, чаще всего не работает или функционирует некорректно в более поздних версиях программной среды. В поздних версиях очень часто исключаются конструкции, функции, методики, использовавшиеся ранее. В итоге, программы, написанные несколько лет назад, теряют свою работоспособность для новых версий языка. Им необходима значительная модификация. Подобные изменения объясняются двумя факторами: решение вопросов несогласованного синтаксиса и удаления конструкций, ведущих к созданию небезопасного кода.

В версиях новой линейки 5.3.x многие функции были объявлены устаревшими, их поддержка больше не планируется в будущих версиях языка, что вызывает полную несовместимость со скриптами, которые применяют устаревшие функции. Кроме того, для версии 5.3 на сегодняшний день отсутствует специальное программное обеспечение, подобное Zend Optimizer. Разработчики планировали создать его уже в 2010 году.

Следует отметить, что противоречие между процессом развития и вопросами совместимости — одна из важнейших проблем в создании аппаратного и программного обеспечения. При разработке скриптовых языков иногда происходит полная смена его архитектуры (а зачастую и парадигмы). Такие изменения обычно сопровождаются сменной самой первой цифры в версии. Например, в настоящее время идёт медленный переход на последнюю ветвь языка Python — 3.x, Perl 6 находится в стадии тестирования. По сути, он является новым perl-образным языком. В этом случае принято выпускать промежуточные версии, в которых медленно вводятся новые конструкции кода, а применение устаревших вызывает появление предупреждений. К подобным переходным версиям относится и язык PHP 5.3. Поэтому мы сами можем испытать все преимущества и недостатки таких переходных версий.









Script-coding.Info :: Карта сайта
Все права защищены, 2011.
Яндекс цитирования  
Энциклопедия языков программирования.