LINUX.ORG.RU

PHP исполнилось 10 лет


0

0

Десять лет назад 8 июня 1995 года Rasmus Lerdorf официально анансировал Personal Home Page Tools, сейчас известный как PHP: Hypertext Preprocessor - платформо-независимый язык скриптов.

Официальный сайт: http://www.php.net/

Скачать: http://www.php.net/downloads.php

>>> Оригинал послания



Проверено: Demetrio ()

Ответ на: комментарий от anonymous

> Очень знаешь ли удобно кидать current continuation параметром исключения.
вобще то мы говорили в контексте java

ed ★★
()
Ответ на: комментарий от anonymous

> В окамле исключения быстрые, а в Жабке так не разгуляешься, придурковатые создатели Жабки думали, что исключения - только для ошибок, а не для логики.
у C++ тоже придурковатые создатели ?

ed ★★
()
Ответ на: комментарий от ed

Конечно же. Страус - тот ещё идиот. Что он с языком темплейтов сделал - это вообще полный цирк.

anonymous
()
Ответ на: комментарий от anonymous

Нафиг Форт. Рантайм у него галимый. Common Lisp рулит.

anonymous
()
Ответ на: комментарий от anonymous

Код в html встраивать - дурь полная. А если всё же хочется так поступать, то уж http://brl.sourceforge.net/ на порядки лучше дебильного PHP.

anonymous
()
Ответ на: комментарий от ed

Все гинальное просто!

Язык программирования Форт (Forth) появился в 1970 г. благодаря работам Чарльза Мура. К моменту создания первого транслятора Форта уже существовали языки программирования третьего поколения, к которым относятся, в частности, Си и Паскаль. Язык, разработанный Муром, настолько отличался от них, что был отнесен к языкам программирования четвертого поколения, или Fourth generation level.

Даешь язык четвертого поколения!!! PHP в топку!

anonymous
()
Ответ на: комментарий от ugoday

Дык кто ж мешает? На сам язык не более 2х часов должно уйти, язык примитивный, а из библиотек имеет смысл посмотреть внимательно только на reflection, остальное можешь проигнорировать, ничего хорошего и красивого нет.

anonymous
()
Ответ на: комментарий от ed

> C++ тоже придурковатые создатели ?

Таки речь следует вести о создателях компилятора. В ansi c++ нет требований о медленности искличений. (поправьте если я не прав).

А то что под с++ сложно создать нормальных компилятор --- это другой вопрос.

ugoday ★★★★★
()
Ответ на: комментарий от anonymous

Но к тому моменту уже 20 лет существовал Лисп, который гораздо мощнее, как метаязык. Так что Мур погорячился с 4-м поколением.

anonymous
()
Ответ на: комментарий от ugoday

Я уверен, что Страус сам не в курсе, что на исключениях можно логику реализовывать. Не те мозги у страуса, чтоб нетривиальные мысли думать.

anonymous
()
Ответ на: комментарий от anonymous

Сначала доучу английский, потом scheme, затем Limbo, а следующим языком обязательно будет Forth.

ugoday ★★★★★
()
Ответ на: комментарий от anonymous

> Жаба сосёт. Не так сильно, как дебильный php, но всё равно - сосёт.
как язык - да, как платформа - ИМХО полноценных конкурентов нет

ed ★★
()
Ответ на: комментарий от anonymous

Ну как руки дойдут --- посмотрю. Просто обычно самая засада находится в деталях, а их можно увидеть далеко не сразу.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

> А то что под с++ сложно создать нормальных компилятор --- это другой вопрос.
ворос не компиляторе, а в continuation vs stack unwind

ed ★★
()
Ответ на: комментарий от ugoday

Тогда уж Postscript язык 5-го поколения, УРА! - фактически прямой потомок Форта. Хотя такого заявления в описании языка вы и не встретите.

anonymous
()
Ответ на: комментарий от anonymous

>его из AT&T уволили

Надеюсь, с позором и без выходного пособия?

ugoday ★★★★★
()
Ответ на: комментарий от anonymous

>мне удобнее встраивать пшп код в страницу чем юзать CGI

Вообще-то, встраивать серверный код в страницу, то есть логику в дизайн, то есть контроллер в представление - это как раз то, против чего боролись все и что вновь изобрели php-шники. И как раз поэтому php победит - на нём разрешается и рекомендуется писать неправильно. Знаменитый phpBB - лишнее тому подтверждение.

А CGI тут совсем не при чём.

PS Для php уже изобрели DBI?

Eldhenn
()
Ответ на: комментарий от anonymous

