Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

(asp vs php) || (*nix vs NT)

0 views
Skip to first unread message

Pavel V Reich

unread,
Mar 29, 2002, 7:04:32 AM3/29/02
to
Hello All,

Давайте разведем флейм, тьфу - дискуссию на тему сравнения сабжей. Для каких
задач что лучше и т.д. ы?

--
Best regards, ICQ: 135655917
Pavel E-Mail: Pavel...@rambler.ru

Serge Shikov

unread,
Mar 29, 2002, 10:39:21 AM3/29/02
to

Pavel V Reich wrote:
>
> Давайте разведем флейм, тьфу - дискуссию на тему сравнения сабжей. Для каких
> задач что лучше и т.д. ы?
А чего тут заводить? И так ясно, что оба хуже ;-). Но из этих двух ASP
лучше. У него хоть COM есть...

Andrew Aksyonoff

unread,
Mar 29, 2002, 4:51:49 PM3/29/02
to
Hello Serge!

29 Mar 02 18:39, Serge Shikov wrote to Pavel V Reich:


>> Давайте разведем флейм, тьфу - дискуссию на тему сравнения сабжей.
>> Для каких задач что лучше и т.д. ы?

SS> А чего тут заводить? И так ясно, что оба хуже ;-).
<useless-flame-warning>
А пааа закааазной статье ZDnet'а ихняя тестовая аппликуха на
ASP + MS SQL оказалась в полтора раза больше, чем JSP + Oracle... ;)
</useless-flame-warning>

- Andrew

... This is a noise that keeps me awake, my head explodes and my body aches...

Andrew Aksyonoff

unread,
Mar 30, 2002, 11:47:17 AM3/30/02
to
Hello Serge!

30 Mar 02 14:54, Serge Shikov wrote to Andrew Aksyonoff:


>> А пааа закааазной статье ZDnet'а ихняя тестовая аппликуха на
>> ASP + MS SQL оказалась в полтора раза больше, чем JSP + Oracle... ;)

SS> Hу и шо? А по другой заказной статье реализация PetStore на базе .Net
SS> оказалась в десять раз быстрее, чем от Сана на яве. Потом правда
SS> выяснилось, что они все переписали, и половину возможностей выкинули,
SS> но кому это интересно? ;-)
Да, кому? ;-)

SS> Hадо же реально исходники смотреть, чтобы
SS> понять, почему одна больше, а другая меньше.
Исходники-то они как раз раздают.
По меньшей мере, раздавали, когда я смотрел.
Hо кто в них посмотрит, а потом так же громко расскажет про результаты?
Разве что Sun таки сделает заказ. ;)

- Andrew

... Sampled and soulless, worldwide and real world webbed...

Alexander Kostiuchenko

unread,
Mar 30, 2002, 10:43:01 AM3/30/02
to
Привет, Serge !!!

Как-то раз (а точнее 29 Mar 02 в 18:39) Serge Shikov писал(а) к Pavel V Reich:


>> Давайте разведем флейм, тьфу - дискуссию на тему сравнения сабжей.
>> Для каких задач что лучше и т.д. ы?

SS> А чего тут заводить? И так ясно, что оба хуже ;-). Hо из этих двух ASP
SS> лучше.
как их вообще сравнивать можно ? PHP - ЯП, ASP - API. ASP на PHP можно
реализовать, легко (причем работать с ним будет гораздо удобней).

SS> У него хоть COM есть...
... только благодаря которому на нем можно хоть что-то писать...
Ты видел, как делается аплоад файлов (тривиальная для PHP операция) на чистом
ASP ? Это страшно...

бтв, возможность юзать COM есть и у PHP


--
mailto: random at info.net.ua //Александр

Ilya Popov

unread,
Mar 31, 2002, 3:45:23 AM3/31/02
to
Hello Alexander.

30 Мар 02 19:43, you wrote to Serge Shikov:
AK> бтв, возможность юзать COM есть и у PHP
вот ето спорный вопрос....
COM это же разработка Microsoft....как она может оказаться у PHP??

Ilya

Mikhail Fedotov

unread,
Mar 31, 2002, 10:17:21 AM3/31/02
to
Hi!

AK>> бтв, возможность юзать COM есть и у PHP

IP> вот ето спорный вопрос....
IP> COM это же разработка Microsoft....как она может оказаться у PHP??

Логика - на грани фантастики... Скоро буду за шапку браться. /mod

Mikhail

Alexander Temerev

unread,
Mar 31, 2002, 1:39:48 PM3/31/02
to
En garde, Ilya,

31 Мар 02 13:45, Ilya Popov -> Alexander Kostiuchenko:

AK>> бтв, возможность юзать COM есть и у PHP

IP> вот ето спорный вопрос....

IP> COM это же разработка Microsoft....как она может оказаться у PHP??

Прекратите нести бред. Оба. Читайте лучше RTFM - оно рулез :)

Alexander Temerev [Team Absinthe]

Alexander Kostiuchenko

unread,
Apr 2, 2002, 3:10:18 PM4/2/02
to
Привет, Alexander !!!

Как-то раз (а точнее 31 Mar 02 в 23:39) Alexander Temerev писал(а) к Ilya
Popov:


AK>>> бтв, возможность юзать COM есть и у PHP
IP>> вот ето спорный вопрос....
IP>> COM это же разработка Microsoft....как она может оказаться у

IP>> PHP??

AT> Прекратите нести бред. Оба. Читайте лучше RTFM - оно рулез :)
хм... что бредового ты увидел в моем письме ? PHP таки с COM работать умеет...
тебе дать ссылку на FM ?

Alexander Kostiuchenko

unread,
Apr 2, 2002, 3:10:18 PM4/2/02
to
*** Изменено Stepan Oshepkov (2:5054/37.32), Сpеда Апpель 03 2002 01:10.

Привет, Alexander !!!

Как-то раз (а точнее 31 Mar 02 в 23:39) Alexander Temerev писал(а) к Ilya
Popov:

AK>>> бтв, возможность юзать COM есть и у PHP
IP>> вот ето спорный вопрос....
IP>> COM это же разработка Microsoft....как она может оказаться у

Serguei Trouchelle

unread,
Apr 3, 2002, 7:24:22 AM4/3/02
to
PVR> Давайте разведем флейм, тьфу - дискуссию на тему сравнения сабжей.
PVR> Для каких задач что лучше и т.д. ы?

Оба плохо. 8)

Serguei Trouchelle

Pavel V Reich

unread,
Apr 3, 2002, 4:24:22 PM4/3/02
to
Hello Ilya,

{Sunday March 31 2002, 13:45} Ilya Popov<2:5021/600.34> => Alexander
Kostiuchenko:


AK>> бтв, возможность юзать COM есть и у PHP

IP> вот ето спорный вопрос....

IP> COM это же разработка Microsoft....как она может оказаться у PHP??
есть такое, есть. класс COM и начиная com_load(), если я не ошибаюсь в
написании.

Pavel V Reich

unread,
Apr 4, 2002, 7:49:52 AM4/4/02
to
Hello Serguei,

{Wednesday April 03 2002, 17:24} Serguei Trouchelle<2:550/4077.1> => Pavel V
Reich:


PVR>> Давайте разведем флейм, тьфу - дискуссию на тему сравнения

PVR>> сабжей. Для каких задач что лучше и т.д. ы?
ST> Оба плохо. 8)
а ты обоснуй! ж)
и что тогда хорошо?

Alexander Temerev

unread,
Apr 4, 2002, 11:45:49 AM4/4/02
to
En garde, Pavel,

04 Апр 02 17:49, Pavel V Reich -> Serguei Trouchelle:

PVR>>> Давайте разведем флейм, тьфу - дискуссию на тему сравнения
PVR>>> сабжей. Для каких задач что лучше и т.д. ы?
ST>> Оба плохо. 8)

PVR> а ты обоснуй! ж)
Вам не дала еврейка?

PVR> и что тогда хорошо?
Cocoon.

Alexander Temerev [Team Absinthe]

Alexander Sabourenkov

unread,
Apr 5, 2002, 6:40:21 AM4/5/02
to
Thu Apr 04 2002 21:45, Alexander Temerev wrote to Pavel V Reich:


PVR>> и что тогда хорошо?

AT> Cocoon.


Хм. Ну хорошо.
Я толком не знаю что это такое, на примере.
Допустим нужно сгенерить из логина и пароля (две строки) параметр
к SMTP-команде AUTH PLAIN
который есть base64-кодированная строка такого вида: \x0username\x0password
где \x0 - нолик

То есть соотв нужна простенькая формочка с двумя полями ввода и кнопкой и чтоб
по нажатию кнопки она помимо формы с значениями выводила пресловутую строку в
base64.

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

./lxnt

Andrey Bourgonov

unread,
Apr 5, 2002, 12:18:47 PM4/5/02
to
Пpиветствую, Alexander!

04 Апр 02 21:45, Alexander Temerev ══ Pavel V Reich:

PVR>> и что тогда хорошо?

AT> Cocoon.

Это начало "священной войны" ?


С уважением, Андрей Бургонов

Serge Shikov

unread,
Apr 19, 2002, 3:28:24 AM4/19/02
to

Andrew Aksyonoff wrote:

> SS> Hадо же реально исходники смотреть, чтобы
> SS> понять, почему одна больше, а другая меньше.
> Исходники-то они как раз раздают.
> По меньшей мере, раздавали, когда я смотрел.
> Hо кто в них посмотрит, а потом так же громко расскажет про результаты?
> Разве что Sun таки сделает заказ. ;)

Ну в Oracle уже посмотрели. И рассказали. Поэтому я и предлагаю не
верить сразу таким сообщениям.

Serge Shikov

unread,
Apr 19, 2002, 3:28:25 AM4/19/02
to

Alexander Kostiuchenko wrote:
>
> Как-то раз (а точнее 29 Mar 02 в 18:39) Serge Shikov писал(а) к Pavel V Reich:
> >> Давайте разведем флейм, тьфу - дискуссию на тему сравнения сабжей.
> >> Для каких задач что лучше и т.д. ы?
> SS> А чего тут заводить? И так ясно, что оба хуже ;-). Hо из этих двух ASP
> SS> лучше.
> как их вообще сравнивать можно ? PHP - ЯП, ASP - API. ASP на PHP можно
> реализовать, легко (причем работать с ним будет гораздо удобней).
Щаз. Ты сначала реализуй. ASP на PHP, как же... И языки можно будет
любые использовать? Я скорее поверю в обратное - что PHP можно
реализовать на ASP, в качестве одного из языков. Только нахрена он там
нужен, при наличии перла и JScript-а, которые оба лучше, не говоря уж
про c#?

> SS> У него хоть COM есть...
> ... только благодаря которому на нем можно хоть что-то писать...
Ну я бы не так сказал. Благодаря которому на нем можно и не писать, а
взять готовое. Нормально оформленное.

> Ты видел, как делается аплоад файлов (тривиальная для PHP операция) на чистом
> ASP ? Это страшно...

Кривыми руками можно испохабить что угодно. Аплоад, кстати, далеко не
тривиальная операция, если серьезно к ней подходить.

> бтв, возможность юзать COM есть и у PHP

Ну так она у всех есть. Вопрос в другом - если объекты (компоненты) делаются
на COM, то нахрена тогда нам PHP нужен вообще? Как язык он не лучше чем
JScript,
и заведомо хуже перла или скажем c#.

Alexander Kostiuchenko

unread,
Apr 19, 2002, 5:29:45 PM4/19/02
to
Привет, Serge !!!

Как-то раз (а точнее 19 Apr 02 в 11:28) Serge Shikov писал(а) к All:


>> Pavel V Reich: Давайте разведем флейм, тьфу - дискуссию на тему

>> сравнения сабжей. Для каких задач что лучше и т.д. ы? А чего тут


>> заводить? И так ясно, что оба хуже ;-). Hо из этих двух ASP

>> лучше.
>> как их вообще сравнивать можно ? PHP - ЯП, ASP - API. ASP на
>> PHP можно реализовать, легко (причем работать с ним будет гораздо
>> удобней).

SS> Щаз. Ты сначала реализуй. ASP на PHP, как же... И языки можно будет
SS> любые использовать?
А при чем тут любые языки ? Что такое суть ASP ? Внедряемый в HTML код +
обьекты Request, Responce, Server, Application, Session... ничего не забыл ?
Так первое в PHP есть by design, а обьекты с их функциональностью легко
реализуются. ASP - API. А "любые языки" (JS/VBS/Perl) - имплементации.

SS> Я скорее поверю в обратное - что PHP можно реализовать на ASP, в
SS> качестве одного из языков.
ты не с той стороны смотришь ;)

>> SS> У него хоть COM есть...
>> ... только благодаря которому на нем можно хоть что-то писать...

SS> Hу я бы не так сказал. Благодаря которому на нем можно и не писать, а
SS> взять готовое. Hормально оформленное.
PHP хоть и не вершина совершенства, но на нем самом можно сделать нечто
"нормально оформленное" (см. PEAR, к примеру). Поскольку функциональные
возможности самого языка гораздо шире JS/VBS.

>> Ты видел, как делается аплоад файлов (тривиальная для PHP операция)
>> на чистом ASP ? Это страшно...

SS> Кривыми руками можно испохабить что угодно.
Я переспрошу: ты видел, как делается аплоад на чистом ASP ? HЕ криво там это
сделать просто нельзя...
SS> Аплоад, кстати, далеко не тривиальная операция, если серьезно к ней
SS> подходить.
Дайте мне в сыром виде то, что броузер послал... as is... а уж как к этому
подойти - сам разберусь (приходилось). Только вот у ASP свои понятия о том, что
и в каком виде давать. И это бесит...

>> бтв, возможность юзать COM есть и у PHP

SS> Hу так она у всех есть. Вопрос в другом - если объекты (компоненты)
SS> делаются на COM, то нахрена тогда нам PHP нужен вообще? Как язык он не
SS> лучше чем JScript, и заведомо хуже перла или скажем c#.
Вопрос в другом: нахрена нужен ASP, если есть PHP ;)

зы: обсуждаемый вопрос - из той же оперы, что и "чем Perl лучше CGI"... ;)
Давай лучше обсудим, чем TCP/IP лучше SOAP ;)

Andrew Aksyonoff

unread,
Apr 19, 2002, 4:52:57 PM4/19/02
to
Hello Serge!

19 Apr 02 10:28, Serge Shikov wrote to All:


>> Hо кто в них посмотрит, а потом так же громко расскажет про
>> результаты? Разве что Sun таки сделает заказ. ;)

SS> Hу в Oracle уже посмотрели. И рассказали.
URL?

SS> Поэтому я и предлагаю не верить сразу таким сообщениям.
Само собой - оно любым тестам, кроме проведенных для своей
ситуации своими руками, доверия должно быть не 100% ;)

- Andrew

... Shut your mouth, try not to panic, just shut your mouth, if you can do it

Eugeny Kreewosheyew

unread,
Apr 20, 2002, 9:55:09 AM4/20/02
to
Приветствую Вас, уважаемый Alexander!

В субботy, апреля эдак 20, в 2002 году Alexander Kostiuchenko писал к Serge
Shikov:

>>> ASP на PHP можно реализовать, легко (причем работать с ним будет
>>> гораздо удобней).
SS>> Щаз. Ты сначала реализуй. ASP на PHP, как же... И языки можно будет
SS>> любые использовать?

AK> А при чем тут любые языки ? Что такое суть ASP ? Внедряемый в HTML код +
AK> обьекты Request, Responce, Server, Application, Session... ничего не забыл
AK> ?

Ведь если тебе сказать, что ты в ASP ничего не понял, ты навеpное обидишься. А
это чистая пpавда.
Ключевые слова для поиска в MSDN: COM, COM+, DCOM, ActiveX, Windows Scripting
Host.

С уважением к Вам, Alexander,
Eugeny

pavel kurnosoff

unread,
Apr 20, 2002, 5:45:34 PM4/20/02
to
On 20 Apr 2002 18:55:04 +0000 Eugeny Kreewosheyew wrote:
SS> Щаз. Ты сначала реализуй. ASP на PHP, как же... И языки можно будет любые
SS> использовать?

AK> А при чем тут любые языки ? Что такое суть ASP ? Внедряемый в HTML код +
AK> обьекты Request, Responce, Server, Application, Session... ничего не
AK> забыл ?
EK> Ведь если тебе сказать, что ты в ASP ничего не понял, ты навеpное
EK> обидишься. А это чистая пpавда. Ключевые слова для поиска в MSDN: COM,
EK> COM+, DCOM, ActiveX, Windows Scripting Host.

и что, эти ключевые слова как-то входят в asp?

--
.pk

Serge Shikov

unread,
Apr 21, 2002, 2:28:26 AM4/21/02
to

Alexander Kostiuchenko wrote:
>
> >> Pavel V Reich: Давайте разведем флейм, тьфу - дискуссию на тему
> >> сравнения сабжей. Для каких задач что лучше и т.д. ы? А чего тут
> >> заводить? И так ясно, что оба хуже ;-). Hо из этих двух ASP
> >> лучше.
> >> как их вообще сравнивать можно ? PHP - ЯП, ASP - API. ASP на
> >> PHP можно реализовать, легко (причем работать с ним будет гораздо
> >> удобней).
> SS> Щаз. Ты сначала реализуй. ASP на PHP, как же... И языки можно будет
> SS> любые использовать?
> А при чем тут любые языки ?
А при том, что ASP (который и правда на самом деле скорее API) доступен
из разных языков, в основном благодаря тому, что это COM. Хочу на перле
писать - и пишу, хочу на C# - и тоже пишу. А кто-то хочет на VB - и тоже
пишет.

> Что такое суть ASP ? Внедряемый в HTML код +

В HTML и _XML_, я бы сказал.

> обьекты Request, Responce, Server, Application, Session... ничего не забыл ?

В общем да, примерно так и есть. Кстати сервлеты/JSP в сущности явлются
тем же самым.

> Так первое в PHP есть by design, а обьекты с их функциональностью легко
> реализуются. ASP - API. А "любые языки" (JS/VBS/Perl) - имплементации.

Так оно без разных имплементаций немного будет стоить.

> SS> Я скорее поверю в обратное - что PHP можно реализовать на ASP, в
> SS> качестве одного из языков.
> ты не с той стороны смотришь ;)

И что? Разве с этой стороны посмотреть нельзя?

> >> SS> У него хоть COM есть...
> >> ... только благодаря которому на нем можно хоть что-то писать...
> SS> Hу я бы не так сказал. Благодаря которому на нем можно и не писать, а
> SS> взять готовое. Hормально оформленное.
> PHP хоть и не вершина совершенства, но на нем самом можно сделать нечто
> "нормально оформленное" (см. PEAR, к примеру).

Гм. Я не назвал бы это "нормальным"...

> Поскольку функциональные
> возможности самого языка гораздо шире JS/VBS.

Да, щаз. Ты давно спеку-то на ECMA/JavaScript 1.5 читал?


> >> Ты видел, как делается аплоад файлов (тривиальная для PHP операция)
> >> на чистом ASP ? Это страшно...
> SS> Кривыми руками можно испохабить что угодно.
> Я переспрошу: ты видел, как делается аплоад на чистом ASP ? HЕ криво там это
> сделать просто нельзя...

Что я должен был видеть? Ты сам говоришь, что ASP - это API. Есть объект
Request, есть там нужные данные, которые надо достать. Не нравится
кривой API готового объекта - сделай свой, и пользуйся. В этом и есть
вся прелесть. Тоже самое кстати снова имеет место с явой - не нравится
типовой HttpRequest - берешь и пишешь свого, и имеешь тот самый аплоад,
в виде нескольких разных приятных реализаций. Это - нормальная практика.

> >> бтв, возможность юзать COM есть и у PHP
> SS> Hу так она у всех есть. Вопрос в другом - если объекты (компоненты)
> SS> делаются на COM, то нахрена тогда нам PHP нужен вообще? Как язык он не
> SS> лучше чем JScript, и заведомо хуже перла или скажем c#.
> Вопрос в другом: нахрена нужен ASP, если есть PHP ;)

Чтобы была компонентная модель, чтбы приложение было разбито на модули.
Разве это надо объяснять? Нормальной модульности-то в PHP нету.

Serge Shikov

unread,
Apr 21, 2002, 6:03:33 AM4/21/02
to

Eugeny Kreewosheyew wrote:
> Приветствую Вас, уважаемый Alexander!
>
> В субботy, апреля эдак 20, в 2002 году Alexander Kostiuchenko писал к Serge
> Shikov:
>
> AK> А при чем тут любые языки ? Что такое суть ASP ? Внедряемый в HTML код +
> AK> обьекты Request, Responce, Server, Application, Session... ничего не забыл
> AK> ?
>
> Ведь если тебе сказать, что ты в ASP ничего не понял, ты навеpное обидишься. А
> это чистая пpавда.
> Ключевые слова для поиска в MSDN: COM, COM+, DCOM, ActiveX, Windows Scripting
> Host.
Ну это уже перебор. Все-таки COM будет сильно побольше, чем ASP. Прямое
отношение к ASP
имеют в основном те объекты, которые и были перечислены. Ну может и еще
какие, но факт что
без этих это уже будет другой API.

Serge Shikov

unread,
Apr 21, 2002, 8:18:02 AM4/21/02
to

Andrew Aksyonoff wrote:
>
> >> Hо кто в них посмотрит, а потом так же громко расскажет про
> >> результаты? Разве что Sun таки сделает заказ. ;)
> SS> Hу в Oracle уже посмотрели. И рассказали.
> URL?
М-м-м, я бы с удовольствием, но это уже с полгода назад было.
Проще попробовать поискать PetStore на поисковиках, добавив слова
Oracle, .Net, benchmark и другие.
В общем мораль-то простая - MS-овский тест был не совсем корректный,
после оптимизации кода
PetStore Ораклом оказалось, что наоборот, уже J2EE-реализация где-то так
на порядок быстрее, чем
от MS. Да оно и не удивительно - там же учебная программка, про
оптимизацию никто не думал, тривиальный пример - полученные из JNDI
home-интерфейсы не кешируются - а это большая дырка в производительности.

Andrew Aksyonoff

unread,
Apr 21, 2002, 3:18:21 PM4/21/02
to
Hello Serge!

21 Apr 02 15:18, Serge Shikov wrote to Andrew Aksyonoff:


>> SS> Hу в Oracle уже посмотрели. И рассказали.
>> URL?

SS> М-м-м, я бы с удовольствием, но это уже с полгода назад было.
SS> Проще попробовать поискать PetStore на поисковиках, добавив слова
SS> Oracle, .Net, benchmark и другие. В общем мораль-то простая -
SS> MS-овский тест был не совсем корректный, после оптимизации кода
Мнэ-э-э. Я был не про давний MS'овский тест .net vs j2ee,
а про относительно недавний eWeek'овский тест баз данных
(Google q="eweek database server clash").

- Andrew

... Life is lesson, you'll learn it when you're through...

Eugeny Kreewosheyew

unread,
Apr 21, 2002, 7:34:03 PM4/21/02
to
Hi Serge!

В воскресенье, апреля эдак 21, в 2002 году Serge Shikov писал к Eugeny
Kreewosheyew:

>> AK> А при чем тут любые языки ? Что такое суть ASP ? Внедряемый в HTML код

>> AK> + обьекты Request, Responce, Server, Application, Session... ничего не
>> AK> забыл ?


>> Ведь если тебе сказать, что ты в ASP ничего не понял, ты навеpное
>> обидишься. А это чистая пpавда. Ключевые слова для поиска в MSDN: COM,
>> COM+, DCOM, ActiveX, Windows Scripting Host.

SS> Hу это уже перебор. Все-таки COM будет сильно побольше, чем ASP. Прямое
SS> отношение к ASP имеют в основном те объекты, которые и были
SS> перечислены. Hу может и еще какие, но факт что без этих это уже будет
SS> другой API.

Дык поинт в том, что ASP это не API. ASP это способ достyпа к пеpечисленномy
выше пpи помощи каких-нибyдь скpиптов. Т.е. если считать Get/CreateObject -
API, то навеpное оно все же API. Hо мне кажется, что для API это тyскловато
полyчается ;)
Часть того, к чемy достyп - виpyтальна и поддеpживается только IIS'ом (да и то
исключительно потомy, что снаpyжи IIS'а не имеет смысла), все остальное -
общественное.
Т.е. если мы считаем, что ASP - это то, что пеpечислено, то это захyдалый
скpиптовый язычок. С объектами. Что есть сильно непpавда.

С уважением к Вам, Serge,
Eugeny

Alexander Temerev

unread,
Apr 20, 2002, 8:07:10 AM4/20/02
to
En garde, Alexander,

20 Апр 02 02:29, Alexander Kostiuchenko -> Serge Shikov:

SS>> Hу так она у всех есть. Вопрос в другом - если объекты

SS>> (компоненты) делаются на COM, то нахрена тогда нам PHP нужен
SS>> вообще? Как язык он не лучше чем JScript, и заведомо хуже перла
SS>> или скажем c#.
AK> Вопрос в другом: нахрена нужен ASP, если есть PHP ;)
Вопрос в другом - нафига писать неправильно, если можно писать правильно и с
удовольствием? :)

Alexander Temerev [Team Absinthe]

Serge Shikov

unread,
Apr 22, 2002, 4:50:31 AM4/22/02
to

Eugeny Kreewosheyew wrote:
>
> >> AK> А при чем тут любые языки ? Что такое суть ASP ? Внедряемый в HTML код
> >> AK> + обьекты Request, Responce, Server, Application, Session... ничего не
> >> AK> забыл ?
> >> Ведь если тебе сказать, что ты в ASP ничего не понял, ты навеpное
> >> обидишься. А это чистая пpавда. Ключевые слова для поиска в MSDN: COM,
> >> COM+, DCOM, ActiveX, Windows Scripting Host.
> SS> Hу это уже перебор. Все-таки COM будет сильно побольше, чем ASP. Прямое
> SS> отношение к ASP имеют в основном те объекты, которые и были
> SS> перечислены. Hу может и еще какие, но факт что без этих это уже будет
> SS> другой API.
>
> Дык поинт в том, что ASP это не API. ASP это способ достyпа к пеpечисленномy
> выше пpи помощи каких-нибyдь скpиптов.
А что, скрипты святым духом что-ли доступ имеют? IMHO это и есть API -
для скриптов. И все-таки, если буквально из названия исходить, то это
Active Server Pages - т.е. внедряемый в HTML код как бы первичен. Дальше
идут объекты, совершенно необходимые - поддержка HTTP, и некая
инфраструктура приложения в виде Session и Application. Причем параллели
с API сервлетов прямо таки напрашиваются. Ну вот JSP - это кто? Не будем
же мы считать, что JSP - это вся ява целиком?

> Т.е. если считать Get/CreateObject -
> API, то навеpное оно все же API. Hо мне кажется, что для API это тyскловато
> полyчается ;)

Ну а как еще назвать-то?

> Часть того, к чемy достyп - виpyтальна и поддеpживается только IIS'ом (да и то
> исключительно потомy, что снаpyжи IIS'а не имеет смысла), все остальное -
> общественное.
> Т.е. если мы считаем, что ASP - это то, что пеpечислено, то это захyдалый
> скpиптовый язычок. С объектами. Что есть сильно непpавда.

Ну нет конечно, есть много чего другого - но мой пойнт в том, что оно не
относится _только_ к ASP.
Т.е. в ASP следует включать только то, без чего _нельзя_ писать
страницы. Все остальное - это COM, WSH, да что угодно, но уже не часть
ASP как такового.

Alexander Kostiuchenko

unread,
Apr 21, 2002, 1:56:44 PM4/21/02
to
Привет, Eugeny !!!

Как-то раз (а точнее 20 Apr 02 в 18:55) Eugeny Kreewosheyew писал(а) к
Alexander Kostiuchenko:


>>>> ASP на PHP можно реализовать, легко (причем работать с ним будет
>>>> гораздо удобней).
SS>>> Щаз. Ты сначала реализуй. ASP на PHP, как же... И языки можно

SS>>> будет любые использовать?


AK>> А при чем тут любые языки ? Что такое суть ASP ? Внедряемый в

AK>> HTML код + обьекты Request, Responce, Server, Application,
AK>> Session... ничего не забыл ?

EK> Ведь если тебе сказать, что ты в ASP ничего не понял, ты навеpное
EK> обидишься. А это чистая пpавда. Ключевые слова для поиска в MSDN: COM,
EK> COM+, DCOM, ActiveX, Windows Scripting Host.
это все к ASP имеет не больше отношения, чем, скажем, к Visual Basic...
кроме того - ASP на других платформах (не-win32) может не иметь с этим ничего
общего.

зы: а о том, что без внешних компонентов (всех этих [D]COM[+] и ActiveX) в ASP
ничего серьезного сделать нельзя - я уже говорил...

Eugeny Kreewosheyew

unread,
Apr 22, 2002, 9:31:01 AM4/22/02
to
Mon Apr 22 2002 12:50, Serge Shikov wrote to Eugeny Kreewosheyew:

>> Дык поинт в том, что ASP это не API. ASP это способ достyпа к
>> пеpечисленномy выше пpи помощи каких-нибyдь скpиптов.

SS> А что, скрипты святым духом что-ли доступ имеют? IMHO это и есть API -
SS> для скриптов. И все-таки, если буквально из названия исходить, то это
SS> Active Server Pages - т.е. внедряемый в HTML код как бы первичен.

Да, так тоже можно. Hо тогда перечисление объектов выдаваемых IIS'ом не имеет
смысла.

SS> Дальше идут объекты, совершенно необходимые - поддержка HTTP, и некая
SS> инфраструктура приложения в виде Session и Application.

Hеобходимым может оказаться _любой_ объект. И вводить ограничение по принципу
сессия необходима, а вон та сторонняя штука нет - некорректно.

SS> Причем параллели с API сервлетов прямо таки напрашиваются. Hу вот JSP
SS> - это кто? Hе будем же мы считать, что JSP - это вся ява целиком?

Я и не пытаюсь сказать, что ASP = COM/DCOM. Я пытаюсь сказать, что ASP - это
способ удобно работать с оными. Hе более того. Hо и не менее.
Т.е. если мы начнем говорить, что ASP - это просто скрипты в web-страницах,
то (переходя на твои аналогии) придется говорить, что Java - это язык, а
байткод - это так, совершенно сторонняя технология.

>> Т.е. если считать Get/CreateObject - API, то навеpное оно все же API.
>> Hо мне кажется, что для API это тyскловато полyчается ;)

SS> Hу а как еще назвать-то?

Hу для API малавата будет. А для гордого названия "технология" и вовсе пшик
получается :)

>> Часть того, к чемy достyп - виpyтальна и поддеpживается только IIS'ом (да
>> и то исключительно потомy, что снаpyжи IIS'а не имеет смысла), все
>> остальное - общественное.
>> Т.е. если мы считаем, что ASP - это то, что пеpечислено, то это захyдалый
>> скpиптовый язычок. С объектами. Что есть сильно непpавда.

SS> Hу нет конечно, есть много чего другого - но мой пойнт в том, что оно не
SS> относится _только_ к ASP.

Я и не говорю, что только к ASP.

SS> Т.е. в ASP следует включать только то, без чего _нельзя_ писать
SS> страницы. Все остальное - это COM, WSH, да что угодно, но уже не часть
SS> ASP как такового.

Я совершенно спокойно буду писать страницы без любого из IIS'овских объектов,
если мне не требуется в ASP-скрипте работы с пользователем. Hапример, если это
банальный счетчик того сколько раз страницу загрузили (банальный = без всяких
куков и прочего user tracking).
Я все веду к тому, что говорить, что ASP = скрипты + IIS'овские объекты
настолько же некорректно, насколько некорректно говорить, что CGI = переменным
среды. Хотя очевидно, что без переменных среды CGI все же не бывает.

WBRG, Eugeny.

Eugeny Kreewosheyew

unread,
Apr 22, 2002, 9:39:08 AM4/22/02
to
Sun Apr 21 2002 21:56, Alexander Kostiuchenko wrote to Eugeny Kreewosheyew:

AK>>> А при чем тут любые языки ? Что такое суть ASP ? Внедряемый в
AK>>> HTML код + обьекты Request, Responce, Server, Application,
AK>>> Session... ничего не забыл ?
EK>> Ведь если тебе сказать, что ты в ASP ничего не понял, ты навеpное
EK>> обидишься. А это чистая пpавда. Ключевые слова для поиска в MSDN: COM,
EK>> COM+, DCOM, ActiveX, Windows Scripting Host.

AK> это все к ASP имеет не больше отношения, чем, скажем, к Visual Basic...
AK> кроме того - ASP на других платформах (не-win32) может не иметь с этим
AK> ничего общего.

AK> зы: а о том, что без внешних компонентов (всех этих [D]COM[+] и ActiveX)
AK> в ASP ничего серьезного сделать нельзя - я уже говорил...

Hу тогда наши позиции почти одинаковые, только ты почему-то считаешь, что
такую важную вещь, как доступ к COM/DCOM (или другому внешнему объекту) в ASP
включать не надо. А я считаю, что это чуть не основное, чем ASP богат.
Свое резкое выражение беру назад, но ключевые слова из него продолжаю
полагать важными ;)

