[room] новички

Денис Смирнов =?iso-8859-1?q?mithraen_=CE=C1_altlinux=2Eru?=
Пн Окт 23 12:08:13 MSD 2006


On Mon, Oct 23, 2006 at 02:20:00AM +0500, Aleksey Korotkov wrote:

>  AK>> Т.е. ты мне предлагаешь выбрать: либо я псих, либо не могу
>  AK>> написать AK> чистый код на PHP. Славная альтернатива :) AK> В
>  AK>> качестве примера чистого кода AK> <?php AK> print "Hello,
>  AK>> World!"; AK> ?> AK> сгодится? :)
>> Садись, два.
>> Первое -- чем обосновано использование здесь print?
AK> Лучше ты обоснуй, что его нельзя здесь использовать.

Можно. Можно вообще написать:
print "H"."e"."l"."l" и т.д.

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

>> Второе --
>> конкретно данная конструкция будет _более_ читаема в формате:
>> <?="Hello, World!"?> 
AK> Садись, кол. Эта конструкция работает только когда директива
AK> short_open_tag установлена в on. Если я напишу код на PHP, могу ли я
AK> быть уверенным, что на том сервере, где он будет использоваться, это
AK> именно так? Скорее всего да, но можно ли быть уверенным на 100%? Про
AK> более читаема -- это вообще чистейший субъективизм. Для тебя -- более
AK> читаема, для меня -- нет.

На 100% вообще ни в чем нельзя быть увереным.

AK> Далее. То, что ты написал, не более, чем сокращённый синтаксис вот
AK> этого:
AK> <?php
AK> echo "Hello, World!";
AK> ?>
AK> И print и echo в PHP -- не функции, а конструкции языка. Прежде чем
AK> ставить другим двойки, сначала прочти сам хотя бы оф. документацию.
AK> Итак, тебе второй кол.

То что ты написал здесь я прекрасно знаю.

>> А ещё более, в формате:
>> Hello, World!

 AK> [ziga на dhcppc0 php]$ cat hello.php
 AK> <?
 AK> Hello, World!
 AK> ?>
 AK> [ziga на dhcppc0 php]$ php hello.php
 AK> PHP Parse error:  syntax error, unexpected ','
 AK> in /home/ziga/work/php/hello.php on line 2
 AK> Садись, тебе третий кол.

Где ты в моем тексте увидел <? / ?> ? Я написал ровно то, что хотел.

>> Ибо использование операторов вывода за пределами циклов и
>> условныхвыражений в PHP -- дурной тон. 
AK> Обоснуй.

Объясняю. Если есть две конструкции с одинаковой производительностью, но
одну из них заведомо проще читать, какую из них _надо_ использовать?

Собственно это такой же дурной тон как и отсутствие indent.

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

>> А теперь попробуй написать
>> что-нибудь эдак... на тысячу строк кода. Идоказать что это чистый
>> код. 
AK> У тебя, видимо, какое-то своё понимание понятия "чистоты кода".

Чистый код, это в котором человек знающий язык, но ни знающий ни тебя, ни
что этот код делает, разберется за минимально возможное время.

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

Не. Я не меряюсь крутизной. Я просто говорю что есть методика, которая
раобтает хорошо. И дает значимые преимущества.

>> Если серьезно -- для Web языков сейчас нет.
AK> Ну и что теперь -- сидеть и разводить руками? Идеальных инструментов
AK> никогда не дождёмся -- их не бывает по природе. Берём, что есть и пишем.

А я спорю?

>> Низкоуровневость. PHP слишком низкоуровневый для своей задачи.
AK> Другие языки высокого уровня ещё более низкоуровневые для своих задач,
AK> чем PHP для своих. Потому аналогия для меня остаётся странной. 

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

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Чем более сложна и совершенна программа, тем более неточные результаты она
выдает.



Подробная информация о списке рассылки smoke-room