[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Камень в сторону mysql
Страницы: 1, 2
Guest
glock18
А разве нет?
Или вы считаете "глобальные переменные и отсутствие типов данных" минусами?
glock18
Цитата (Guest @ 20.06.2013 - 09:52)
glock18
А разве нет?
Или вы считаете "глобальные переменные и отсутствие типов данных" минусами?

Ну как сказать. Глобальные переменные много где разрешены, неоправданное их использование всегда было свидетельством кривизны рук скорее, чем проблемой языка. Отсутствие типов данных - одновременно и плюс, и минус. Это я тоже не отношу.

Вот ради вас только пошел по своей же ссылке за цитатой (из статьи на хабре). Надо сказать, что это не 2008 год, а всего лишь годичной давности:

Цитата
Расстановка сил

Я утверждаю, что язык должен обладать следующими качествами, дабы быть полезным и продуктивным, и PHP нарушает их с дикой непринуждённостью. Если вы не согласны, что они критичны, честно, я не могу представить, как мы с вами в чём-либо можем достигнуть согласия.

Язык должен быть предсказуем. Язык — носитель для выражения человеческих идей и выполнения их на компьютере, поэтому человеческое понимание правильности программы критично.

Язык должен быть целостен. Похожие вещи должны быть похожи, разные должны различаться. Знание части языка должно помогать в изучении и понимании остальной части.

Язык должен быть краток. Новые языки существуют, чтобы уменьшить шаблонность присущую старым языкам. (Мы все могли бы программировать на машинных кодах.) Язык должен в тоже время избегать введения своих собственных шаблонов.

Язык должен быть надёжен. Языки — инструменты для решения задач; проблемы, которые они представляют сами по себе должны быть минимальны. Любые непонятные моменты вызывают смущение.

Язык должен быть отлаживаем. Если что-то идёт не так, программист обязан это починить, и нам нужна вся помощь, которую мы можем получить.

Моя позиция такова:

PHP полон сюрпризов: mysql_real_escape_string, E_ACTUALLY_ALL
PHP не целостен: strpos, str_rot13
PHP требует шаблонного кода: проверка ошибок вокруг «C API»-вызовов, ===
PHP чудной: ==, foreach ($foo as &$bar)
PHP непрозрачен: без стэктрэйсов по умолчанию и фатальных ошибок, сложный error reporting.


Вот я выделил несколько пунктов жирным в цитате. На самом деле, даже невыделенные пункты имеют место быть в некоторой мере.

Например, из 3х выделенных можно назвать такие проблемы:
Цитата

Язык должен быть целостен. Похожие вещи должны быть похожи, разные должны различаться. Знание части языка должно помогать в изучении и понимании остальной части.


Кому-то это покажется ерундой, но совместное существование таких функций, как str_replace и strcmp само по себе - ошибка дизайна. Можно привыкнуть, да. Но минусом это не перестанет быть. Сделают создатели с этим что-то или нет - точно не в ближайших версиях.

Цитата
Язык должен быть надёжен. Языки — инструменты для решения задач; проблемы, которые они представляют сами по себе должны быть минимальны. Любые непонятные моменты вызывают смущение.

Утечки памяти в больших скриптах из-за слабого сборщика мусора. Можно, конечно, лепить повсюду unset'ы, и делать прочие попытки уменьшить утечки, но 100% это проблему не решает. В итоге остается отказаться от использования долгоиграющих скриптов, и использовать какой-то подход, подразумевающий более частый запуск, но не столько длительных скриптов, либо вообще отказаться от услуг php в этом аспекте.

Цитата
Язык должен быть отлаживаем. Если что-то идёт не так, программист обязан это починить, и нам нужна вся помощь, которую мы можем получить.

Ну, тут все просто. Удобных средств для отладки я не видел, xdebug вовсе не относится к ним. Может какие-то ide позволяют качественный debugging настроить (не по файлу, а именно по мере выполнения обработки запроса - тобишь со встроенным процессором php), но мне об этом не известно

В целом начиная с 5.0 пхп прошел уже немалый путь в нужном направлении. Но так же проблемы пока есть. добавили GC альтернативный в 5.3 что ли - уже неплохой шаг. Плюс еще немало изменений. Но немало еще недостатков осталось. Через несколько лет, может быть, это все еще кардинально изменится.

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.