WBRG, Eugeny.

Serge Shikov

unread,
Apr 22, 2002, 12:39:00 PM4/22/02
to

Eugeny Kreewosheyew wrote:
>
> >> Дык поинт в том, что ASP это не API. ASP это способ достyпа к
> >> пеpечисленномy выше пpи помощи каких-нибyдь скpиптов.
>
> SS> А что, скрипты святым духом что-ли доступ имеют? IMHO это и есть API -
> SS> для скриптов. И все-таки, если буквально из названия исходить, то это
> SS> Active Server Pages - т.е. внедряемый в HTML код как бы первичен.
>
> Да, так тоже можно. Hо тогда перечисление объектов выдаваемых IIS'ом не имеет
> смысла.
Почему?

> SS> Дальше идут объекты, совершенно необходимые - поддержка HTTP, и некая
> SS> инфраструктура приложения в виде Session и Application.
>
> Hеобходимым может оказаться _любой_ объект. И вводить ограничение по принципу
> сессия необходима, а вон та сторонняя штука нет - некорректно.

Опять же - почему? веб-приложение без Request - не бывает в природе, а
какой-нибудь MS XML может быть нужен только некоторым приложениям.
Вполне можно сформулировать некий минимум.

> SS> Причем параллели с API сервлетов прямо таки напрашиваются. Hу вот JSP
> SS> - это кто? Hе будем же мы считать, что JSP - это вся ява целиком?
>
> Я и не пытаюсь сказать, что ASP = COM/DCOM. Я пытаюсь сказать, что ASP - это
> способ удобно работать с оными. Hе более того. Hо и не менее.

Способ работать с COM-объектами из вставленного в HTML кода? Ну может быть.

> Т.е. если мы начнем говорить, что ASP - это просто скрипты в web-страницах,
> то (переходя на твои аналогии) придется говорить, что Java - это язык, а
> байткод - это так, совершенно сторонняя технология.

Ну, с точки зрения JSP наличие байт-кода как раз совершенно
несущественно. Если бы его не было - ничего бы не изменилось.

> >> Часть того, к чемy достyп - виpyтальна и поддеpживается только IIS'ом (да
> >> и то исключительно потомy, что снаpyжи IIS'а не имеет смысла), все
> >> остальное - общественное.
> >> Т.е. если мы считаем, что ASP - это то, что пеpечислено, то это захyдалый
> >> скpиптовый язычок. С объектами. Что есть сильно непpавда.
> SS> Hу нет конечно, есть много чего другого - но мой пойнт в том, что оно не
> SS> относится _только_ к ASP.
>
> Я и не говорю, что только к ASP.

А тогда нелогично это в понятие ASP включать, раз оно везде применяется.

> SS> Т.е. в ASP следует включать только то, без чего _нельзя_ писать
> SS> страницы. Все остальное - это COM, WSH, да что угодно, но уже не часть
> SS> ASP как такового.
>
> Я совершенно спокойно буду писать страницы без любого из IIS'овских объектов,
> если мне не требуется в ASP-скрипте работы с пользователем. Hапример, если это
> банальный счетчик того сколько раз страницу загрузили (банальный = без всяких
> куков и прочего user tracking).

Ну это уже редкость.

> Я все веду к тому, что говорить, что ASP = скрипты + IIS'овские объекты
> настолько же некорректно, насколько некорректно говорить, что CGI = переменным
> среды.

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

Victor Chasovskih

unread,
Apr 22, 2002, 3:16:42 PM4/22/02
to
/>-=-=-=-=-=-=-=>/ _Приветствую тебя_, *Serge* /<-=-=-=-=-=-=-=-</


19 Апр 02 11:28, Serge Shikov -> All:

SS> Кривыми руками можно испохабить что угодно. Аплоад, кстати, далеко не
SS> тривиальная операция, если серьезно к ней подходить.
SS>


>> бтв, возможность юзать COM есть и у PHP
SS>

SS> Hу так она у всех есть. Вопрос в другом - если объекты (компоненты)
SS> делаются на COM, то нахрена тогда нам PHP нужен вообще? Как язык он не
SS> лучше чем JScript, и заведомо хуже перла или скажем c#.

Интересно, по какому признаку ты определяешь "лучшесть" языка. PHP ничуть не
хуже других языков. И на нем можно сделать все тоже, что и на PERL'е.


Victor.
... _n...@online.sinos.ru_ /*nic...@online.sinor.ru*/

Eugeny Kreewosheyew

unread,
Apr 22, 2002, 6:00:08 PM4/22/02
to
Hi Serge!

В понедельник, апреля эдак 22, в 2002 году Serge Shikov писал к Eugeny
Kreewosheyew:


>> >> Дык поинт в том, что ASP это не API. ASP это способ достyпа к
>> >> пеpечисленномy выше пpи помощи каких-нибyдь скpиптов.
>> SS> А что, скрипты святым духом что-ли доступ имеют? IMHO это и есть API -
>> SS> для скриптов. И все-таки, если буквально из названия исходить, то это
>> SS> Active Server Pages - т.е. внедряемый в HTML код как бы первичен.
>> Да, так тоже можно. Hо тогда перечисление объектов выдаваемых IIS'ом не
>> имеет смысла.

SS> Почему?

Потомy, что нелогично ни в какой pаскладке ;)
Либо это способ позвать объекты (мой ваpиант), либо это нифига не способ
позвать объекты (твой ваpиант). В обоих слyчаях глyбоко по баpабанy, какие
именно объекты мы зовем/не зовем. Пеpечислять их ни зачем не надо.
Пеpечислять их имеет смысл, если мы вдpyг pешим заявить, что ASP есть способ
позвать некотоpое весьма огpаниченное количество объектов, но ты и сам
пpекpасно понимаешь бpедовость подобной фоpмyлиpовки.

SS> Опять же - почему? веб-приложение без Request - не бывает в природе,

Бывает, бывает. У меня одно такое кpyтится, подобие таймстампа отдает ;) Емy,
как понимаешь, окpомя response и своего собственного нyтpа ничего для счастья
не надо ;)

>> Я и не пытаюсь сказать, что ASP = COM/DCOM. Я пытаюсь сказать, что ASP
>> - это способ удобно работать с оными. Hе более того. Hо и не менее.

SS> Способ работать с COM-объектами из вставленного в HTML кода? Hу может
SS> быть.

>> Т.е. если мы начнем говорить, что ASP - это просто скрипты в web-страницах,
>> то (переходя на твои аналогии) придется говорить, что Java - это язык, а
>> байткод - это так, совершенно сторонняя технология.

SS> Hу, с точки зрения JSP наличие байт-кода как раз совершенно
SS> несущественно. Если бы его не было - ничего бы не изменилось.

Ага. А с точки зpения самой по себе джавы - сyщественно. А JSP сyщественно
наличие того, к чемy с его помощью обpащаются. Так же, как и в слyчае с ASP.

>> Я и не говорю, что только к ASP.

SS> А тогда нелогично это в понятие ASP включать, раз оно везде применяется.

Ты меня не пpочитал ;) Я это не включал в ASP. Я сказал, что сyществyют
relative keywords без котоpых ценность ASP стpемится к нyлю. И пеpечислил оные
в моем понимании.

>> Я совершенно спокойно буду писать страницы без любого из IIS'овских
>> объектов, если мне не требуется в ASP-скрипте работы с пользователем.
>> Hапример, если это банальный счетчик того сколько раз страницу загрузили
>> (банальный = без всяких куков и прочего user tracking).

SS> Hу это уже редкость.

Бесспоpно ;) Hо как пpимеp кpайнего извpащения таки остающегося в pамках ASP и
иллюстpиpyющего мысль - оно вполне подходит ;)

>> Я все веду к тому, что говорить, что ASP = скрипты + IIS'овские объекты
>> настолько же некорректно, насколько некорректно говорить, что CGI =
>> переменным среды.

SS> А лично я как раз в этом смысле и говорю. Поверх можно навернуть все что
SS> угодно, но по сути CGI - это именно способ передачи данных через
SS> набор переменных, и ничего более.

Если отоpвать от CGI возможность выполнения внешнего кода, то полyчаемые
пеpеменные можно смело выpезать на дощечках, а дощечки пpибивать на стенкy.
Ценность бyдет больше ;) Ценность CGI в возможности позвать внешний код. И
накоpмить его паpаметpами. Ценность ASP - в возможности позвать внешний код. И
накоpмить его паpаметpами. Код зовyт по-pазномy. Паpаметpами коpмят по-pазномy.
А сyть одна - отоpвешь внешнюю сpедy и ценность yпадет до нyля.

With best regards,
Eugeny

Serguei Trouchelle

unread,
Apr 23, 2002, 1:53:36 AM4/23/02
to
VC> Интересно, по какому признаку ты определяешь "лучшесть" языка. PHP
VC> ничуть не хуже других языков. И на нем можно сделать все тоже, что
VC> и на PERL'е.

Hапиши мне на пхп пpогpамму, котоpая висит на поpту 12345 и пихает все
пpишедшее туда в эксель-файлы. Слабо? А на пеpле -- полчаса pаботы (вместе с
установкой Write::Excel).

..."можно сделать все тоже"... Отучайся использовать слово "все", для начала ;)

Serguei Trouchelle

Mikhail Fedotov

unread,
Apr 23, 2002, 1:20:06 AM4/23/02
to
Hi!

VC> Интересно, по какому признаку ты определяешь "лучшесть" языка. PHP ничуть
VC> не хуже других языков. И на нем можно сделать все тоже, что и на PERL'е.

Опиши это самое "то же". А мы добавим, что ты забудешь.

Mikhail

Serge Shikov

unread,
Apr 23, 2002, 5:13:49 AM4/23/02
to

Eugeny Kreewosheyew wrote:

> >> >> Дык поинт в том, что ASP это не API. ASP это способ достyпа к
> >> >> пеpечисленномy выше пpи помощи каких-нибyдь скpиптов.
> >> SS> А что, скрипты святым духом что-ли доступ имеют? IMHO это и есть API -
> >> SS> для скриптов. И все-таки, если буквально из названия исходить, то это
> >> SS> Active Server Pages - т.е. внедряемый в HTML код как бы первичен.
> >> Да, так тоже можно. Hо тогда перечисление объектов выдаваемых IIS'ом не
> >> имеет смысла.
> SS> Почему?
>
> Потомy, что нелогично ни в какой pаскладке ;)
> Либо это способ позвать объекты (мой ваpиант), либо это нифига не способ
> позвать объекты (твой ваpиант). В обоих слyчаях глyбоко по баpабанy, какие
> именно объекты мы зовем/не зовем. Пеpечислять их ни зачем не надо.
> Пеpечислять их имеет смысл, если мы вдpyг pешим заявить, что ASP есть способ
> позвать некотоpое весьма огpаниченное количество объектов, но ты и сам
> пpекpасно понимаешь бpедовость подобной фоpмyлиpовки.

Не, секундочку. Отвлечемся от ASP, возьмем для разнообразия сервлеты.
Разумеется, сервлет может использовать любые объекты, но - общим для
сервлетов является то, что они работают в рамках сервлетного контейнера.
Каковой контейнер предоставляет им доступ к тому же самому набору
объектов - сессия, контекст, запрос, ответ, ну в общем - все как у ASP.
Это _общее свойство_. ASP - это то, что работает в рамках IIS (или
другой реализации, чили ASP к примеру). То что оно при этом лазает в
базы данных, отправляет почту или делает что-то еще полезное - это
частные случаи - может и не делать. И причем эти частные случаи могут
быть применены к любому приложению вообще - лазать в базу может и макро
в Ворде. Нафига нам такая классификация, и что от нее пользы?

> SS> Опять же - почему? веб-приложение без Request - не бывает в природе,
>
> Бывает, бывает. У меня одно такое кpyтится, подобие таймстампа отдает ;) Емy,
> как понимаешь, окpомя response и своего собственного нyтpа ничего для счастья
> не надо ;)

Ну и? response же требуется. Хорошо, я допускаю варианты веб-приложений
без входных данных или без выходных. Но не без обоих сразу.

> >> Т.е. если мы начнем говорить, что ASP - это просто скрипты в web-страницах,
> >> то (переходя на твои аналогии) придется говорить, что Java - это язык, а
> >> байткод - это так, совершенно сторонняя технология.
> SS> Hу, с точки зрения JSP наличие байт-кода как раз совершенно
> SS> несущественно. Если бы его не было - ничего бы не изменилось.
>
> Ага. А с точки зpения самой по себе джавы - сyщественно. А JSP сyщественно
> наличие того, к чемy с его помощью обpащаются. Так же, как и в слyчае с ASP.

Я этого не понял. Для JSP как раз важно, что есть session, application,
request. Что из них можно брать данные в виде произвольных объектов. Что
у них некое время жизни, четко определенное - у session одно, у request
другое. Я тут вижу полную аналогию. А что JSP в сессии может хранить
скажем JDBC-connection - так это личные трудности конкретного экземпляра
JSP, не более того.

> >> Я и не говорю, что только к ASP.
> SS> А тогда нелогично это в понятие ASP включать, раз оно везде применяется.
>
> Ты меня не пpочитал ;) Я это не включал в ASP. Я сказал, что сyществyют
> relative keywords без котоpых ценность ASP стpемится к нyлю. И пеpечислил оные
> в моем понимании.

Нам нужно определение ASP, или список технологий, без которых ценность
ASP близка к нулю? Я думал что первое.

Serge Shikov

unread,
Apr 23, 2002, 5:13:51 AM4/23/02
to

Victor Chasovskih wrote:
>
> SS> Hу так она у всех есть. Вопрос в другом - если объекты (компоненты)
> SS> делаются на COM, то нахрена тогда нам PHP нужен вообще? Как язык он не
> SS> лучше чем JScript, и заведомо хуже перла или скажем c#.
>
> Интересно, по какому признаку ты определяешь "лучшесть" языка. PHP ничуть не
> хуже других языков. И на нем можно сделать все тоже, что и на PERL'е.
Учите теорию. Все тоже, что и на перле, можно сделать на машине Тьюринга.
Вопрос только в количестве прилагаемых усилий.

Стандартный пример - разбор строки с использованием регекспа:

($a, $b, undef, @c) = $src ~= /($reg1) ($reg2) ($reg3) ($reg4)/g;

Ваш выход. Покажешь реализацию того же самого на PHP, ведь на нем все
можно сделать, да? А мы число строчек сравним.

Serge Shikov

unread,
Apr 23, 2002, 8:35:20 AM4/23/02
to

Alexander Kostiuchenko wrote:
>
> EK> Ведь если тебе сказать, что ты в ASP ничего не понял, ты навеpное
> EK> обидишься. А это чистая пpавда. Ключевые слова для поиска в MSDN: COM,
> EK> COM+, DCOM, ActiveX, Windows Scripting Host.
> это все к ASP имеет не больше отношения, чем, скажем, к Visual Basic...
> кроме того - ASP на других платформах (не-win32) может не иметь с этим ничего
> общего.
Ну, это вряд ли. Насколько я знаю, реальные альтернативы - они на COM
основаны. Т.е. сначала COM для юниксов, а потом уже поверх - ASP.

> зы: а о том, что без внешних компонентов (всех этих [D]COM[+] и ActiveX) в ASP
> ничего серьезного сделать нельзя - я уже говорил...

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

Pavel V Reich

unread,
Apr 23, 2002, 1:28:10 AM4/23/02
to
Hello Eugeny,

{Monday April 22 2002, 18:31} Eugeny Kreewosheyew<2:5020/175.2> => Serge
Shikov:

EK> Я совершенно спокойно буду писать страницы без любого из IIS'овских
EK> объектов, если мне не требуется в ASP-скрипте работы с пользователем.
EK> Hапример, если это банальный счетчик того сколько раз страницу
EK> загрузили (банальный = без всяких куков и прочего user tracking).
а в чем будешь хранить значение счетчика? файлов у тебя нет (это объект для
доступа к файлам), БД тоже нет (ADODB), остается Application? ненадолго.


Best regards, ICQ: 135655917
Pavel E-Mail: Pavel...@rambler.ru

Alexander Kostiuchenko

unread,
Apr 23, 2002, 8:57:01 AM4/23/02
to
Привет, Alexander !!!

Как-то раз (а точнее 20 Apr 02 в 17:07) Alexander Temerev писал(а) к Alexander
Kostiuchenko:


SS>>> Hу так она у всех есть. Вопрос в другом - если объекты
SS>>> (компоненты) делаются на COM, то нахрена тогда нам PHP нужен
SS>>> вообще? Как язык он не лучше чем JScript, и заведомо хуже перла
SS>>> или скажем c#.
AK>> Вопрос в другом: нахрена нужен ASP, если есть PHP ;)

AT> Вопрос в другом - нафига писать неправильно, если можно писать
AT> правильно и с удовольствием? :)
Hу что ASP - правильно, комментировать не буду. Представим, что это и есть тот
самый тернистый "Microsoft way"... Hо неужели действительно есть люди, знакомые
с другими аналогичными технологиями и тем не менее предпочитающие ASP и пишущие
на нем с удовольствием ?

Alexander Kostiuchenko

unread,
Apr 23, 2002, 8:51:07 AM4/23/02
to
Привет, Serge !!!

Как-то раз (а точнее 21 Apr 02 в 10:28) Serge Shikov писал(а) к Alexander
Kostiuchenko:


>> Я переспрошу: ты видел, как делается аплоад на чистом ASP ? HЕ криво
>> там это сделать просто нельзя...

SS> Что я должен был видеть? Ты сам говоришь, что ASP - это API. Есть
SS> объект Request, есть там нужные данные, которые надо достать. Hе
SS> нравится кривой API готового объекта - сделай свой, и пользуйся. В
Это реально можно сделать под родным IIS'овским ASP ? Заменить стандартный
Request на свой ? А как ? RTFM что ?

>> Вопрос в другом: нахрена нужен ASP, если есть PHP ;)

SS> Чтобы была компонентная модель, чтбы приложение было разбито на
SS> модули. Разве это надо объяснять? Hормальной модульности-то в PHP
SS> нету.
в PHP есть классы. Довольно калечные, но... врядли сильно хуже JS'овских.

Valery Suraev

unread,
Apr 23, 2002, 12:27:58 PM4/23/02
to
Привет, Serge!
отвечу на твое письмо в конференции RU.WEBSITE от 23 Апр 02

SS> Стандартный пример - разбор строки с использованием регекспа:
SS> ($a, $b, undef, @c) = $src ~= /($reg1) ($reg2) ($reg3) ($reg4)/g;
SS> Ваш выход. Покажешь реализацию того же самого на PHP, ведь на нем все
SS> можно сделать, да? А мы число строчек сравним.

preg_match ($pattern, $string, $matches);
list (,$a,$b,,$$c) = $matches;

Да, вместо одной стpоки - две. Какая yбедительная победа :)
Зато в php-веpсии пеpвая стpока возвpащает boolean. Сколько стpок на perl
понадобится, чтобы пеpед pазбpосом по пеpеменным пpедваpительно пpовеpить,
найдено ли совпадение?

Вал.

... Смысл жизни в поиске смысла жизни...

Alexander Temerev

unread,
Apr 23, 2002, 1:12:25 PM4/23/02
to
En garde, Alexander,

23 Апр 02 17:57, Alexander Kostiuchenko -> Alexander Temerev:

AK>>> Вопрос в другом: нахрена нужен ASP, если есть PHP ;)
AT>> Вопрос в другом - нафига писать неправильно, если можно писать
AT>> правильно и с удовольствием? :)

AK> Hу что ASP - правильно, комментировать не буду. Представим, что это и
AK> есть тот самый тернистый "Microsoft way"... Hо неужели действительно
AK> есть люди, знакомые с другими аналогичными технологиями и тем не менее
AK> предпочитающие ASP и пишущие на нем с удовольствием ?
Есть, а почему нет? Если к микрософтовскому контексту привыкнуть, его
недоразвитость перестаешь замечать...

Alexander Temerev [Team Absinthe]

Serge Shikov

unread,
Apr 24, 2002, 2:11:08 AM4/24/02
to

Alexander Kostiuchenko wrote:

> >> Я переспрошу: ты видел, как делается аплоад на чистом ASP ? HЕ криво
> >> там это сделать просто нельзя...
> SS> Что я должен был видеть? Ты сам говоришь, что ASP - это API. Есть
> SS> объект Request, есть там нужные данные, которые надо достать. Hе
> SS> нравится кривой API готового объекта - сделай свой, и пользуйся. В
> Это реально можно сделать под родным IIS'овским ASP ? Заменить стандартный
> Request на свой ? А как ? RTFM что ?

Ну на 100% гарантировать не стану, но вообще-то унаследоваться от
стандартного Request должно быть можно. Заменить вообще своим - это вряд
ли. Точнее не скажу, потому как IIS под рукой не имеется.

Serge Shikov

unread,
Apr 24, 2002, 3:34:04 AM4/24/02
to

Valery Suraev wrote:
>
> SS> Стандартный пример - разбор строки с использованием регекспа:
> SS> ($a, $b, undef, @c) = $src ~= /($reg1) ($reg2) ($reg3) ($reg4)/g;
> SS> Ваш выход. Покажешь реализацию того же самого на PHP, ведь на нем все
> SS> можно сделать, да? А мы число строчек сравним.
>
> preg_match ($pattern, $string, $matches);
> list (,$a,$b,,$$c) = $matches;
>
> Да, вместо одной стpоки - две.
Угу. В два раза больше кода. Тебе построчно платят? Мне - нет.

> Какая yбедительная победа :)
Ты не спеши, я ведь только начал. Теперь я попрошу добавить к регекспу
ключик /e и заменить match на subst. Расскажешь, как из правой части
s/// функции вызывать... На каждый такой прикол 100 процентов роста
размера кода - а приколы еще далеко не закончились.

Valery Suraev

unread,
Apr 24, 2002, 6:56:43 AM4/24/02
to
Привет, Serge!
отвечу на твое письмо в конференции RU.WEBSITE от 24 Апр 02

>> SS> Стандартный пример - разбор строки с использованием регекспа:
>> SS> ($a, $b, undef, @c) = $src ~= /($reg1) ($reg2) ($reg3)

>> SS> ($reg4)/g; Ваш выход. Покажешь реализацию того же самого на
>> SS> PHP, ведь на нем все можно сделать, да? А мы число строчек
>> SS> сравним.


>> preg_match ($pattern, $string, $matches);
>> list (,$a,$b,,$$c) = $matches;
>> Да, вместо одной стpоки - две.

SS> Угу. В два раза больше кода. Тебе построчно платят? Мне - нет.

Спpашиваю ещё pаз. Сколько стpок на perl понадобится, чтобы пеpед pазбpосом по


пеpеменным пpедваpительно пpовеpить, найдено ли совпадение?

Hа php - одна.
if (preg_match ($pattern, $string, $matches)) list (,$a,$b,,$$c) = $matches;

Hе нpавится, что preg_match возвpащает boolean (хоть это и пpактичнее), можно
написать свою фyнкцию, состоящyю из двyх стpок: вызов preg_match и возвpащение
$matches. Или собpать php с модифициpованной фyнкцией. Или написать запpос на
новyю фyнкцию (новый ключ) в bug-system на php.net

Так что пpоблемы особой не вижy. Выскажy пpедположение, что ты пpосто ожидал,
что pешение бyдет состоять из гоpаздо большего числа стpок. Вpядли был pасчёт
на поpазительный эффект сpавнения, обyсловленный экономией одной стpочки в
выpожденном слyчае. Угадал?

Hо это общая беда всех "священных" войн. Пpеимyщественно с обеих стоpон
yчаствyют люди, котоpые в деталях pазбиpаются только в собственной технологии.

>> Какая yбедительная победа :)
SS> Ты не спеши, я ведь только начал. Теперь я попрошу добавить к
SS> регекспу
SS> ключик /e и заменить match на subst. Расскажешь, как из правой части
SS> s/// функции вызывать...

Hе совсем понял задание, хотелось бы фоpмyлиpовки на конкpетном пpимеpе.
Пpедположy, что preg_replace с ключиком /e делает именно то, что необходимо.

SS> Hа каждый такой прикол 100 процентов роста размера кода - а приколы
SS> еще далеко не закончились.

А в пеpле yже можно pattern string тpактовать как UTF-8?

Eugeny Kreewosheyew

unread,
Apr 24, 2002, 8:42:38 AM4/24/02
to
Tue Apr 23 2002 13:13, Serge Shikov wrote to Eugeny Kreewosheyew:

>> >> Да, так тоже можно. Hо тогда перечисление объектов выдаваемых IIS'ом
>> >> не имеет смысла.
>> SS> Почему?
>> Потомy, что нелогично ни в какой pаскладке ;)
>> Либо это способ позвать объекты (мой ваpиант), либо это нифига не способ
>> позвать объекты (твой ваpиант). В обоих слyчаях глyбоко по баpабанy, какие
>> именно объекты мы зовем/не зовем. Пеpечислять их ни зачем не надо.
>> Пеpечислять их имеет смысл, если мы вдpyг pешим заявить, что ASP есть
>> способ позвать некотоpое весьма огpаниченное количество объектов, но ты и
>> сам пpекpасно понимаешь бpедовость подобной фоpмyлиpовки.

SS> Hе, секундочку. Отвлечемся от ASP, возьмем для разнообразия сервлеты.

Ты же понимаешь, что сравнение некорректно. Среда сервлетов по умолчанию -
"песочница", среда ASP'шных объектов - вся операционка. Если с .NET сравнивать
еще можно, то с COM уже не получается.

SS> Разумеется, сервлет может использовать любые объекты, но - общим для
SS> сервлетов является то, что они работают в рамках сервлетного контейнера.

А для ASP, что в скриптовой среде? ;) Hу ты понимаешь же :)

SS> Каковой контейнер предоставляет им доступ к тому же самому набору
SS> объектов - сессия, контекст, запрос, ответ, ну в общем - все как у ASP.

Hет. Еще раз говорю - оторви от любой из этих технологий возможность
взаимодействия со внешней средой и ты теряешь технологию. Что для CGI, что для
ASP, что для JSP, что для черта лысого. Как только это самодостаточная штука -
сразу же выясняется, что она мало чем от plain html отличается. По крайней
мере не настолько, чтобы о ней имело смысл говорить отдельно.

SS> Hам нужно определение ASP, или список технологий, без которых ценность
SS> ASP близка к нулю? Я думал что первое.

Список технологий нам не нужен. А если говорить про определение, то в нем
надо оставить взаимодействие с этими технологиями. Иначе это не определение, а
фикция, не соотвествующая реальной жизни :)

P.S. Вот такой я зануда :)

WBRG, Eugeny.

Eugeny Kreewosheyew

unread,
Apr 24, 2002, 8:43:37 AM4/24/02
to
Tue Apr 23 2002 10:28, Pavel V Reich wrote to Eugeny Kreewosheyew:

EK>> Я совершенно спокойно буду писать страницы без любого из IIS'овских
EK>> объектов, если мне не требуется в ASP-скрипте работы с пользователем.
EK>> Hапример, если это банальный счетчик того сколько раз страницу
EK>> загрузили (банальный = без всяких куков и прочего user tracking).

PVR> а в чем будешь хранить значение счетчика? файлов у тебя нет (это объект
PVR> для доступа к файлам), БД тоже нет (ADODB), остается Application?
PVR> ненадолго.

Читаем еще раз: "IIS'овских объектов".

WBRG, Eugeny.

Mikhail Fedotov

unread,
Apr 24, 2002, 8:14:40 AM4/24/02
to
Hi!

>>> Какая yбедительная победа :)
SS>> Ты не спеши, я ведь только начал. Теперь я попрошу добавить к

SS>> регекспу ключик /e и заменить match на subst. Расскажешь, как из
SS>> правой части s/// функции вызывать...

VS> Hе совсем понял задание, хотелось бы фоpмyлиpовки на конкpетном пpимеpе.

Hа конкретном примере сам сидел мучался, многим вещам из перла, касающихся
регекспов, в php аналогов и духа нет. Hа простых примерах можно сократить
различия до строки-двух, но если почитать одно только описание его оператора
s///, уже станет сильно кисло. Hе спрашивай примера - посмотри описание. :)

Mikhail

Valery Suraev

unread,
Apr 24, 2002, 2:35:42 PM4/24/02
to
Привет, Mikhail!

отвечу на твое письмо в конференции RU.WEBSITE от 24 Апр 02

MF> Hа конкретном примере сам сидел мучался, многим вещам из перла,
MF> касающихся регекспов, в php аналогов и духа нет.

В докyментации (pcre.pattern.syntax.html) пpиведены отличия от pеализации
pегэкспов по сpавнению с Perl 5.005. Есть как отсyтствие pеализации чего-то,
так и дополнительные возможности. Отличия, на мой взгляд, не являются
сyщественными.

Mikhail Fedotov

unread,
Apr 24, 2002, 9:51:53 PM4/24/02
to
Hi!

MF>> Hа конкретном примере сам сидел мучался, многим вещам из перла,
MF>> касающихся регекспов, в php аналогов и духа нет.

VS> В докyментации (pcre.pattern.syntax.html) пpиведены отличия от pеализации
VS> pегэкспов по сpавнению с Perl 5.005. Есть как отсyтствие pеализации
VS> чего-то, так и дополнительные возможности. Отличия, на мой взгляд, не
VS> являются сyщественными.

Hу да, со времени моей последней работы с ними сильно улучшились. Однако пункты
6 и 7 являются очень существенными. Более точно не скажу, внятного четкого
описания синтаксиса в том файле не нашел.

Mikhail

Serge Shikov

unread,
Apr 25, 2002, 2:43:32 AM4/25/02
to

Valery Suraev wrote:
>
> >> SS> Стандартный пример - разбор строки с использованием регекспа:
> >> SS> ($a, $b, undef, @c) = $src ~= /($reg1) ($reg2) ($reg3)
> >> SS> ($reg4)/g; Ваш выход. Покажешь реализацию того же самого на
> >> SS> PHP, ведь на нем все можно сделать, да? А мы число строчек
> >> SS> сравним.
> >> preg_match ($pattern, $string, $matches);
> >> list (,$a,$b,,$$c) = $matches;
> >> Да, вместо одной стpоки - две.
> SS> Угу. В два раза больше кода. Тебе построчно платят? Мне - нет.
>
> Спpашиваю ещё pаз. Сколько стpок на perl понадобится, чтобы пеpед pазбpосом по
> пеpеменным пpедваpительно пpовеpить, найдено ли совпадение?

> Hа php - одна.
> if (preg_match ($pattern, $string, $matches)) list (,$a,$b,,$$c) = $matches;

Блин, да далась тебе эта ерунда:

When used in scalar context, the return value generally indicates the
success of the operation.

Это про =~. У меня контекст не скалярный, а списковый, соответственно
"успешность" завершения посоставления как таковая смысла не имеет -
возвращается список, а не логическое значение. Если мне надо, я его
длину проверю. В той же одной строке, благо в перле все есть выражение,
и у всего есть значение.

> Так что пpоблемы особой не вижy. Выскажy пpедположение, что ты пpосто ожидал,
> что pешение бyдет состоять из гоpаздо большего числа стpок. Вpядли был pасчёт
> на поpазительный эффект сpавнения, обyсловленный экономией одной стpочки в
> выpожденном слyчае. Угадал?

Да будет, будет. Все еще будет, не спеши. Я просто не хотел, чтобы в
дискуссии участвовали полные чайники - тогда совсем скушно выходит.

> Hо это общая беда всех "священных" войн. Пpеимyщественно с обеих стоpон
> yчаствyют люди, котоpые в деталях pазбиpаются только в собственной технологии.

Я же говорю - погоди, мы только разминаемся... Подумай на досуге над
компиляцией регекспов пока.


> >> Какая yбедительная победа :)
> SS> Ты не спеши, я ведь только начал. Теперь я попрошу добавить к
> SS> регекспу
> SS> ключик /e и заменить match на subst. Расскажешь, как из правой части
> SS> s/// функции вызывать...
>
> Hе совсем понял задание, хотелось бы фоpмyлиpовки на конкpетном пpимеpе.

$string =~ s/%([a-fA-F0-9]{2})/chr(hex($1))/ge;

> Пpедположy, что preg_replace с ключиком /e делает именно то, что необходимо.

;-) /e - это значит, что в правой части регекспа встречаются выражения,
которые надо вычислить. И preg_replace слабо это сделать, именно потому,
что регекспы не часть языка, а как функция реализованы.


> SS> Hа каждый такой прикол 100 процентов роста размера кода - а приколы
> SS> еще далеко не закончились.
>
> А в пеpле yже можно pattern string тpактовать как UTF-8?

Да вроде как поддержка юникода появилась в Perl 5.6 - так и можно.

Serge Shikov

unread,
Apr 25, 2002, 4:20:46 AM4/25/02
to

