The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Таблица соответствий Perl и PHP"
Отправлено terr0rist, 31-Янв-07 17:20 
>Нормальные программы на PHP используют те фукнции, которые им нужно, а не
>все
>3079.
Ну только зачем тогда все остальные жрут память ? - выключить их для конкретного скрипта нельзя :)
>Открою тебе страшную тайну: в PHP ты также можешь это собирать
>модулями. И их не много - пару десятков.
>
>А по поводу модулей перла...
>$ grep ^p5- /usr/ports/INDEX|wc
>    2643   81823 1935030
>Это уже пафос просто.
Ну пара десятков - отнюдь и не пара, а около 2 сотен - см. ПЕКЛ, ПЕАР и тд. Но шлавный косяк в том, что они все требуют инсталляции, динамически их хрен подключишь. Или - хрен отключишь :) К тому же, то они в пекле, то в пеаре, то в ядре - бардак полный. Да и документация отдыхает.

>Arguments and return values are extremely inconsistent.
>Слава богу что return values не зависят от контекста вызываемой
>функции. И без статьи даже бы и не знал что есть что-то
>там inconsistent. Спасибо, просветили ;)
Тоже маразм: то false === returnvalue, то 0, to 1, to '' , то array()... полный бред. Гораздо приятнее, когда значение учитывает контекст. Хотя это наверно дела вкуса.

>PHP has separate functions for case insensitive operations.
>С чего это недостаток? Для меня это вообще роли не играет. Perl
>вообще в плане функций
>в основном эмулирует C-аналоги. Вообще не терплю эти сокращения eq,
>gt, le, lc...
А РНР то эмулирует, то не эмулирует, то С-аналоги, то перл-аналоги...

>PHP has inconsistent function naming. См. замечание про китайцев.
>Всё равно я на память их все не помню - по любому
>полезу в
>документацию. Моя основная (архиважнейшая) проблема - как мне называть
>мои функции и помнить что они делают.
Да, но когда ты вдруг называешь свою функцию именем, которое уже зарезервировано? А не помнить на память и лазить в доки - только время терять. Плюс - полный маразм, когда системные функции вдруг изменяют названия или параметры.

>PHP has no lexical scope.
>Даже и не знаю что это. Я ж тупой. ;) Может быть
>лишняя сущность сверх необходимости? А вот то что в перле мне в функциях нужно писать
>направо и налево local и my - весьма раздражает.
Ну локал и май - можно и не писать... А то, что ты не знаешь - сам себе уже ответил.:) Все равно РНР выдает предупреждения при отсутствии объявления переменных. Я пишу в стрикте, и эти пердупержения достают. А когда имеешь дело с преобразованием скалярной переменной в массив - то вообще _нужно_ заранее писать array(), а то хрен тебе он преобразуется... По поводу политики отсутствия глобальных переменных - это следствие того, что РНР - язык для хоть и продвинутых, но домохозяек :) "мы мол боимся, что их начнут не так использовать" - цитата разработчика.

>PHP has too many functions in the main namespace.
>;) Афтару нужно было не в программисты идти, а в политики. Там
>такие нужны. А то скоро Шуфрича на рыбалку позовут, Черновола на охоту или
>в баню, а дело-то, сам понимаешь, опасное, и место демагогов будет вакантно.
Тут пожалуй соглашусь, НО!!! если бы эти функции реально делали что-то полезное... и если бы они это делали быстро и красиво... а то тот же ХХsort() - сколько их, а зачем? и почему все функции по массивам возвращают массивы, а сорт - работает со ссылкой? Делали бы уж в едином стиле...

>PHP lacks abstraction and takes TIMTOWTDI to bad extremes.
>Насчёт абстракций - есть. И по тому списку что там можно пройтись
>критическим взглядом весьма много пересчитав рёбрышек автору. Лень ;)
>Слишкам многа букф.
Опять же, почти соглашусь, с замечанием по поводу единого стиля.

Но вот реально, зачем в РНР символ $ перед переменными, если он ровным счетом ничего не определяет??? только мешает. Абсолютно уродская работа со ссылками, при заверении разработчика, что ссылки ничего не ускоряют :) - проверено, ускоряют, но геморрою в коде добавляют изрядно. Работа с массивами и объектами - взято все худшее из жабы и перла, все лучшее удалено нах.

Потом:
    * No namespaces
    * All functions are global
    * No anonymous functions
...
И главное,
  Wants to be Perl, but doesn't want to be Perl.

Из всего этого я делаю вывод, что РНР - это язык скомпилированных макросов. А не язык программирования.
При всем этом успешно использую его под веб уже 3 года. :)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру