[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