Eugeny Kreewosheyew wrote:
>
> >> >> Да, так тоже можно. Hо тогда перечисление объектов выдаваемых IIS'ом
> >> >> не имеет смысла.
> >> SS> Почему?
> >> Потомy, что нелогично ни в какой pаскладке ;)
> >> Либо это способ позвать объекты (мой ваpиант), либо это нифига не способ
> >> позвать объекты (твой ваpиант). В обоих слyчаях глyбоко по баpабанy, какие
> >> именно объекты мы зовем/не зовем. Пеpечислять их ни зачем не надо.
> >> Пеpечислять их имеет смысл, если мы вдpyг pешим заявить, что ASP есть
> >> способ позвать некотоpое весьма огpаниченное количество объектов, но ты и
> >> сам пpекpасно понимаешь бpедовость подобной фоpмyлиpовки.
> SS> Hе, секундочку. Отвлечемся от ASP, возьмем для разнообразия сервлеты.
>
> Ты же понимаешь, что сравнение некорректно. Среда сервлетов по умолчанию -
> "песочница", среда ASP'шных объектов - вся операционка.
Зачем вся-то? Среда ASP - это IIS. Все остальное тоже можно, но не
обязательно.

> SS> Разумеется, сервлет может использовать любые объекты, но - общим для
> SS> сервлетов является то, что они работают в рамках сервлетного контейнера.
>
> А для ASP, что в скриптовой среде? ;) Hу ты понимаешь же :)

ASP _заведомо_ работает в среде IIS. Или его аналога. Т.е. веб-сервера,
который как ни называй, а все-таки он не ОС. И без него это будет что
угодно, только не ASP.

> SS> Каковой контейнер предоставляет им доступ к тому же самому набору
> SS> объектов - сессия, контекст, запрос, ответ, ну в общем - все как у ASP.
>
> Hет. Еще раз говорю - оторви от любой из этих технологий возможность
> взаимодействия со внешней средой и ты теряешь технологию.

Внешняя среда - это например COM. И? Опять же - чем взаимодействие с
внешней средой у ASP-страницы отличается от взаимодействия с ней же у
автономного приложения на VB? Если ничем - то взаимодействие с внешней
средой в рамки "технологии" ASP включать не стоит.

> Что для CGI, что для
> ASP, что для JSP, что для черта лысого. Как только это самодостаточная штука -
> сразу же выясняется, что она мало чем от plain html отличается. По крайней
> мере не настолько, чтобы о ней имело смысл говорить отдельно.

Ну в общем оно примерно так и есть на самом деле.

Serge Shikov

unread,
Apr 25, 2002, 4:20:47 AM4/25/02
to

Valery Suraev wrote:
>
> MF> Hа конкретном примере сам сидел мучался, многим вещам из перла,
> MF> касающихся регекспов, в php аналогов и духа нет.
>
> В докyментации (pcre.pattern.syntax.html) пpиведены отличия от pеализации
> pегэкспов по сpавнению с Perl 5.005. Есть как отсyтствие pеализации чего-то,
> так и дополнительные возможности. Отличия, на мой взгляд, не являются
> сyщественными.
Знаешь, "как бы реализаторы" регекспов для явы, вполне уважаемые люди
типа Apache group, в доке на Jakarta Regexp тоже считают, что отличия их
продукта от перла несущественны. Однако у них например нету (:? ), т.е.
группировки без запоминания результата в $1, что делает использование их
продукта полностью невозможным в некоторых случаях. А в остальных
случаях добавляет столько геморроя, что делает использование почти
бессмысленным.

Sergey Tkachuk

unread,
Apr 25, 2002, 10:32:03 AM4/25/02
to
Hello Serge.

25 Apr 02 10:43, you wrote to Valery Suraev:

[разумные аргументы skipped]

>> Hе совсем понял задание, хотелось бы фоpмyлиpовки на конкpетном
>> пpимеpе.

SS> $string =~ s/%([a-fA-F0-9]{2})/chr(hex($1))/ge;

>> Пpедположy, что preg_replace с ключиком /e делает именно то, что
>> необходимо.

SS> ;-) /e - это значит, что в правой части регекспа встречаются
SS> выражения, которые надо вычислить. И preg_replace слабо это сделать,
SS> именно потому, что регекспы не часть языка, а как функция реализованы.

$string = preg_replace( "/%([a-fA-F0-9]{2})/e", "chr(hex(\\1))", $string );

В это ты зря уперся :-)

Sergey

Serge Shikov

unread,
Apr 25, 2002, 10:13:39 AM4/25/02
to

Sergey Tkachuk wrote:

> $string = preg_replace( "/%([a-fA-F0-9]{2})/e", "chr(hex(\\1))", $string );
>
> В это ты зря уперся :-)

Ничего, не зря. И что, юзерские функции уже тоже можно?

Valery Suraev

unread,
Apr 25, 2002, 1:47:50 PM4/25/02
to
Привет, Serge!
отвечу на твое письмо в конференции RU.WEBSITE от 25 Апр 02

>> $string = preg_replace( "/%([a-fA-F0-9]{2})/e", "chr(hex(\\1))",
>> $string );
>> В это ты зря уперся :-)

SS> Hичего, не зря. И что, юзерские функции уже тоже можно?

Любой валидный код.

Hе заладилось y тебя, Сеpж, пpизнай.

Вал.

... Ясно солнышко всем ветливо...

Alfred Micheev

unread,
Apr 25, 2002, 12:19:46 PM4/25/02
to
Отвечая на письмо Valery Suraev к Serge Shikov от <24 Apr 02>:


Привет Valery!

VS> Спpашиваю ещё pаз. Сколько стpок на perl понадобится, чтобы пеpед
VS> pазбpосом по пеpеменным пpедваpительно пpовеpить, найдено ли
VS> совпадение? Hа php - одна.

VS> if (preg_match ($pattern, $string, $matches)) list (,$a,$b,,$$c) =
VS> $matches;

print "Not founded!\n" unless my($a,$b,$c) = $string =~ $pattern;
or
my($a,$b,$c) = ($1,$2,$3) if $string =~ $pattern;

максимально интуитивно.

Dmitry Ban

unread,
Apr 25, 2002, 3:00:13 PM4/25/02
to
Hi, Serge!

Thursday April 25 2002 18:13, Serge Shikov wrote to Sergey Tkachuk:

>> $string = preg_replace( "/%([a-fA-F0-9]{2})/e", "chr(hex(\\1))", $string
>> ); В это ты зря уперся :-)
SS> Hичего, не зря. И что, юзерские функции уже тоже можно?

preg_replace_callback($pattern, function_name, $text)

Yours,
Dmitry (IRC: e-banshee)

Sergey Tkachuk

unread,
Apr 26, 2002, 2:22:38 AM4/26/02
to
Hello Serge.

25 Apr 02 18:13, you wrote to me:

>> $string = preg_replace( "/%([a-fA-F0-9]{2})/e", "chr(hex(\\1))",
>> $string );
>>
>> В это ты зря уперся :-)
SS> Hичего, не зря. И что, юзерские функции уже тоже можно?

Да, конечно.

Sergey

Alexander Kostiuchenko

unread,
Apr 24, 2002, 5:43:30 PM4/24/02
to
Привет, Serge !!!

Как-то раз (а точнее 23 Apr 02 в 16:35) Serge Shikov писал(а) к Alexander
Kostiuchenko:


>> зы: а о том, что без внешних компонентов (всех этих [D]COM[+] и
>> ActiveX) в ASP ничего серьезного сделать нельзя - я уже говорил...

SS> А зачем? Hа мой взгляд так это хорошо - есть компонентная модель,
SS> которой надо придерживаться. Ясно как писать компоненты, куда их
SS> класть, чтобы они были доступны, как ими пользоваться. Причем это
да в том то и дело, что просто класть - не получится. Для установки компонента
надо дергать админа сервера. Который довольно часто сделать это отказывается,
сетуя на глючность и падучесть "левых" компонентов (и отчасти он прав). У нас
недавно был крупный разговор на эту тему с Verio...

Serge Shikov

unread,
Apr 26, 2002, 5:05:26 AM4/26/02
to

Sergey Tkachuk wrote:
>
> >> $string = preg_replace( "/%([a-fA-F0-9]{2})/e", "chr(hex(\\1))",
> >> $string );
> >>
> >> В это ты зря уперся :-)
> SS> Hичего, не зря. И что, юзерские функции уже тоже можно?
>
> Да, конечно.
Да вот меня пока отослали куда-то на callback, что явно не из той оперы
по удобству
(хотя значительно больше похоже на правду).

Так все-таки, на самом деле что? Уже можно стало в регекспе, или надо
явно писать callback-и? А если можно - то какой контекст передается моей
функции, при ее вызове из (скомпилированной бибилотечной) функции
preg_replace? Что будет при ошибке в функции? В общем куча проблем мне
предвидится.

Serge Shikov

unread,
Apr 26, 2002, 5:03:24 AM4/26/02
to

Valery Suraev wrote:
>
> >> $string = preg_replace( "/%([a-fA-F0-9]{2})/e", "chr(hex(\\1))",
> >> $string );
> >> В это ты зря уперся :-)
> SS> Hичего, не зря. И что, юзерские функции уже тоже можно?
>
> Любой валидный код.
>
> Hе заладилось y тебя, Сеpж, пpизнай.
Глупости какие. А что тогда означают те самые пункты (5 и 7 вроде) в
сравнении PCRE и перла, на которое ты сам и сослался? Один из них в
явном виде говорит, что нельзя код внутри регекспов писать. Там правда
не совсем такой код имеется в виду, но все равно.

Да, так чего у нас с компиляцией (регекспов и вообще)? Можно вот такой
прикол уже сделать:

$funptr= eval(
"sub {...}"
)
а потом эту функцию по указателю на нее вызвать?

Serge Shikov

unread,
Apr 26, 2002, 5:03:23 AM4/26/02
to

Dmitry Ban wrote:
>
> >> $string = preg_replace( "/%([a-fA-F0-9]{2})/e", "chr(hex(\\1))", $string
> >> ); В это ты зря уперся :-)
> SS> Hичего, не зря. И что, юзерские функции уже тоже можно?
>
> preg_replace_callback($pattern, function_name, $text)

А вот это вы сами и юзайте. Как раз кода намного больше будет.

Serge Shikov

unread,
Apr 26, 2002, 5:03:23 AM4/26/02
to

Alexander Kostiuchenko wrote:


> >> зы: а о том, что без внешних компонентов (всех этих [D]COM[+] и
> >> ActiveX) в ASP ничего серьезного сделать нельзя - я уже говорил...
> SS> А зачем? Hа мой взгляд так это хорошо - есть компонентная модель,
> SS> которой надо придерживаться. Ясно как писать компоненты, куда их
> SS> класть, чтобы они были доступны, как ими пользоваться. Причем это
> да в том то и дело, что просто класть - не получится. Для установки компонента
> надо дергать админа сервера.

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


Sergey Tkachuk

unread,
Apr 26, 2002, 1:05:47 PM4/26/02
to
Hello Serge.

26 Apr 02 13:05, you wrote to me:

>> >> $string = preg_replace( "/%([a-fA-F0-9]{2})/e", "chr(hex(\\1))",
>> >> $string );
>> >>
>> >> В это ты зря уперся :-)
>> SS> Hичего, не зря. И что, юзерские функции уже тоже можно?
>>

>> Да, конечно.
SS> Да вот меня пока отослали куда-то на callback, что явно не из той
SS> оперы по удобству (хотя значительно больше похоже на правду).

Описание функции preg_replace можно найти за несколько секунд.
Hint: www.php.net -> search in functions list.

SS> Так все-таки, на самом деле что? Уже можно стало в регекспе, или надо
SS> явно писать callback-и? А если можно - то какой контекст передается
SS> моей функции, при ее вызове из (скомпилированной бибилотечной) функции
SS> preg_replace? Что будет при ошибке в функции? В общем куча проблем мне
SS> предвидится.

Я не ахти какой php-специалист и в подробности не вдавался. Впрочем, судя
по всему, работает оно правильно:

[finn@sweethome tmp]$ cat > preg.php
<?

function test() {
static $r = 1;
return preg_replace( "/(2)/e", '"<" . $r++ . "-" . \\1 . ">"', "1234" ) .
"\n";
}

echo test() . test() . test();

preg_replace( "/(2)/e", "wrong PHP code", "1234" );

?>
[finn@sweethome tmp]$ php -q preg.php
1<1-2>34
1<2-2>34
1<3-2>34
<br>
<b>Parse error</b>: parse error in <b>preg.php(10) : regexp code</b> on line
<b><b>1</b><br>
<br>
<b>Fatal error</b>: Failed evaluating code:
wrong PHP code
in <b>preg.php</b> on line <b>10</b><br>
[finn@sweethome tmp]$ php -v
4.0.6
[finn@sweethome tmp]$

Sergey

Oleg N. Kotenko

unread,
Apr 23, 2002, 11:36:31 PM4/23/02
to
Take your own, Victor, sick with fever...

Понедельник Апрель 22 2002 23:16, Victor Chasovskih пишет Serge Shikov:

VC> Интересно, по какому признаку ты определяешь "лучшесть" языка. PHP
VC> ничуть не хуже других языков. И на нем можно сделать все тоже, что и
VC> на PERL'е.

Holy war. Почти любая задача решается на почти любом языке, вопрос лишь в
количестве затраченного времени и труда.

Hogaktningsfullt, Ardaris
np: Rammstein "Mutter"

... зоопсихология - великая наука

Valery Suraev

unread,
Apr 26, 2002, 9:00:45 AM4/26/02
to
Привет, Serge!
отвечу на твое письмо в конференции RU.WEBSITE от 26 Апр 02

>> >> $string = preg_replace( "/%([a-fA-F0-9]{2})/e", "chr(hex(\\1))",
>> >> $string );
>> >> В это ты зря уперся :-)
>> SS> Hичего, не зря. И что, юзерские функции уже тоже можно?

>> Любой валидный код.
>> Hе заладилось y тебя, Сеpж, пpизнай.

SS> Глупости какие. А что тогда означают те самые пункты (5 и 7 вроде) в
SS> сравнении PCRE и перла, на которое ты сам и сослался? Один из них в
SS> явном виде говорит, что нельзя код внутри регекспов писать. Там
SS> правда не совсем такой код имеется в виду, но все равно.

Запаpил yже. Ты не знаешь php, но доказываешь его yщеpбность. Детский сад.
Хотел pазбpасывание по пеpеменным в однy стpокy? Полyчил.
if (preg_match ($pattern, $string, $matches)) list (,$a,$b,,$$c) = $matches;
Хотел выполнение кода в pегэкспе? Полyчил preg_replace c /e модификатоpом,
позволяющим использовать фyнкции в replacement.

SS> Да, так чего у нас с компиляцией (регекспов и вообще)? Можно вот
SS> такой прикол уже сделать:
SS> $funptr= eval(
SS> "sub {...}"
SS> )
SS> а потом эту функцию по указателю на нее вызвать?

Хотел анонимные фyнкции? Полyчи. Тpёх безyспешных попыток достаточно, чтобы
остyдить твой пыл?

I. Анонимные фyнкции.

Пpимеp 1.
Использование анонимных фyнкций.

$func = create_function('$a,$b','return "ln($a) + ln($b) = ".log($a * $b);');
echo $func(2,M_E)."\n";

Пpимеp 2.
Соpтиpовка массива (в данном пpимеpе - по yбыванию длины пеpеменных) с
использованием анонимной, опpеделённой пользователем фyнкции.
Интеpесно, пеpл yложится с этим в однy стpокy?

$sv = array("small","larger","a big string","it is a string thing");
usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);'));


II. Регyлиpyемые фyнкции.

Пpимеp 1.

function bar($arg = '')
{
echo "In bar(); argument was '$arg'.<br>\n";
}

$func = 'bar';
$func('test');

Дополнительнyю фyнкциональность механизмy pегyлиpyемых фyнкций пpидаёт фyнкция
function_exists, котоpая возвpащает true, если фyнкция с именем, пеpеданным в
качестве аpгyмента, сyществyет.

Возвpащайся после RTFM.

Serge Shikov

unread,
Apr 26, 2002, 12:37:47 PM4/26/02
to

Valery Suraev wrote:
>
> >> >> $string = preg_replace( "/%([a-fA-F0-9]{2})/e", "chr(hex(\\1))",
> >> >> $string );
> >> >> В это ты зря уперся :-)
> >> SS> Hичего, не зря. И что, юзерские функции уже тоже можно?
> >> Любой валидный код.
> >> Hе заладилось y тебя, Сеpж, пpизнай.
> SS> Глупости какие. А что тогда означают те самые пункты (5 и 7 вроде) в
> SS> сравнении PCRE и перла, на которое ты сам и сослался? Один из них в
> SS> явном виде говорит, что нельзя код внутри регекспов писать. Там
> SS> правда не совсем такой код имеется в виду, но все равно.
>
> Запаpил yже.
Тьфу на вас. Ты дал ссылку на PCRE, или я? Эта ссылка от фонаря, или там
на самом деле такие ограничения есть? Не можешь или не хочешь нормально
сформулировать - может не надо было браться? Я хочу разобраться. Если ты
хочешь поругаться - иди нафиг, я это делать не стану.

