Главная страница


ru.website

 
 - RU.WEBSITE -------------------------------------------------------------------
 From : Serge Shikov                         2:5020/400     14 Mar 2001  12:30:03
 To : All
 Subject : Re: Формирование картинки
 -------------------------------------------------------------------------------- 
 
 Eugene A Belousov wrote:
 
 > 
 > > > > > > > Hо набор закорючек, оказывающийся программой, несколько
 > отталкивает,
 > > > > > > > в то время как php позволяет решать большинство повседневных
 > задач.
 > > > > > > М-м-м, закорючки - это в первую очередь _твой_ стиль.
 > > > > > Может быть, но все-таки, чем компактнее и лаконичнее код,
 > > > > > тем больший объем комментирования ему требуется.
 > > > > Так тебя же язык не заставляет писать лаконично. Он это _позволяет_.
 > > > Структура языка к этому подталкивает.
 > > Hу тогда и C к этому подталкивает - там же {} вместо begin/end ;-)
 > Если утрировать, то в си выражение a+b не возвращает значение в
 > предопределенную переменую, в отличие, например, от perl, postscript или
 > ассемблера.
 
 Ага. И это очень плохо!
 
 > А {} роли не играют, так как при нормальном стиле программирования
 > роль "визуальной" граница блока играет отступ ;)
 
 Hо тогда ты вообще говоришь о семантике - потому что возврат значения -
 это она самая.
  
 > > > Как его синтаксис, так и идеология выглядит несколько необычно для
 > > > традиционного процедурного языка.
 > > Синтаксис у него чисто сишный, плюс регулярные выражения + кое-что из
 > > шелла. Чего необычного-то? Аналогичный синтаксис еще у десятка языков
 > > наблюдается - EXEC, EXEC 2, sh, ksh и прочие. Все совершенно
 > > процедурные, даже без примесей.
 > Да?
 > ----------------
 > die "Can't cd to spool: $!\n" unless chdir '/usr/spool/news';
 
 Это единственное кривое место, которое мне самому не нравится -
 возможность переставлять условие и действие в if/unless. Впрочем, никто
 не заставляет - перепиши как:
 
 if(!chdir('/usr/spool/news')) die "Can't cd to spool: $!\n";
 
 > ----------------
 > while (<>) {...}
 
 чисто сишный синтаксис while, а что?
 
 > ----------------
 > /^Subject:/
 
 регулярное выражение. У них свой синтаксис, совершенно отдельный.
 
 > ----------------
 > tr/a-z/A-Z/
 
 снова регулярное выражение. А что, ты бы предпочел
 translate(/a-z/,/A-Z/)? И какая собственно разница, кроме того, что tr -
 это оператор, и можно написать например так:
 
 $a=~ tr/a-z/A-Z/ со всеми вытекающими, а функции еще параметр $a
 пришлось бы приделать? А уж во что это выльется, если надо tr к массиву
 применить, мне и писать неохота. У тебя это выльется в цикл, очевидно.
 
 > ----------------
 > $_ = 'abcdefghi';
 > /def/;
 
 И опять оно же. Причем это легко можно записать в более читабельном
 виде, особенно если понять идею, которая из данного контекста
 неочевидна.
 
 > print "$`:$&:$'\n";         # prints abc:def:ghi
 > ----------------
 
 Три специальные переменные. Ты бы предпочел три длинных имени функции?
 
 > 
 > это какой синтаксис? сишный?
 
 Да, в помеси с sh для имен переменных. Чего сложного-то? Все что
 начинается с $, % и @ - переменные, это что, сложно запомнить? Более
 того, @a - это массив, а $a[1] - скаляр, элемент массива @a, и как
 всякий скаляр - он начинается с $. Весьма логично, если подумать.
 
 Все дело в том, что эти все примеры - в основном изврат, для
 демонстрации возможностей.
 --- ifmail v.2.15dev5
  * Origin: home (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Формирование картинки   Serge Shikov   14 Mar 2001 12:30:03 
Архивное /ru.website/2825e9290c6b.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional