The OpenNET Project / Index page

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



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

Исходное сообщение
"PHP и Perl"
Отправлено gmm20, 08-Июн-07 18:11 
>> обычно оценивают качество _реализации_ языков программирования
>> по количеству критических ошибок в интерпретаторе/компиляторе.
>> и по этому показателю PHP5 занимает одно из последних мест...

> 90% глюков которые находят в PHP волнуют не программистов а хостеров.
> Те, которые держат свой сервер для своего проекта вообще не волнуются.

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

>> Perl имеет много преимуществ. например, регулярные выражения Perl
>> сделаны очень качественно, даже сделали отдельную библиотеку pcre,
>> которая кстати, используется и в PHP.

> Если pcre/preg есть в PHP уже сто лет, то это - не преимущество.
> Вот если бы его небыло - было бы преимуществом.

хорошо, пусть не преимущество, но это одна из самых сильных сторон Perl.
если бы не существовало Perl, то не было бы и этой библиотеки внутри PHP.

> Я тебя про _преимущества_ спрашиваю - чем язык принципиально
> отличается в лучшую (какую либо) сторону, что у него есть чего ещё у других нет?

хорошо. например, в Perl есть такая очень приятная фича, как "0, but true".
это специальное значение, которое при приведении в числовой тип превращается
в числовое значение 0, а при приведении в логический тип превращается
в логическое значение true. вот пример тестового кода на Perl:

===-===-===

print "num: ", ( "0, but true" + 0 ), "\n";

if( "0, but true" )
{
    print "str: true\n";
}

===-===-===

если вместо строки "0, but true" использовать строку "0",
при приведении в логический тип мы получим значение false.

этой фичи не хватает в PHP, что приводит к необходимости
писать примерно такой проверочный код вокруг функции strpos:

===-===-===

// in PHP 4.0.0 and newer:
$pos = strrpos($mystring, "b");
if ($pos === false) { // note: three equal signs
   // not found...
}

// in versions older than 4.0.0:
$pos = strrpos($mystring, "b");
if (is_bool($pos) && !$pos) {
   // not found...
}

===-===-===

> А я тебе отвечу в чём его единственное конкурентное преимущество. _единственное_.
> Перл действительно отличная альтернатива sh/awk/sed, и она с вероятностью 99%
> уже стоит на каком-либо unix-сервере, будь то linux/freebsd/solaris/aix/hpux/sco.

я не вижу конкуренции между bash, perl, gcc, php и другими инструментами.
спор "что лучше - perl или php" это из серии "что лучше - молоток или дрель".
и то и другое - почти отличные, удобные инструменты в своей области применения.

 

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



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

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