Это не ответ. Так есть там DBI или нет? Последнее, что я видел в php - это долгое и вдумчивое штудирование материалов, как скрипты с mysql перевести на postgresql, например. Впрочем, в мире php наверное кроме mysql ничего не знают...

Eldhenn
()
Ответ на: комментарий от Eldhenn

Если это тебя останавливает то ты полный /dev/null. А если бы был /dev/brain, то таких вопросов не было.

anonymous
()
Ответ на: комментарий от anonymous

> > нету много чего, что есть в яве (в основном в смысле рантайма, а не языка).

> Например?

Ну из важного -

Sandbox

нормально работающий JIT

Без этого многие существующие ниши явы занять нельзя (первое - для апплетов, второе - для масштабного сервер-сайда).

anonymous
()
Ответ на: комментарий от anonymous

У меня /dev/brain имеется, и поэтому я не пишу на php :) Вообще, люди, которые не различают обычных и ассоциативных массивов, говорят о сложности синтаксиса perl :-D

Eldhenn
()
Ответ на: комментарий от Yilativs

>А ты знаешь?

Я может много чего не знаю. Однако я НЕ ПОЗВОЛЯЮ СЕБЕ РАЗГЛАГОЛЬСТВОВАТЬ ПРИЛЮДНО С ВИДОМ ЗНАТОКА, О ВЕЩЯХ, О КОТОРЫХ ИМЕЮ ЛИШЬ ОТДАЛЕННОЕ ПРЕДСТАВЛЕНИЕ.

>Без настроек security.manager

Вот именно БЕЗ НАСТРОЕК и позволяет.

>код в студию ;-)

Можеи тебе еще и рыло твое вареньем намазать?

anonymous
()
Ответ на: комментарий от anonymous

Для Perl-а такой интерфейс для работы с базой:

$c=db_select ( qq{ SELECT col1, col2 FROM T1 WHERE a=:1 AND b=:2 } , [ $a, $b ] );
while(db_fetch($c)) {
print $c->{col1};
print $c->{col2};
}

Хочу типа такого-же для php. Можно?

anonymous
()
Ответ на: комментарий от Eldhenn

> очень редко имеет смысл.

Очень редко не есть никогда. А когда это нужно, то приходится извращаться.

> Обычно при возникновении исключения дальнейшая работа метода не имеет смысла. Впрочем, можно завернуть в 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... } Ни в одном языке я не видел подобной конструкции...

the_one
()
Ответ на: комментарий от the_one

Вставлю свои три копейки. Что есть такого в Perl что мне не нравится в PHP - это система модулей/библиотек. У PHP из-за каждой фигни приходится его пересобирать, что вообще нонсенс среди языков программирования у Perl, да и у других просто ставишь библиотеку сам язык не прекомпилируешь. Вот это я и считаю основным и самым большим недостатком PHP. Блин, что бы добавить поддержку какой-нибудь ДБ или XML библиотеки надо перекомплиировать, абсурд не находите?

Вообще-то аналогичный флейм уже был: http://www.linux.org.ru/view-message.jsp?msgid=227232&scroll=group&ba...

anonymous
()
Ответ на: комментарий от anonymous

> У PHP из-за каждой фигни приходится его пересобирать

