Помощь в учёбе, очень быстро...
Работаем вместе до победы

Недостатки языка. 
Веб-объекты и распределительная обработка

РефератПомощь в написанииУзнать стоимостьмоей работы

Отсутствие обратной совместимости между версиями языка Код, созданный для более ранних версий языка, зачастую не работает или работает некорректно с более поздними версиями языка. В более поздних версиях исключаются конструкции, методики, функции, применявшиеся ранее. В результате, приложения, созданные несколько лет назад, практически теряют работоспособность для современных версий языка… Читать ещё >

Недостатки языка. Веб-объекты и распределительная обработка (реферат, курсовая, диплом, контрольная)

1. Несогласованный синтаксис функций и неортогональность.

PHP предоставляет разработчикам большое количество самых разнообразных функций, которые попали в язык из расширений, создаваемых разными группами программистов [6]. В результате синтаксис языка не согласован, например, часть функций для работы с массивами начинается с префикса array_, другая часть этим префиксом не обладает. Названия части строковых функций начинается с префикса str, другие функции таким префиксом не обладают. В тех же строковых функциях обрабатываемая строка может передаваться как в качестве первого, так и в качестве последнего аргумента, что требует постоянного обращения к документации. Многие задачи, например разбиение строки на массив или подстроки, решаются неимоверным количеством разнообразных наборов функций. Все это связано с сильным влиянием Perl, в котором неортогональность является частью концепции. Однако PHP задумывался как промышленный и ортогональный язык, и альтернативные наборы функций для решения одних и тех же задач сильно мешают создавать код в едином стиле. К сожалению, проблема скорее всего не будет решена из соображений обратной совместимости.

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

3. Отсутствие поддержки Unicode в ядре языка Поддержка Unicode-строк реализуется через расширение mbstring. При этом вместо стандартных функций работы со строками используются аналогичные функции, но с префиксом mb_. Сами строки не хранят информацию о своей кодировке, и её необходимо указывать вручную при вызове функций расширения mbstring. Проблема, скорее всего, будет решена в PHP 6.

4. Отсутствие прямого обращения к возвращаемому массиву В языке PHP массив, возвращаемый функцией или методом, необходимо предварительно занести в переменную, чтобы применить оператор […].

Эта проблема, скорее всего, не будет решена, так как PHP, в отличие от других языков программирования, позволяет работать не только с индексными массивами, но и с ассоциативными. Однако PHP поддерживает конструкцию list (), предлагающую концептуально иной способ работы с массивами, предоставляя разработчику возможность поместить элементы массива сразу в переменные.

Тут надо выводы. Итак, произведен обзор… обзор показал, что ничего нам не подходит, надо разработать самим. Для этого мы рассмотрели средства разработки…

Показать весь текст
Заполнить форму текущей работой