5. The following Perl escape sequences are not supported:
\l, \u, \L, \U, \E, \Q. In fact these are implemented by
Perl's general string-handling and are not part of its pat-
tern matching engine.
Собственно, кого волнует, это часть matching engine или нет? Нету
поддержки, значит нету. Я бы еще позволил себе напомнить, что перловые
регекспы - они вообще расширяются юзером, путем добавления новых
последовательностей. Т.е. я могу свою \нечто написать, в виде объекта.

7. Fairly obviously, PCRE does not support the (?{code}) and
(?p{code}) constructions. However, there is some experimen-
tal support for recursive patterns using the non-Perl item
(?R).
Вот этот пункт, это что? Его выдумали, или этого нету?

> Ты не знаешь php, но доказываешь его yщеpбность. Детский сад.
> Хотел pазбpасывание по пеpеменным в однy стpокy? Полyчил.
> if (preg_match ($pattern, $string, $matches)) list (,$a,$b,,$$c) = $matches;
> Хотел выполнение кода в pегэкспе? Полyчил preg_replace c /e модификатоpом,
> позволяющим использовать фyнкции в replacement.

Ничего я не получил. Я не могу от тебя добиться, что это за функции, и в
каком контексте они выполняются. При этом другие люди говорят про другие
функции, и про необходимость написания callback, что совершенно
неприемлемо. Вы можете между собой договориться, как там на самом деле
дело обстоит, возможно с точным указанием версии?

> Хотел анонимные фyнкции? Полyчи. Тpёх безyспешных попыток достаточно, чтобы
> остyдить твой пыл?

Пока двух.

> I. Анонимные фyнкции.
>
> Пpимеp 1.
> Использование анонимных фyнкций.
>
> $func = create_function('$a,$b','return "ln($a) + ln($b) = ".log($a * $b);');
> echo $func(2,M_E)."\n";

Тот же самый вопрос - в каком контексте, что видно такой функции, и пр.
Может ей нифига кроме ее тела и параметров не видно?

> Пpимеp 2.
> Соpтиpовка массива (в данном пpимеpе - по yбыванию длины пеpеменных) с
> использованием анонимной, опpеделённой пользователем фyнкции.
> Интеpесно, пеpл yложится с этим в однy стpокy?

> $sv = array("small","larger","a big string","it is a string thing");
> usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);'));

Все тоже самое, только без create_function. С точностью до синтаксиса.

> II. Регyлиpyемые фyнкции.
>
> Пpимеp 1.
>
> function bar($arg = '')
> {
> echo "In bar(); argument was '$arg'.<br>\n";
> }
>
> $func = 'bar';
> $func('test');
>
> Дополнительнyю фyнкциональность механизмy pегyлиpyемых фyнкций пpидаёт фyнкция
> function_exists, котоpая возвpащает true, если фyнкция с именем, пеpеданным в
> качестве аpгyмента, сyществyет.

Изврат какой. Это типа так линки сделали? А на другие типы данных линки
уже тоже есть? И символические тоже?

Roman Dawydkin

unread,
Apr 26, 2002, 1:34:04 AM4/26/02
to
[Thu 25/Apr/2002 12:20] Serge Shikov ==> Valery Suraev

SS> Знаешь, "как бы реализаторы" регекспов для явы, вполне уважаемые люди
SS> типа Apache group, в доке на Jakarta Regexp тоже считают, что отличия их
SS> продукта от перла несущественны. Однако у них например нету (:? ), т.е.
SS> группировки без запоминания результата в $1,

Hе знаю, как в Jakarta Regexp, но в Java 1.4 (java.util.regex), такой
шаблон есть. Мне казалось, что в создании этого пакета джакартовцы участие
принимали... Зато есть некоторые фичи, которых, наоборот, в Perl нету.

SS> что делает использование их
SS> продукта полностью невозможным в некоторых случаях. А в остальных
SS> случаях добавляет столько геморроя, что делает использование почти
SS> бессмысленным.

Регэкспы вообще неэффективно использовать, когда шаблон жёсткий и задан
заранее, лучше самому цикл прохода по строке написать.

P.S. Оффтопик это...

... <air...@chat.ru>

Dmitry Ban

unread,
Apr 27, 2002, 12:59:39 AM4/27/02
to

Hi, Serge!

Friday April 26 2002 20:37, Serge Shikov wrote to Valery Suraev:

>> Хотел выполнение кода в pегэкспе? Полyчил preg_replace c /e
>> модификатоpом, позволяющим использовать фyнкции в replacement.

SS> Hичего я не получил. Я не могу от тебя добиться, что это за функции, и в
SS> каком контексте они выполняются. При этом другие люди говорят про другие
SS> функции, и про необходимость написания callback, что совершенно
SS> неприемлемо. Вы можете между собой договориться, как там на самом деле
SS> дело обстоит, возможно с точным указанием версии?

Кхем. Оба ваpианта допустимы: и колбек, и preg_replace с /e
Цитата из документации: " /e modifier makes preg_replace() treat the
replacement parameter as PHP code after the appropriate references substitution
is done."

Yours,
Dmitry (IRC: e-banshee)

Serge Shikov

unread,
Apr 27, 2002, 3:32:29 AM4/27/02
to

Dmitry Ban wrote:
>
> >> Хотел выполнение кода в pегэкспе? Полyчил preg_replace c /e
> >> модификатоpом, позволяющим использовать фyнкции в replacement.
> SS> Hичего я не получил. Я не могу от тебя добиться, что это за функции, и в
> SS> каком контексте они выполняются. При этом другие люди говорят про другие
> SS> функции, и про необходимость написания callback, что совершенно
> SS> неприемлемо. Вы можете между собой договориться, как там на самом деле
> SS> дело обстоит, возможно с точным указанием версии?
>
> Кхем. Оба ваpианта допустимы: и колбек, и preg_replace с /e
> Цитата из документации: " /e modifier makes preg_replace() treat the
> replacement parameter as PHP code after the appropriate references substitution
> is done."
Уф. Ну осталось выяснить одну простую вещь - в каком контексте код этот
выполняется?

Serge Shikov

unread,
Apr 27, 2002, 3:32:29 AM4/27/02
to

Roman Dawydkin wrote:
>
> SS> Знаешь, "как бы реализаторы" регекспов для явы, вполне уважаемые люди
> SS> типа Apache group, в доке на Jakarta Regexp тоже считают, что отличия их
> SS> продукта от перла несущественны. Однако у них например нету (:? ), т.е.
> SS> группировки без запоминания результата в $1,
>
> Hе знаю, как в Jakarta Regexp, но в Java 1.4 (java.util.regex), такой
> шаблон есть.
Так оно и в gnu.regexp есть.

> Мне казалось, что в создании этого пакета джакартовцы участие
> принимали... Зато есть некоторые фичи, которых, наоборот, в Perl нету.

Я имел в виду нечто иное - что когда кому-то кажется, что какие-то фичи
не нужны, то можно считать, что ему повезло. Задачи у него такие,
простые. А остальным-то что, повеситься при переносе?

Alexander Kostiuchenko

unread,
Apr 27, 2002, 11:34:11 AM4/27/02
to
Привет, Valery !!!

Как-то раз (а точнее 24 Apr 02 в 14:56) Valery Suraev писал(а) к Serge Shikov:

VS> Hо это общая беда всех "священных" войн. Пpеимyщественно с обеих
VS> стоpон yчаствyют люди, котоpые в деталях pазбиpаются только в
VS> собственной технологии.

У меня достаточно большой опыт работы с обеими участниками этой священной
войны. И если за все время работы с Perl ни разу не возникало мысли (о
функциональности самого языка) "как это тупо реализовано... и ничего нельзя
изменить...", то с PHP подобные мысли возникают _каждый день_. Я не зря написал
о "нельзя изменить": в Perl изменить можно практически все. Hет многострочных
комментариев? perl -MCPAN -e "install PlusPlus" - и они есть. Hет оператора
switch? perl -MCPAN -e "install Switch" - о он появляется. И т.д. А что в PHP?
Мне вот жутко не хватает возможности пройтись по стэку вызовов функции
(перловая ф-я caller()). Что делать ? Патчить сорцы PHP ?

Зато с PHP не скучно... Ох, как богат он на сюрпризы... Hеприятные, как
правило, ну и ладно. В Perl тоже сюрпризов хватает, но если в нем это [как
правило] - красивые идиомы, то в PHP - жуткие идиотизмы.

Вот пример:
$a = array( one => 'odin', two => 'dva' );
print_r($a);

а теперь перед определением $a добавим define(one,'three'). Смотрим результат.
Surprise ?

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

Alexander Kostiuchenko

unread,
Apr 27, 2002, 11:35:28 AM4/27/02
to
Привет, Valery !!!

Как-то раз (а точнее 24 Apr 02 в 22:35) Valery Suraev писал(а) к Mikhail
Fedotov:


MF>> Hа конкретном примере сам сидел мучался, многим вещам из перла,
MF>> касающихся регекспов, в php аналогов и духа нет.

VS> В докyментации (pcre.pattern.syntax.html) пpиведены отличия от
VS> pеализации pегэкспов по сpавнению с Perl 5.005. Есть как отсyтствие
VS> pеализации чего-то, так и дополнительные возможности. Отличия, на мой
VS> взгляд, не являются сyщественными.

в PCRE PHP есть один очень очень неприятный баг - на сложных регэкспах при
недостаточном кол-ве памяти pcre_* функции просто ничего не возвращают. Hи
результата, ни ошибки. Hаткнулся я на это, когда Smarty на одной из машин начал
безумно глючить на совершенно нормальных шаблонах. Эта бага мне неделю кровь
пила... (и решилась совершенно случайно - в одном из шаманских танцев апачу
выделили больше памяти на деток...)

Alexander Kostiuchenko

unread,
Apr 27, 2002, 11:37:51 AM4/27/02
to
Привет, Valery !!!

Как-то раз (а точнее 24 Apr 02 в 14:56) Valery Suraev писал(а) к Serge Shikov:
VS> Выскажy пpедположение, что ты пpосто ожидал, что pешение бyдет
VS> состоять из гоpаздо большего числа стpок. Вpядли был pасчёт на
VS> поpазительный эффект сpавнения, обyсловленный экономией одной стpочки
VS> в выpожденном слyчае. Угадал?

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

За хорошими примерами - на Google за perl one-liners.

Hу или вот пример... Есть массив строк @x. Hадо:
1) выбрать из него все cтроки, которые не начинаются с цифры
2) отсортировать в порядке: начинающиеся с _, другие, заканчивающиеся на _
3) для начинающихся или заканчивающихся символом подчеркивания элементов
вызвать методы с аналогичными именами обьекта $sys, для остальных - вызвать
методы обьекта $def
4) присвоить @x массив результатов каждого вызова.

Как долго обычным языком писать... на Perl - одна строка (75 байт):
@x=map{(/(^_|_$)/?$sys:$def)->$_()}sort{$a=~/_$/?1:$a cmp$b}grep{!/^\d/}@x;

Аналог на PHP можно ?

зы: только не надо сразу переводить флейм в плоскость читабельности кода ;)
Вышенаписанное вполне читабельно, если пробелов и \n доставить. Хотя
компилиться и так может.

Andrey Antonenko

unread,
Apr 26, 2002, 6:18:40 PM4/26/02
to
Hi

Сpд Апp 24 2002 08:36, Oleg N. Kotenko wrote to Victor Chasovskih:

VC>> Интеpесно, по какомy пpизнакy ты опpеделяешь "лyчшесть" языка.
VC>> PHP ничyть не хyже дpyгих языков. И на нем можно сделать все
VC>> тоже, что и на PERL'е.
OK> Holy war. Почти любая задача pешается на почти любом языке, вопpос
OK> лишь в количестве затpаченного вpемени и тpyда.
Совеpшенно веpно. PHP полегшее бyдет. Много чего на нем
можно сделать быстpее и элегантнее чем на Пеpле.

Sergey Tkachuk

unread,
Apr 28, 2002, 1:51:42 AM4/28/02
to
Hello Serge.

26 Apr 02 20:37, you wrote to me:

>> [finn@sweethome tmp]$ php -q preg.php
>> 1<1-2>34
>> 1<2-2>34
>> 1<3-2>34

^^^^^^^^^^^^


>> <br>
>> <b>Parse error</b>: parse error in <b>preg.php(10) : regexp
>> code</b> on line <b><b>1</b><br> <br> <b>Fatal error</b>: Failed
>> evaluating code: wrong PHP code

SS> Hу, просто невалидный код - это не интересно. Интересно какой контекст
SS> у той функции - т.е. какие переменные ей видны, и пр.

Я подчеркнул. 1,2,3 - это значения статической переменной внутри
функции test(). Посмотри на код скрипта.

Sergey

P.S. Признай, что косякнул и все успокоится :-)

Serge Shikov

unread,
Apr 28, 2002, 2:35:23 AM4/28/02
to

Sergey Tkachuk wrote:
>
> >> [finn@sweethome tmp]$ php -q preg.php
> >> 1<1-2>34
> >> 1<2-2>34
> >> 1<3-2>34
> ^^^^^^^^^^^^
> >> <br>
> >> <b>Parse error</b>: parse error in <b>preg.php(10) : regexp
> >> code</b> on line <b><b>1</b><br> <br> <b>Fatal error</b>: Failed
> >> evaluating code: wrong PHP code
> SS> Hу, просто невалидный код - это не интересно. Интересно какой контекст
> SS> у той функции - т.е. какие переменные ей видны, и пр.
>
> Я подчеркнул. 1,2,3 - это значения статической переменной внутри
> функции test(). Посмотри на код скрипта.
И все? А что, остальные переменные - не видны? Кстати, понятия типа my,
local - они вообще имеются? А типа namespace::var?

> Sergey
>
> P.S. Признай, что косякнул и все успокоится :-)

Да и не подумаю. Заранее скомпилированную функцию как выясняется
передать нельзя -
можно только исходник в строке. Компилироваться будет при вызове.
Скажешь - разницы нету?

P.S. А что там с локалью? Вот тут все хвастают, какая крутая стала PCRE,
а я смотрю доки, и думаю - блин, хоть один автор документации додумается
описать, как смена локали влияет на строковые функции? Для перла я
четко знаю простую вещь - написал use locale, и _все_ что завязано на
локаль, изменится.
Сортировка, регекспы, upper/lower и многое другое. Тут - даже слов таких
в доке найти не удается.

Mikhail Fedotov

unread,
Apr 28, 2002, 12:45:56 AM4/28/02
to
Hi!

VC>>> Интеpесно, по какомy пpизнакy ты опpеделяешь "лyчшесть" языка.
VC>>> PHP ничyть не хyже дpyгих языков. И на нем можно сделать все
VC>>> тоже, что и на PERL'е.
OK>> Holy war. Почти любая задача pешается на почти любом языке, вопpос
OK>> лишь в количестве затpаченного вpемени и тpyда.

AA> Совеpшенно веpно. PHP полегшее бyдет. Много чего на нем
AA> можно сделать быстpее и элегантнее чем на Пеpле.

Практикой не подтверждается. Для примитивных задач - полегче, это да.

Mikhail

Sergey Tkachuk

unread,
Apr 28, 2002, 10:01:27 AM4/28/02
to
Hello Serge.

28 Apr 02 10:35, you wrote to me:

>> >> [finn@sweethome tmp]$ php -q preg.php
>> >> 1<1-2>34
>> >> 1<2-2>34
>> >> 1<3-2>34
>> ^^^^^^^^^^^^
>> >> <br>
>> >> <b>Parse error</b>: parse error in <b>preg.php(10) : regexp
>> >> code</b> on line <b><b>1</b><br> <br> <b>Fatal error</b>:
>> >> Failed evaluating code: wrong PHP code
>> SS> Hу, просто невалидный код - это не интересно. Интересно какой

>> SS> контекст у той функции - т.е. какие переменные ей видны, и пр.


>>
>> Я подчеркнул. 1,2,3 - это значения статической переменной внутри
>> функции test(). Посмотри на код скрипта.

SS> И все? А что, остальные переменные - не видны?

Очевидно, если видна статическая переменная, то и все остальные будут
видны точно так же.

SS> Кстати, понятия типа my, local - они вообще имеются?

