>Народ, подскажите мне аналог >use strict; >в РНР! Если такой вообще имеется.
Если тебе основное применение этой директивы - ошибки при использовании неявных переменных, то в PHP сключи показ Notice. Будет ругаться на каждом использовании неинициализированных переменных. Веб-сервера, где в PHP стоит запрет показа Notice - надо прятать подальше :D
Нуну. Флаг ему в руки, реализовывать структуры имени товарища Окасаки без статической типизации (а других структур у него не может быть - раз нет мутабельных переменных).
Пыхпых в пролёте, он не взрослеет, а пытается удержать позиции. Люди не переходят на Python, язык превосходящий PHP по многим позициям, лишь из за своей инертности.
Как только Питоша научится незамечать пробелы идиотизьм тянущийся с Фортрана, тогда возможно можно подумать о его полезности...
Я слишком хорошо помню как portage в Gentoo полностью навернул систему из-за отсутсвия одного пробела...
По сравнению с этим PHP просто чудоязык.
После этого надо быть сумашедшим, чтобы программировать на питоне...
А я вот например зарабатываю < 2К$ в год, программируя на РНР, на хлеб НЕ хватает, а больше ниче программить в нашей деревне не требуется! :( Придецца переквалифицироваться в доярку! :...(
x - переменная, которая содержит объект класса Object. Ныне и присно, и во веки веков. Любой объект (в частности, объекты классов Stack и Integer), является объектом класса Object. Что непонятно?
Повторяю - это несравнимые вещи. В perl и php отсутствует строгая типизация, поэтому сравнивать их с типизированными языками некорректно. %a, $a, @a - это конструкции языка. В C аналогичными конструкциями являются к примеру *a и &a.
Я говорил про Java. В C++ - если Stack не наследуется от Object, и нет упомянутого преобразования - произойдёт ошибка. Возможно, на этапе компиляции, точно не помню.
>Повторяю - это несравнимые вещи. В perl и php отсутствует строгая типизация, поэтому сравнивать их с типизированными языками некорректно.
Это всё хорошо. Но если я хочу одной функцией myPrint печатать и массивы, и переменные, и хэши - мне что, ссылку передавать? Аналогично с возвратом. функция db->get() у меня вернёт одну переменную, если в запросе был один аргумент, или хеш, если в запросе было несколько. Предлагаешь делать несколько функций? :)
...
Кстати, такой простой вопрос. Почему на запросах данных по нескольку килобайт mysql_query выполняется в 9 раз быстрее, чем в случае работы через DBI на Perl? Это, кстати, было одной из самых важных причин, по которым я в своё время перешёл на PHP. Ну а потом уже появидись более гибкие include, оптимизаторы типа esccelerator и т.п. вкусности. Сейчас Perl из моего поля зрения практически ушёл. Только пара демонов на Net::Jabber крутятся, т.к. качественных решений оного для PHP я так и не нашёл.
В общем, Perl и PHP - это тоже не совсем сравнимые вещи :D
>если я хочу одной функцией myPrint печатать и массивы, и переменные, и хэши - мне что, ссылку передавать?
А ты что хочешь - копировать туда массивы с хэшами? Да, это не лечится.
>функция db->get() у меня вернёт одну переменную, если в запросе был один аргумент, или хеш, если в запросе было несколько. Предлагаешь делать несколько функций? :)
Предлагаю передать в функцию ссылку на хранилище результата. Тебе всё равно рано или поздно придётся проверить, что там лежит - хэш, скаляр или вообще подпрограмма.
>Почему на запросах данных по нескольку килобайт mysql_query выполняется в 9 раз быстрее, чем в случае работы через DBI на Perl?
Не знаю. Честно, не знаю. А оно быстрее? AFAIK, DBD::mysql использует mysql API. Думаю, что mysql_query тоже. Опять же, в DBI много методов. Код в студию.
>А я вот например зарабатываю < 2К$ в год, программируя на РНР, на хлеб НЕ хватает, а больше ниче программить в нашей деревне не требуется! :( Придецца переквалифицироваться в доярку! :...(
Камрад по несчастью! Автоматизация ТП + web-морда: c + sql + php. ~$2.5k в год. (живу рядом, в Курске)
>Чавой-тт-a ? Это где такие сказки пишут ? Ткни пальцем, а то шибко интересно.
Пардон, с чем-то перепутал, или на другом железе было. Сейчас на amd64
(perl-5.8.6 и python-2.4.2) питон быстрее всего в 1.7 раза. Но всё
равно - быстрее и прилично:
# time ./fib.py perl -v
3524578
real 0m2.786s
user 0m2.704s
sys 0m0.012s
# time ./fib.pl
3524578
real 0m4.535s
user 0m4.392s
sys 0m0.008s
#!/usr/bin/perl
sub fib
{
$_[0] > 2 ? fib($_[0]-1) + fib($_[0]-2) : 1;
}
print fib(33);
#!/usr/bin/python
def fib(n):
if n>2:
return fib(n-1)+fib(n-2)
else:
return 1
print fib(33)
>Пардон, с чем-то перепутал, или на другом железе было. Сейчас на amd64 (perl-5.8.6 и python-2.4.2) питон быстрее всего в 1.7 раза. Но всё равно - быстрее и прилично:
Да даже и в таком виде - причем здесь "голая математика" - то ;) ?
BTW: Хочешь покажу ультра-быстрый Perl-вариант ? ;))
Специально для таких случаев ? ;)) (причем уже давно "стандартный" )
Тут вообще можно заявить что Perl быстрее Python-а "на голой математике" ~ в 200 раз ;)))