А чё, extensions уже отменили? Фигово-то как... :(

Компиляция extensions не требует перекомпиляции самого интерпретатора, хотя исходники всё же потребуются.

> у Perl, да и у других просто ставишь библиотеку

В перле, насколько я знаю, библиотеки хранятся в исходных кодах, так что ни о какой компиляции речь не идёт. С PHP ситуация аналогичная -- если подключать библиотеку в исходниках, то ничего компилировать и не надо. Если extension за вас не скомпилировали разработчики дистра, то компилируете сами скормив ему сырцы PHP.

the_one
()
Ответ на: комментарий от anonymous

Иди нахуй по Схеме ононимус!

Вы ребята ни очем другом, как пообсерадь, поговорить не можете. Вот так выглядет почти каждое обсуждение чего-угодно. Вы хоть сами разбираетесь про что орете? Думаю не все. Про тему, обсуждаемую здесь, вы давно и забыли. И так происходит почти всегда, начали обсуждать одно и закончили обсиранием либа друг друга, либо винду опускать, либо чего еще, что и рядом с темой не валялось. Очень жаль что сдесь одни, ну почти, любители "тусуются". Которым лижбы попиздеть или обострать чёнить. На большее вы не способны.

anonymous
()

Да, почитал немного высказывания некоторого народа и решил вставить свои 5 коп. Культуры мало, гонору - сверх нормы. Только ущербные люди, не уважающие ни свой, ни чужой труд, любят хаить все, что им не нравиться, кидаться словечками типа "гавно", "быдло" и т.п. Уважения заслуживает любой человек, который делает что-то полезное, неважно на чем и даже отчасти как. Что бы не гундели злопыхатели, но PHP - достойный язык. И со скоростью (для средств его класса) у него все в порядке, и с красивым кодом тоже. Кто его не видел, значит и сам нормально программировать не может. У РНР великолепные средства для обработки данных в виде потока символов и расчитан он, в первую очередь, именно на это. Отсюда и многие особенности языка. Из практики скажу, что страницы, переписанные на РНР с ASP или JAVA, получаются компактнее и часто работают быстрее. Зайдите на Sourceforge.net или Hotscripts.com и посмотрите, какие отличные вещи написаны на РНР. Работают на любой платформе. Для тех, кто пытается сравнивать РНР с "нормальными" языками программирования, замечу, что РНР - скриптовый язык для создания динамических Веб-страниц. Выдавать ошибку и прекращать выполнение скрипта он должен только на этапе компиляции. Когда же код работает, то информация должна по любому выдаваться на страницу, возможно с предупреждениями о некорректных операциях. Все это настраивается. Все, что поначалу кажется глупостью, потом оказывается вполне разумным именно для генерации Веб-страниц. Так что, парни, с уважением нужно относиться к своим собратьям по ремеслу и выбору каждого из них.

MR
()
Ответ на: комментарий от anonymous

> В этой теме и сказали, там, где про continuations.

Хм, а можно поконкретнее. Поиск по всему треду по словам "схем", "schem", "cont" не даёт никаких постов с информацией о том, что на scheme можно сделать возврат выполнения к месту срабатывания исключения. Может его удалили?

the_one
()
Ответ на: комментарий от MR

Художник не будет с уважением относится к вечно пьяному бездарю-маляру, которого из ЖЭКа только по блату ещё не выгнали.

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

anonymous
()
Ответ на: комментарий от MR

P.S. ну не может быть разумным выбором "для генерации веб-страниц" хреновина, которая позволяет перемешивать код и html. Просто по определению. Так же, как нельзя отнести к роду homo sapiens тех макак, которые этой хреновиной пользуются.

anonymous
()
Ответ на: комментарий от anonymous

> реновина, которая позволяет перемешивать код и html

если мозги есть - перемешивать не будешь,
если нет - почему к языку претензии??
это к маме с папой.

kelyar ★★★★★
()
Ответ на: комментарий от MR

>> Для тех, кто пытается сравнивать РНР с "нормальными" языками программирования, замечу, что РНР - скриптовый язык для создания динамических Веб-страниц.

Хоть один человек нормальный нашелся. По полкам все разложил )

Zloban
()
Ответ на: комментарий от anonymous

> P.S. ну не может быть разумным выбором "для генерации веб-страниц" хреновина, которая позволяет перемешивать код и html. Просто по определению. Так же, как нельзя отнести к роду homo sapiens тех макак, которые этой хреновиной пользуются.

Я не знаю языка, который бы не позволял. :)

anonymous
()
Ответ на: комментарий от anonymous

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

Аналогично. Кто ТЫ такой чтобы это всё говорить. Доказательства крутости приведи. Сколько ПОЛЕЗНОГО кода ты пишешь в день? Сколько тысяч/миллинов человек в день посещают твои сайты. Мои на php посещают тысячи по несколько миллинов обращений на серверы в день. Ты то что сделал? Ругать язык - можно. PHP не универсальный язык. Но в реале таких бить надо за оскорбление программистов и их труда.

anonymous
()
Ответ на: комментарий от anonymous

>>Без настроек security.manager
>Вот именно БЕЗ НАСТРОЕК и позволяет.
Так и пиши, код писать не умеешь, но где то взрослых слышал.

>>код в студию ;-)
>Можеи тебе еще и рыло твое вареньем намазать?
Можешь попробовать, адресок боксерского клуба, могу на мыло скинуть,
там и поговорим.

Yilativs ★★★★
()
Ответ на: комментарий от anonymous

Ха. PHP-нутые лабатели хоумпейджей - это не "программисты", а их суходрочка - не "труд". Ты всё напутал.

anonymous
()
Ответ на: комментарий от PashaKustov

Не наезжайте на Бобруйск, в сети куда больше бобруйчан, чем вы думаете! Я - бобруйчанин и горжусь этим.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.