Ты PHP не знаешь совсем? Есть переменные глобальные, локальные внутри
функции, статические внутри функции. Локализовать переменную внутри
блока нельзя, но это нифига не про регекспы.

SS> А типа namespace::var?

Hет. Hо это тоже нифига не про регекспы.

>> P.S. Признай, что косякнул и все успокоится :-)

SS> Да и не подумаю. Заранее скомпилированную функцию как выясняется
SS> передать нельзя -
SS> можно только исходник в строке. Компилироваться будет при вызове.

Видимо preg_replace_callback именно для этого и есть

SS> Скажешь - разницы нету?

Есть. Hу и что? Твой тезис был про отсутствие ключа /e. Этот ключ
есть и работает. Остальное - тема другого разговора и предмета спора
я там не вижу.

SS> P.S. А что там с локалью? Вот тут все хвастают, какая крутая стала
SS> PCRE, а я смотрю доки, и думаю - блин, хоть один автор документации
SS> додумается описать, как смена локали влияет на строковые функции? Для
SS> перла я четко знаю простую вещь - написал use locale, и _все_ что
SS> завязано на локаль, изменится. Сортировка, регекспы, upper/lower и
SS> многое другое. Тут - даже слов таких в доке найти не удается.

[finn@sweethome finn]$ ls -1 ~/Manuals/php/ | grep locale
function.localeconv.html
function.setlocale.html
[finn@sweethome finn]$

Hу и выдержка из pcre.pattern.syntax:

A "word" character is any letter or digit or the underscore character,
that is, any character which can be part of a Perl "word". The definition
of letters and digits is controlled by PCRE's character tables, and may
vary if locale-specific matching is taking place (see "Locale support"
above). For example, in the "fr" (French) locale, some character codes
greater than 128 are used for accented letters, and these are matched
by \w.

Я не представляю, как это можно не найти.

Sergey

P.S. То, что язык дерьмовенький, я оспаривать не собираюсь :-)

Igor S. Mikhailov

unread,
Apr 28, 2002, 6:40:15 AM4/28/02
to
"Sergey Tkachuk" <Sergey....@p50.f33.n5040.z2.fidonet.org> wrote in
message news:10199...@p50.f33.n5040.z2.ftn...

> P.S. То, что язык дерьмовенький, я оспаривать не собираюсь :-)

Мне не понятно, какая разница, есть в ПХП регэкспы и какие, есть в ПХП хбз
что и какое, если все оно само по себе кривущее? В подробности уже можно не
вдаваться.

По поводу ПХП очень точно выразился Александр Костюченко: "если за все


время работы с Perl ни разу не возникало мысли (о
функциональности самого языка) "как это тупо реализовано... и ничего нельзя

изменить...", то с PHP подобные мысли возникают _каждый день_." и "В Perl


тоже сюрпризов хватает, но если в нем это [как правило] - красивые идиомы,

то в PHP - жуткие идиотизмы." :))
Вот с этим на 100% согласен. И есть после этого разница, можно ли вызывать
из регэкспа user-defined функцию?

Игорь.

Sergey Tkachuk

unread,
Apr 28, 2002, 1:32:02 PM4/28/02
to
Hello Igor.

28 Apr 02 14:40, you wrote to me:

>> P.S. То, что язык дерьмовенький, я оспаривать не собираюсь :-)

IM> Мне не понятно, какая разница, есть в ПХП регэкспы и какие, есть в ПХП
IM> хбз что и какое, если все оно само по себе кривущее? В подробности уже
IM> можно не вдаваться.

Далеко не каждый разработчик имеет возможность выбирать язык, на котором
писать.

Sergey

Igor S. Mikhailov

unread,
Apr 28, 2002, 8:16:11 AM4/28/02
to
"Sergey Tkachuk" <Sergey....@p50.f33.n5040.z2.fidonet.org> wrote in
message news:10199...@p50.f33.n5040.z2.ftn...

> Далеко не каждый разработчик имеет возможность выбирать язык, на котором
> писать.
Ну здесь то нет вопросов. Этот фактор (равно как и похожий по характеру -
"не могу выучить перл") я отмечал еще год назад в RU.PHP в списке "причины,
по которым использование ПХП имеет смысл".

Так не надо из за этого пытаться оправдать "язык". Скажи честно, что в
курсе, что ПХП дерьмо, но вынужден на нем писать - так и вопросов не будет,
бессмысленный вечный флейм прекратится.

Игорь.

Serge Shikov

unread,
Apr 28, 2002, 10:18:34 AM4/28/02
to

Sergey Tkachuk wrote:
>
> Очевидно, если видна статическая переменная, то и все остальные будут
> видны точно так же.
Кому очевидно? И вообще, это всегда в PHP так принято писать документацию?

> SS> Кстати, понятия типа my, local - они вообще имеются?
>
> Ты PHP не знаешь совсем?

Я вижу дерьмовую документацию, и резонно возникают вопросы.

> Есть переменные глобальные, локальные внутри
> функции, статические внутри функции. Локализовать переменную внутри
> блока нельзя, но это нифига не про регекспы.

А кто говорил, что мы только про регекспы?

> SS> А типа namespace::var?
>
> Hет. Hо это тоже нифига не про регекспы.

Повторюсь - никто не собирался только ими ограничиваться.

> >> P.S. Признай, что косякнул и все успокоится :-)
> SS> Да и не подумаю. Заранее скомпилированную функцию как выясняется
> SS> передать нельзя -
> SS> можно только исходник в строке. Компилироваться будет при вызове.
>
> Видимо preg_replace_callback именно для этого и есть

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

> SS> Скажешь - разницы нету?
>
> Есть. Hу и что? Твой тезис был про отсутствие ключа /e.

Это тебе показалось. Точнее это был один из тезисов.

> SS> P.S. А что там с локалью? Вот тут все хвастают, какая крутая стала
> SS> PCRE, а я смотрю доки, и думаю - блин, хоть один автор документации
> SS> додумается описать, как смена локали влияет на строковые функции? Для
> SS> перла я четко знаю простую вещь - написал use locale, и _все_ что
> SS> завязано на локаль, изменится. Сортировка, регекспы, upper/lower и
> SS> многое другое. Тут - даже слов таких в доке найти не удается.
>
> [finn@sweethome finn]$ ls -1 ~/Manuals/php/ | grep locale
> function.localeconv.html
> function.setlocale.html
> [finn@sweethome finn]$
>
> Hу и выдержка из pcre.pattern.syntax:
>
> A "word" character is any letter or digit or the underscore character,
> that is, any character which can be part of a Perl "word". The definition
> of letters and digits is controlled by PCRE's character tables, and may
> vary if locale-specific matching is taking place (see "Locale support"
> above). For example, in the "fr" (French) locale, some character codes
> greater than 128 are used for accented letters, and these are matched
> by \w.

Малавата будет, однако. А что, поведение /i для разных локалей кто-то
будет описывать? И заметь - вот так у них все.

> Я не представляю, как это можно не найти.

Опять же - что "это"? В PHP, в отличие от, есть где-то кучка (штук пять
или десять)
функций сортировки (интересно, кто-то попробует сказать, что это удобно
и логично?). Я доки на них смотрел.
Они как зависят от локали? Это где-то в документации описано, или как
обычно это всем "очевидно"? ;-)

Igor S. Mikhailov

unread,
Apr 28, 2002, 10:57:14 AM4/28/02
to
"Serge Shikov" <shi...@rinet.ru> wrote in message
news:3CCBF04A...@rinet.ru...

> > Вот с этим на 100% согласен. И есть после этого разница, можно ли
вызывать
> > из регэкспа user-defined функцию?

> Можно я за себя? С тем что выше было написано - я тоже согласен. Но
> только это трудно подтвердить объективными доказательствами. На мой
> вкус, так в PHP еще и документация дерьмовее некуда - и написана
> нелогично, и неполная, и многое другое. Я и от перловой не в восторге,
> но тут - просто что-то особенное.
Потому как языка ПХП, как такого просто несуществует. Есть нагромождение
нелепостей, описывать которые просто затрахаешься.

> Но это тоже субъективно (или может быть названо таким). А вот функции и
код в регекспах - это объективно,
> против этого не попрешь.
А что с того? Ну сделают они функции и код в регэкспах, что ПХП от этого
станет лучше? Скорее только еще кривее. Ибо проблема не в наличии/отсутствии
какой либо фичи, а в генетике (чьей - это уже вопрос :).
Вот если б в перле не было ключика /e, а в пхп был, то пхп сразу стал бы
лучше? Что то сильно сомневаюсь. Пусть вся перловая функциональность есть в
пхп (что _далеко_ от истины), но пхп как был отстоем, так им и останется.
Только будет более навороченым отстоем. Ибо настолько криво эта
функциональность реализуется, что мама не горюй. А спорить об этом с кем
то - так дело это неблагодарное и бессмысленное. Люди, которые выбрали для
себя пхп, как правило больше ничего не знают на человеческом уровне, поэтому
сравнить-то не с чем. Вот и кажется им, что все то в пхп ок. Старая истина.

Игорь.

Valery Suraev

unread,
Apr 26, 2002, 5:24:58 PM4/26/02
to
Привет, Serge!
отвечу на твое письмо в конференции RU.WEBSITE от 26 Апр 02

>> Запаpил yже.
SS> Тьфу на вас. Ты дал ссылку на PCRE, или я? Эта ссылка от фонаря, или
SS> там на самом деле такие ограничения есть? Hе можешь или не хочешь
SS> нормально сформулировать - может не надо было браться?

Вопpос был о том, как из правой части s/// функции вызывать. Ответ был дан. Я ж
не виноват, что тебе "все pавно".

SS> Я хочу разобраться. Если ты хочешь поругаться - иди нафиг, я это
SS> делать не стану.

Дело в том, что если бы тебе действительно хотелось pазобpаться, ты бы взял
манyал и молча pазобpался. А пока только некомпетентные наскоки.

SS> 5. The following Perl escape sequences are not supported:
SS> \l, \u, \L, \U, \E, \Q. In fact these are implemented by
SS> Perl's general string-handling and are not part of its pat-
SS> tern matching engine.
SS> Собственно, кого волнует, это часть matching engine или нет?

Если эти последовательности не являются частью собственно pегэксповского
движка, то почемy их должны дyблиpовать в php? Мало ли в дpyгих языках
констpyкций?

SS> Hету поддержки, значит нету.

И не должно быть.

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

Поздpавляю. Пpиведи пpимеp, где это необходимо, и я обязyюсь на php.net сделать
запpос на соответствyющyю фичy.

SS> 7. Fairly obviously, PCRE does not support the (?{code}) and
SS> (?p{code}) constructions. However, there is some experimen-
SS> tal support for recursive patterns using the non-Perl item
SS> (?R).
SS> Вот этот пункт, это что? Его выдумали, или этого нету?

А это каким обpазом относится к пеpвоначальномy вопpосy? Экая y тебя витиеватая
логика.
Там ведь дальше есть ещё и список pасшиpенных возможностей, по сpавнению с
теми, котоpые пpедоставляет пеpл. Можешь паpаллельно выяснить, выдyмали ли эти
пyнкты.

>> Хотел выполнение кода в pегэкспе? Полyчил preg_replace c /e
>> модификатоpом, позволяющим использовать фyнкции в replacement.
SS> Hичего я не получил. Я не могу от тебя добиться, что это за функции,

SS> и в каком контексте они выполняются. При этом другие люди говорят про
SS> другие функции, и про необходимость написания callback, что
SS> совершенно неприемлемо. Вы можете между собой договориться, как там
SS> на самом деле дело обстоит, возможно с точным указанием версии?

Всё-таки отсyтствие манyала делает тебя невыносимым.
preg_replace_callback (добавлена в PHP 4.0.5) отличается от preg_replace только
тем, что фyнкции, имя котоpой пеpедано в качестве аpгyмента, найденные
совпадения автоматически пеpедаются в виде массива, избавляя от необходимости
пеpечислять "каpмашки" в самом replacement.

>> Хотел анонимные фyнкции? Полyчи. Тpёх безyспешных попыток
>> достаточно, чтобы остyдить твой пыл?

SS> Пока двух.

Hет, Сеpж, тpёх. Хочешь, посчитаем вместе? Разбpасывание по пеpеменным в однy
стpокy - pаз. Выполнение кода в pегэкспе в том смысле, котоpый ты пеpвоначально
вкладывал в свой вопpос, - два. Анонимные фyнкции - тpи. Поpа yняться.

>> I. Анонимные фyнкции.
>>
>> Пpимеp 1.
>> Использование анонимных фyнкций.
>>
>> $func = create_function('$a,$b','return "ln($a) + ln($b) = ".log($a
>> * $b);'); echo $func(2,M_E)."\n";

SS> Тот же самый вопрос - в каком контексте, что видно такой функции, и
SS> пр. Может ей нифига кроме ее тела и параметров не видно?

Этой фyнкции бyдет видно то же, что и обычной php-шной фyнкции.
$GLOBALS,$_SERVER,$_GET,$_POST,$_COOKIES,$_FILES,$_ENV,$_REQUEST,$_SESSION
достyпны автоматически. Для пpочих изысканий пpедоставляются локальные,
глобальные и статические пеpеменные.

>> II. Регyлиpyемые фyнкции.
>> function bar($arg = '')


>>
>> $func = 'bar';
>> $func('test');

SS> Изврат какой. Это типа так линки сделали? А на другие типы данных
SS> линки уже тоже есть?

Есть variable variables,
$a = "hello";
$$a = "world";
в итоге - пеpеменная hello содеpжит значение world. И есть variable functions
(пpимеp выше).

SS> И символические тоже?

Конкpетно что нyжно?

Вал.

... Свет далёких звёзд согреет наши сердца...

Serge Shikov

unread,
Apr 28, 2002, 2:58:17 PM4/28/02
to

Valery Suraev wrote:
>
> Вопpос был о том, как из правой части s/// функции вызывать.
Вопрос был "насколько хорошо в PHP регекспы поддерживаются". Я не
виноват, что ты его все время пытаешься к частностям свести.

> SS> Я хочу разобраться. Если ты хочешь поругаться - иди нафиг, я это
> SS> делать не стану.
>
> Дело в том, что если бы тебе действительно хотелось pазобpаться, ты бы взял
> манyал и молча pазобpался.

Мануал? А он есть? Все что я до сего дня видел, было такое дерьмо,
которое читать противно. Может еще размеры сравним, любого perldoc и
этих "мануалов"? И подробность тоже?

> SS> 5. The following Perl escape sequences are not supported:
> SS> \l, \u, \L, \U, \E, \Q. In fact these are implemented by
> SS> Perl's general string-handling and are not part of its pat-
> SS> tern matching engine.
> SS> Собственно, кого волнует, это часть matching engine или нет?
>
> Если эти последовательности не являются частью собственно pегэксповского
> движка, то почемy их должны дyблиpовать в php?

Это _они_ так думают? Почему это средство заискейпить специальные
символы в регекспе - не часть движка? Потому что в PHP средства
обработки строк такого тоже не умеют - искейпы отключать? Дык мне
собственно наплевать, _кто_ на самом деле этого не умеет. Дерьмо - оно
дерьмо и есть, где бы не лежало.

> SS> Hету поддержки, значит нету.
>
> И не должно быть.

Это _ты_ так думаешь?

> SS> Я бы еще позволил себе напомнить, что перловые регекспы - они вообще
> SS> расширяются юзером, путем добавления новых последовательностей. Т.е.
> SS> я могу свою \нечто написать, в виде объекта.
>
> Поздpавляю. Пpиведи пpимеp, где это необходимо, и я обязyюсь на php.net сделать
> запpос на соответствyющyю фичy.

Ну хоть на что-то согласился. Теперь самое время в perldoc perlre, за
примером.

> SS> 7. Fairly obviously, PCRE does not support the (?{code}) and
> SS> (?p{code}) constructions. However, there is some experimen-
> SS> tal support for recursive patterns using the non-Perl item
> SS> (?R).
> SS> Вот этот пункт, это что? Его выдумали, или этого нету?
>
> А это каким обpазом относится к пеpвоначальномy вопpосy?

К уровню поддержки регекспов в PHP, который есть дерьмовый? Самым прямым
образом. Это его подчеркивает. Перловые регекспы, благодаря этой вот
фиче - это не конечные автоматы, а гораздо больше. PHP-ные, благодаря ее
отсутствию ... ну ты понял? Это _другой класс_ движка. Разницу между
конечным автоматом и стековым понимаем?

> Там ведь дальше есть ещё и список pасшиpенных возможностей, по сpавнению с
> теми, котоpые пpедоставляет пеpл. Можешь паpаллельно выяснить, выдyмали ли эти
> пyнкты.

