я на нем тоже раньше писал, но со временем понял всю кривость монолитной архитектуры (когда для добавления драйвера БД надо целиком пересобирать интерпретатор) и пересел на perl. Чего и вам желаю :))
Perl - хорошо, только вот разве там открытие файла, получение чего-то из инета по HTTP и т. д. создают exceptions, если действие прошло неудачно? Приходится вручную после каждого действия писать or die, or next и т. д.
Обьектная архитектура, отделение данных от кода, и полная управляемость безопасностью, плюс к этому "удобства перевода" например, включение TAL-METAL языка
>и кстати мы тут говорим не о чём: на месте die может быть обработчик ошибки ;)
Напиши эту же прогу на Perl:
#!/usr/bin/env python
try:
func1
func2
func3
func4
func5
except:
print "failed"
func6
% cat test.cgi
#!/usr/bin/perl
use warnings;
use strict;
sub func1
{
print("func1:$_[0]\n");
}
sub func2
{
print("func2:$_[0]\n");
return $_[0];
}
sub func3
{
die("bye");
return "wtf";
}
eval {
func1(func2(func3()));
};
if ($@ ne '') {
printf("Operation failed\n");
}
% ./test.cgi
Operation failed
Или я что то не так понял?
зачем это мне так придётся писать? Если func1 кидает исключение, то не придётся. Если не кидает, то придётся, но это уже проблемы func1 а не perl-а. Или в python-е при возврате чего-то наподобие undef кидается исключение? Если сильно хочется исключений - напишите врапперы для библиотечных функций и используйте их.
Ты не понял, что стандартные функции Perl типа (open и все остальные) die никогда не вызывают. И при обращении к несуществующему элементу массива ничего кроме предупреждения не будет. В Python exception генерирует любое некорректное действие.
Цитата из Гвидо: "My personal favorite -- and I expect that that will remain a personal favorite for a long time -- is something named Django. ... I highly recommend it." Оригинал тут: http://twit.iad.cachefly.net/FLOSS-011.ogg
Почему не любят?
Если ПХПшница, то с удовольствием =)
А ПХПшники - пофиг просто.
Сам с ПХП баловался, ща просто нафиг не надо, т.к. нет таких задач.
Язык програмирования создается не для любви, а для решениия КОНКРЕТНЫХ задач.
Это, конечно мое ИМХО
> Вызывающе неверная информация!
> В настоящее время, практически все пересаживаются на инномарки!
Ах%еть, дайте две!
А что за страна, если не секрет?
p.s. Кроме качеств "средства" всегда необходимо учитывать и качество инфраструктуры. Пых-пых, как и ВАЗы занимают свой ареал, чтож поделаешь, если он (ареал) такой необъятный.
> Язык програмирования создается не для любви, а для решениия КОНКРЕТНЫХ задач.
Оторвать себе я ца можно на любом языке, просто большое кол-во малоквалифицированных, элементарно безалаберных и ленивых кадров пишущих на пхп уже успели сформировать этому языку некий стереотип бездарности.
> Но от twisted может срывать репу гораздо быстрее:))). Всё красиво.
Позволю себе ещё цитату из того же источника: "Django is... Is sort of... I would call it probably a second generation web framerowk in Python while the first generation would be things like Zope and Twisted". :)