Десять лет назад 8 июня 1995 года Rasmus Lerdorf официально анансировал Personal Home Page Tools, сейчас известный как PHP: Hypertext Preprocessor - платформо-независимый язык скриптов.
> В окамле исключения быстрые, а в Жабке так не разгуляешься, придурковатые создатели Жабки думали, что исключения - только для ошибок, а не для логики.
у C++ тоже придурковатые создатели ?
Язык программирования Форт (Forth) появился в 1970 г. благодаря работам Чарльза Мура. К моменту создания первого транслятора Форта уже существовали языки программирования третьего поколения, к которым относятся, в частности, Си и Паскаль. Язык, разработанный Муром, настолько отличался от них, что был отнесен к языкам программирования четвертого поколения, или Fourth generation level.
Дык кто ж мешает? На сам язык не более 2х часов должно уйти, язык примитивный, а из библиотек имеет смысл посмотреть внимательно только на reflection, остальное можешь проигнорировать, ничего хорошего и красивого нет.
>мне удобнее встраивать пшп код в страницу чем юзать CGI
Вообще-то, встраивать серверный код в страницу, то есть логику в дизайн, то есть контроллер в представление - это как раз то, против чего боролись все и что вновь изобрели php-шники. И как раз поэтому php победит - на нём разрешается и рекомендуется писать неправильно. Знаменитый phpBB - лишнее тому подтверждение.
Это не ответ. Так есть там DBI или нет? Последнее, что я видел в php - это долгое и вдумчивое штудирование материалов, как скрипты с mysql перевести на postgresql, например. Впрочем, в мире php наверное кроме mysql ничего не знают...
У меня /dev/brain имеется, и поэтому я не пишу на php :) Вообще, люди, которые не различают обычных и ассоциативных массивов, говорят о сложности синтаксиса perl :-D
Я может много чего не знаю. Однако я НЕ ПОЗВОЛЯЮ СЕБЕ РАЗГЛАГОЛЬСТВОВАТЬ ПРИЛЮДНО С ВИДОМ ЗНАТОКА, О ВЕЩЯХ, О КОТОРЫХ ИМЕЮ ЛИШЬ ОТДАЛЕННОЕ ПРЕДСТАВЛЕНИЕ.
Очень редко не есть никогда. А когда это нужно, то приходится извращаться.
> Обычно при возникновении исключения дальнейшая работа метода не имеет смысла. Впрочем, можно завернуть в try {...} catch (Exception E) {}
При возникновении исключения -- да. На то это и исключение. Я скорее веду к тому, что бросать исключение при делении на нуль это немного поспешно. Скорее всего обычного run-time warning'а бы хватило с головой.
> В окамле --- запросто. Например. > let rec length = fun list -> 1 + try (length (List.tl list)) with _ -> 0 ;;
С ОКампом не знаком, но насколько я вижу, в блок try взят лишь вызов функции length. Это тоже самое, что и сделать try { int a = arr.length(); } catch( Exception e ) { } Конструкция некрасивая, согласись. В ОКампе она красивее, но смысл от этого не меняется. И она не спасает от случая, когда исключение может возникнуть в любой из нескольких строк. А ещё исключение может произойти и в любой формуле. К слову, в языке со строгой типизацией (Java, с которой дискуссия и началась) PHP'шный вариант будет не к месту.
> Первый раз такое слышу. Можешь по--подробнее рассказать.
Мне кажется, что это вытекает из концепции исключений. Ну где можно сделать так: try { int a = func1(); int b = func2(); // <--- здесь бросается исключение int c = func3(); } catch( Exception e ) { cout << "Шаг " << e.step << " не был завершён."; continue; // вооброжаемый оператор, который продолжает выполнение с int c... } Ни в одном языке я не видел подобной конструкции...
Вставлю свои три копейки. Что есть такого в Perl что мне не нравится в PHP - это система модулей/библиотек. У PHP из-за каждой фигни приходится его пересобирать, что вообще нонсенс среди языков программирования у Perl, да и у других просто ставишь библиотеку сам язык не прекомпилируешь. Вот это я и считаю основным и самым большим недостатком PHP. Блин, что бы добавить поддержку какой-нибудь ДБ или XML библиотеки надо перекомплиировать, абсурд не находите?
> У PHP из-за каждой фигни приходится его пересобирать
А чё, extensions уже отменили? Фигово-то как... :(
Компиляция extensions не требует перекомпиляции самого интерпретатора, хотя исходники всё же потребуются.
> у Perl, да и у других просто ставишь библиотеку
В перле, насколько я знаю, библиотеки хранятся в исходных кодах, так что ни о какой компиляции речь не идёт. С PHP ситуация аналогичная -- если подключать библиотеку в исходниках, то ничего компилировать и не надо. Если extension за вас не скомпилировали разработчики дистра, то компилируете сами скормив ему сырцы PHP.
Вы ребята ни очем другом, как пообсерадь, поговорить не можете. Вот так выглядет почти каждое обсуждение чего-угодно. Вы хоть сами разбираетесь про что орете? Думаю не все. Про тему, обсуждаемую здесь, вы давно и забыли. И так происходит почти всегда, начали обсуждать одно и закончили обсиранием либа друг друга, либо винду опускать, либо чего еще, что и рядом с темой не валялось. Очень жаль что сдесь одни, ну почти, любители "тусуются". Которым лижбы попиздеть или обострать чёнить. На большее вы не способны.
Да, почитал немного высказывания некоторого народа и решил вставить свои 5 коп. Культуры мало, гонору - сверх нормы. Только ущербные люди, не уважающие ни свой, ни чужой труд, любят хаить все, что им не нравиться, кидаться словечками типа "гавно", "быдло" и т.п. Уважения заслуживает любой человек, который делает что-то полезное, неважно на чем и даже отчасти как. Что бы не гундели злопыхатели, но PHP - достойный язык. И со скоростью (для средств его класса) у него все в порядке, и с красивым кодом тоже. Кто его не видел, значит и сам нормально программировать не может. У РНР великолепные средства для обработки данных в виде потока символов и расчитан он, в первую очередь, именно на это. Отсюда и многие особенности языка. Из практики скажу, что страницы, переписанные на РНР с ASP или JAVA, получаются компактнее и часто работают быстрее. Зайдите на Sourceforge.net или Hotscripts.com и посмотрите, какие отличные вещи написаны на РНР. Работают на любой платформе. Для тех, кто пытается сравнивать РНР с "нормальными" языками программирования, замечу, что РНР - скриптовый язык для создания динамических Веб-страниц. Выдавать ошибку и прекращать выполнение скрипта он должен только на этапе компиляции. Когда же код работает, то информация должна по любому выдаваться на страницу, возможно с предупреждениями о некорректных операциях. Все это настраивается. Все, что поначалу кажется глупостью, потом оказывается вполне разумным именно для генерации Веб-страниц. Так что, парни, с уважением нужно относиться к своим собратьям по ремеслу и выбору каждого из них.
> В этой теме и сказали, там, где про continuations.
Хм, а можно поконкретнее. Поиск по всему треду по словам "схем", "schem", "cont" не даёт никаких постов с информацией о том, что на scheme можно сделать возврат выполнения к месту срабатывания исключения. Может его удалили?
Художник не будет с уважением относится к вечно пьяному бездарю-маляру, которого из ЖЭКа только по блату ещё не выгнали.
PHP-шная братия - хуже, чем тот маляр, они используют абсолютно неадекватное средство разработки, и их отвратительно много. Вся тупейшая пионерия собралась в этой тусовке. Так что отвращение к ним более чем заслуженное, они его добились соответствующим качеством своей работы, и несоответствующим качеству гонором.
P.S. ну не может быть разумным выбором "для генерации веб-страниц" хреновина, которая позволяет перемешивать код и html. Просто по определению. Так же, как нельзя отнести к роду homo sapiens тех макак, которые этой хреновиной пользуются.
>> Для тех, кто пытается сравнивать РНР с "нормальными" языками программирования, замечу, что РНР - скриптовый язык для создания динамических Веб-страниц.
Хоть один человек нормальный нашелся. По полкам все разложил )
> P.S. ну не может быть разумным выбором "для генерации веб-страниц" хреновина, которая позволяет перемешивать код и html. Просто по определению. Так же, как нельзя отнести к роду homo sapiens тех макак, которые этой хреновиной пользуются.
>PHP-шная братия - хуже, чем тот маляр, они используют абсолютно неадекватное средство разработки, и их отвратительно много. Вся тупейшая пионерия собралась в этой тусовке. Так что отвращение к ним более чем заслуженное, они его добились соответствующим качеством своей работы, и несоответствующим качеству гонором.
Аналогично. Кто ТЫ такой чтобы это всё говорить. Доказательства крутости приведи. Сколько ПОЛЕЗНОГО кода ты пишешь в день? Сколько тысяч/миллинов человек в день посещают твои сайты. Мои на php посещают тысячи по несколько миллинов обращений на серверы в день. Ты то что сделал? Ругать язык - можно. PHP не универсальный язык. Но в реале таких бить надо за оскорбление программистов и их труда.
>>Без настроек security.manager
>Вот именно БЕЗ НАСТРОЕК и позволяет.
Так и пиши, код писать не умеешь, но где то взрослых слышал.
>>код в студию ;-)
>Можеи тебе еще и рыло твое вареньем намазать?
Можешь попробовать, адресок боксерского клуба, могу на мыло скинуть,
там и поговорим.