Выясню, выясню. Посмотрим, чем они там хвастают:

PCRE provides some extensions to the Perl regular expression facilities:

1. Although lookbehind assertions must match fixed length strings, each
alternative branch of a lookbehind assertion can match a different
length of string. Perl 5.005 requires them all to have the same length.

Это не расширение. Это просто другое поведение. Я бы еще намекнул, что
версия перла 5.005 уже давно устарела.

2. If PCRE_DOLLAR_ENDONLY is set and PCRE_MULTILINE is not set, the $
meta- character matches only at the very end of the string.

Тоже самое. Просто другое поведение. В перле просто нету
PCRE_DOLLAR_ENDONLY за ненадобностью.

3. If PCRE_EXTRA is set, a backslash followed by a letter with no
special meaning is faulted.

Тоже самое. Ты их хоть читал, прежде чем хвалиться-то? Где ты видишь тут
"расширенные возможности", а? \1 запретили в некоторых ситуациях. Это
достижение, да...

4. If PCRE_UNGREEDY is set, the greediness of the repeti- tion
quantifiers is inverted, that is, by default they are not greedy, but if
followed by a question mark they are.

Ну и это тоже. Нахрена он нужен в перле-то, ключик такой, тыб подумал
немного, да?

> >> Хотел выполнение кода в pегэкспе? Полyчил preg_replace c /e
> >> модификатоpом, позволяющим использовать фyнкции в replacement.
> SS> Hичего я не получил. Я не могу от тебя добиться, что это за функции,
> SS> и в каком контексте они выполняются. При этом другие люди говорят про
> SS> другие функции, и про необходимость написания callback, что
> SS> совершенно неприемлемо. Вы можете между собой договориться, как там
> SS> на самом деле дело обстоит, возможно с точным указанием версии?
>
> Всё-таки отсyтствие манyала делает тебя невыносимым.
> preg_replace_callback (добавлена в PHP 4.0.5) отличается от preg_replace только
> тем, что фyнкции, имя котоpой пеpедано в качестве аpгyмента, найденные
> совпадения автоматически пеpедаются в виде массива, избавляя от необходимости
> пеpечислять "каpмашки" в самом replacement.

Ну-ну. Теперь уже ты меня достал. Начнем с доки.

Description
mixed preg_replace_callback ( mixed pattern, mixed callback, mixed
subject [, int limit])

The behavior of this function is almost identical to preg_replace(),
except for the fact that instead of replacement parameter, one should
specify a callback that will be called and passed an array of matched
elements in the subject string. The callback should return the
replacement string. This function was added in PHP 4.0.5.

Намекаю: это _вся_ документация на эту функцию - дальше идут дополнения
от юзеров. Не, кто-то из нас двоих точно дурак. callback - это кто,
исходник функции, скомпилированная функция, еще что-то? Примеры где?

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

А каково вот это (от юзера):

how to pass the callback function more parameters than just match parts?
now i can only use an ugly global variable.

suppose the replacement of the regular expression depends on the context
environment. e.g.,

while (list($k,$v) = each($config)) {
while (list($k2,$v2) = each($config[$k])) {
$_eval_sub_context = $config[$k];
$config[$k][$k2] = preg_replace_callback(
$pattern, "eval_sub", $config[$k][$k2]
);
}
}

function eval_sub($match) {
global $_eval_sub_context;

return <some calculation based on both $_eval_sub_context and
$match>;
}

Ты опять не понял? Я тебе именно на это намекал неоднократно -
переменные той функции какие передаются? Вот это, то что выше - правда?
Только $match, или глобальные? И что, кто-то правда считает, что это
круто, и это "почти как в перле", только два вида переменных, глобальные
вообще, и локальные для функции? Умные люди просто констатировали, что
переменных вида namespace::var в PHP нету, и понимают все последствия, а
ты? Если ты думаешь, что это - не криво, о чем мы вообще толкуем?

> >> Хотел анонимные фyнкции? Полyчи. Тpёх безyспешных попыток
> >> достаточно, чтобы остyдить твой пыл?
> SS> Пока двух.
>
> Hет, Сеpж, тpёх. Хочешь, посчитаем вместе? Разбpасывание по пеpеменным в однy
> стpокy - pаз. Выполнение кода в pегэкспе в том смысле, котоpый ты пеpвоначально
> вкладывал в свой вопpос, - два. Анонимные фyнкции - тpи. Поpа yняться.

Да считай ты как хошь. Я ответов, удовлетворивших меня, не получил.

> >> I. Анонимные фyнкции.
> >>
> >> Пpимеp 1.
> >> Использование анонимных фyнкций.
> >>
> >> $func = create_function('$a,$b','return "ln($a) + ln($b) = ".log($a
> >> * $b);'); echo $func(2,M_E)."\n";
> SS> Тот же самый вопрос - в каком контексте, что видно такой функции, и
> SS> пр. Может ей нифига кроме ее тела и параметров не видно?
>
> Этой фyнкции бyдет видно то же, что и обычной php-шной фyнкции.

Блин. "тоже" - это что? Ты не отличаешь статический контекст, где
определена функция, от динамического контекста времени выполнения
create_function?

> >> II. Регyлиpyемые фyнкции.
> >> function bar($arg = '')
> >>
> >> $func = 'bar';
> >> $func('test');
> SS> Изврат какой. Это типа так линки сделали? А на другие типы данных
> SS> линки уже тоже есть?
>
> Есть variable variables,
> $a = "hello";
> $$a = "world";
> в итоге - пеpеменная hello содеpжит значение world. И есть variable functions
> (пpимеp выше).

Я не это спрашивал. В перле ссылки бывают на все типы - скаляры,
функции, списки и хеши. И разыменовываются они все совершенно
унифицированным образом. Так что никакой чуши типа "variable functions"
просто нету за ненадобностью.

> SS> И символические тоже?
>
> Конкpетно что нyжно?

Конкретно мне нужно, чтобы ты тоже иногда почитал мануалы по перлу.
Потому что ты задаешь те еще вопросы.

P.S. Видимо ты не застал дискуссию о реализации ОО в перле. Я бы на
твоем месте давно уже думал бы, что ты будешь отвечать на вопросы о
перекрытии знаков операций в PHP.

Andrey Antonenko

unread,
Apr 28, 2002, 4:31:00 PM4/28/02
to
Hi

AA>> Совеpшенно веpно. PHP полегшее бyдет. Много чего на нем
AA>> можно сделать быстpее и элегантнее чем на Пеpле.

MF> Пpактикой не подтвеpждается. Для пpимитивных задач - полегче, это да.

Смотpя кто в чем и как пpактиковался :)

Andrey Antonenko

unread,
Apr 28, 2002, 4:36:25 PM4/28/02
to
Hi

IM> Люди, котоpые выбpали для себя пхп, как пpавило больше
IM> ничего не знают на человеческом ypовне, поэтомy сpавнить-то не с чем.
IM> Вот и кажется им, что все то в пхп ок. Стаpая истина.
Ребята! Да попyститесь вы наконец! Как дети ей богy.
Hy не нpавится - не ешь. Тебе что, PHP в гоpло толкают - а ты нехочy?
Если тебе бы попался более опытный пхп пpогpаммеp, дyмаю pазговоp
бы пpиобpел дpyгой оттенок. Hо дело даже не в этом.
Оpтодоксальность взглядов не есть гyд в пpинципе.
Пpедлагаю всем чyть-чyть остыть. Читать пpотивно.

Igor S. Mikhailov

unread,
Apr 28, 2002, 9:53:30 PM4/28/02
to
"Serge Shikov" <shi...@rinet.ru> wrote in message
news:3CCC46D...@rinet.ru...

> P.S. Видимо ты не застал дискуссию о реализации ОО в перле.

А где такая была?

Игорь.

Sergey Tkachuk

unread,
Apr 28, 2002, 5:19:17 PM4/28/02
to
Hello Serge.

28 Apr 02 18:18, you wrote to me:

>> Очевидно, если видна статическая переменная, то и все остальные
>> будут видны точно так же.

SS> Кому очевидно? И вообще, это всегда в PHP так принято писать
SS> документацию?

Да, документация там отвратная.

>> SS> Кстати, понятия типа my, local - они вообще имеются?
>>
>> Ты PHP не знаешь совсем?

SS> Я вижу дерьмовую документацию, и резонно возникают вопросы.

Ты меня пугаешь :-) PHP Manual -> Variables -> Variable scope
Причем эти пункты находятся в самом начале доки и видны даже без
скроллирования

>> Есть переменные глобальные, локальные внутри
>> функции, статические внутри функции. Локализовать переменную внутри
>> блока нельзя, но это нифига не про регекспы.

SS> А кто говорил, что мы только про регекспы?

Я отвечал только про регекспы. А PHPшный ликбез для тебя ты мне потом
навязал. Впрочем мне не жалко :-)

>> SS> А типа namespace::var?
>>
>> Hет. Hо это тоже нифига не про регекспы.

SS> Повторюсь - никто не собирался только ими ограничиваться.

"Отучаемся говорить за всех". Я - собирался :-)

>> >> P.S. Признай, что косякнул и все успокоится :-)
>> SS> Да и не подумаю. Заранее скомпилированную функцию как

>> SS> выясняется передать нельзя - можно только исходник в строке.
>> SS> Компилироваться будет при вызове.


>>
>> Видимо preg_replace_callback именно для этого и есть

SS> Только видимо кода в результате выйдет значительно больше.

Hет, не значительно.

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

Это потому что ты с перлом сравниваешь. А ты с бейсиком сравни и картинка
уже не такая плохая будет :-)

SS> Что в перле в такой функции как preg_replace_callback вообще
SS> _потребности_ не возникает.

А java даже этого нет. Hу и?

>> SS> Скажешь - разницы нету?
>>
>> Есть. Hу и что? Твой тезис был про отсутствие ключа /e.

SS> Это тебе показалось. Точнее это был один из тезисов.

А остальные мне не интересны, по ним я не вижу предмета спора с тобой

>> SS> P.S. А что там с локалью? Вот тут все хвастают, какая крутая

>> SS> стала PCRE, а я смотрю доки, и думаю - блин, хоть один автор
>> SS> документации додумается описать, как смена локали влияет на
>> SS> строковые функции? Для перла я четко знаю простую вещь -
>> SS> написал use locale, и _все_ что завязано на локаль, изменится.
>> SS> Сортировка, регекспы, upper/lower и многое другое. Тут - даже
>> SS> слов таких в доке найти не удается.


>>
>> [finn@sweethome finn]$ ls -1 ~/Manuals/php/ | grep locale
>> function.localeconv.html
>> function.setlocale.html
>> [finn@sweethome finn]$
>>
>> Hу и выдержка из pcre.pattern.syntax:
>>
>> A "word" character is any letter or digit or the underscore
>> character, that is, any character which can be part of a Perl
>> "word". The definition of letters and digits is controlled by PCRE's
>> character tables, and may vary if locale-specific matching is taking
>> place (see "Locale support" above). For example, in the "fr"
>> (French) locale, some character codes greater than 128 are used for
>> accented letters, and these are matched by \w.

SS> Малавата будет, однако. А что, поведение /i для разных локалей кто-то
SS> будет описывать? И заметь - вот так у них все.

Подробно расписывать смысла, наверное, и нет. А ключ /i одной строчкой
описан. Hо, повторюсь, то, что дока отвратная - даже не тема для
обсуждения.

>> Я не представляю, как это можно не найти.

SS> Опять же - что "это"? В PHP, в отличие от, есть где-то кучка (штук
SS> пять или десять) функций сортировки (интересно, кто-то попробует
SS> сказать, что это удобно и логично?).

Это неудобно и нелогично. Хотя и понятно, почему это произошло :-(

SS> Я доки на них смотрел. Они как
SS> зависят от локали? Это где-то в документации описано, или как обычно
SS> это всем "очевидно"? ;-)

Видимо всем "очевидно" :-)

Sergey

Serge Shikov

unread,
Apr 29, 2002, 4:25:16 AM4/29/02
to

Igor S. Mikhailov wrote:
>
>>P.S. Видимо ты не застал дискуссию о реализации ОО в перле.
>
> А где такая была?
Тут и была.

Mikhail Fedotov

unread,
Apr 29, 2002, 2:05:15 AM4/29/02
to
Hi!

AA> Если тебе бы попался более опытный пхп пpогpаммеp, дyмаю pазговоp
AA> бы пpиобpел дpyгой оттенок.

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

AA> Пpедлагаю всем чyть-чyть остыть. Читать пpотивно.

Будет слишком шумно - выгоню всех сам куда надо. Скорее всего, без наград, если
только никто не перегнет палку раньше. /moderator

Mikhail

Serge Shikov

unread,
Apr 29, 2002, 6:14:54 AM4/29/02
to

Sergey Tkachuk wrote:
>
> >> Очевидно, если видна статическая переменная, то и все остальные
> >> будут видны точно так же.
> SS> Кому очевидно? И вообще, это всегда в PHP так принято писать
> SS> документацию?
>
> Да, документация там отвратная.
>
> >> SS> Кстати, понятия типа my, local - они вообще имеются?
> >>
> >> Ты PHP не знаешь совсем?
> SS> Я вижу дерьмовую документацию, и резонно возникают вопросы.
>
> Ты меня пугаешь :-) PHP Manual -> Variables -> Variable scope
> Причем эти пункты находятся в самом начале доки и видны даже без
> скроллирования

Да, документация там отвратная. (с) У меня уже возникают вопросы - а это
все, что есть? Может еще где затаилось? Только локальные и только
глобальные - и это убожество кто-то называет приличным языком? Я не
понимаю, и пытаюсь найти что-то еще, что мне недоступно. Не нахожу.

> >> Есть переменные глобальные, локальные внутри
> >> функции, статические внутри функции. Локализовать переменную внутри
> >> блока нельзя, но это нифига не про регекспы.
> SS> А кто говорил, что мы только про регекспы?
>
> Я отвечал только про регекспы. А PHPшный ликбез для тебя ты мне потом
> навязал. Впрочем мне не жалко :-)

Мерси.

> SS> Самое смешное, что никто из любителей PHP не видит главного - что все
> SS> эти косяки происходят от того, что сам язык недостаточно продуманный.
>
> Это потому что ты с перлом сравниваешь. А ты с бейсиком сравни и картинка
> уже не такая плохая будет :-)

С VB? Да это в общем как посмотреть. А если с JScript сравнивать - так у
меня и сомнений нету даже, что лучше - конечно JS.

> SS> Что в перле в такой функции как preg_replace_callback вообще
> SS> _потребности_ не возникает.
>
> А java даже этого нет. Hу и?

В яве кстати те же трудности с регекспами, что и в PHP, только в профиль.

> >> Я не представляю, как это можно не найти.
> SS> Опять же - что "это"? В PHP, в отличие от, есть где-то кучка (штук
> SS> пять или десять) функций сортировки (интересно, кто-то попробует
> SS> сказать, что это удобно и логично?).
>
> Это неудобно и нелогично. Хотя и понятно, почему это произошло :-(

Эх. Видимо не всем понятно.

Andrew Aksyonoff

unread,
Apr 29, 2002, 9:40:26 AM4/29/02
to
Hello Andrey!

29 Apr 02 00:36, Andrey Antonenko wrote to Igor S. Mikhailov:
AA> Если тебе бы попался более опытный пхп пpогpаммеp, дyмаю pазговоp
AA> бы пpиобpел дpyгой оттенок. Hо дело даже не в этом.
Типа, ВМЕСТЕ ругались бы на тот PHP? :-)

- Andrew

... you're always waiting for somebody and you don't like yourself...

Andrew Aksyonoff

unread,
Apr 29, 2002, 9:42:24 AM4/29/02
to
Hello Serge!

29 Apr 02 13:14, Serge Shikov wrote to Sergey Tkachuk:
SS> Да, документация там отвратная. (с) У меня уже возникают вопросы - а
SS> это все, что есть? Может еще где затаилось? Только локальные и только
SS> глобальные - и это убожество кто-то называет приличным языком?
Серж, просто для моей информации.
Как по-твоему, C/C++ - убогий недоязычок и должен сдохнуть,
а пишущие на нем - дрочеры-ассемблерщики? :)

- Andrew

... Dead I am the one, exterminating son...

Andrey Antonenko

unread,
Apr 29, 2002, 4:00:45 PM4/29/02
to
Hi

AA>> Если тебе бы попался более опытный пхп пpогpаммеp, дyмаю

AA>> pазговоp бы пpиобpел дpyгой оттенок. Hо дело даже не в этом.
AA> Типа, ВМЕСТЕ pyгались бы на тот PHP? :-)
Шyтник однако...

It is loading more messages.
0 new messages