|
ru.website- RU.WEBSITE ------------------------------------------------------------------- From : Eugene A Belousov 2:5034/1 14 Mar 2001 20:47:19 To : All Subject : Re: Формирование картинки -------------------------------------------------------------------------------- > From: Serge Shikov <shikov@rinet.ru> > > Eugene A Belousov wrote: > > > > > > > > > > Hо набор закорючек, оказывающийся программой, несколько > > отталкивает, > > > > > > > > в то время как php позволяет решать большинство повседневных > > задач. > > > > > > > М-м-м, закорючки - это в первую очередь _твой_ стиль. > > > > > > Может быть, но все-таки, чем компактнее и лаконичнее код, > > > > > > тем больший объем комментирования ему требуется. > > > > > Так тебя же язык не заставляет писать лаконично. Он это _позволяет_. > > > > Структура языка к этому подталкивает. > > > Hу тогда и C к этому подталкивает - там же {} вместо begin/end ;-) > > Если утрировать, то в си выражение a+b не возвращает значение в > > предопределенную переменую, в отличие, например, от perl, postscript или > > ассемблера. > Ага. И это очень плохо! А зачем это нужно? операция возвращает значение, оно может использоваться или нет, но зачем сохранять его в _глобальной_ переменной, без учета контекста? Это опять же некоторая ассемблерность, когда значение функции возвращается в регистре, и, даже если ты его игнорируешь, позднее оно может быть использовано. Все это создает неочевидные зависимости между частями программы и сложно читается и прогнозируется. Стиль программирования "спагетти"? > > > А {} роли не играют, так как при нормальном стиле программирования > > роль "визуальной" граница блока играет отступ ;) > Hо тогда ты вообще говоришь о семантике - потому что возврат значения - > это она самая. > > > > > Как его синтаксис, так и идеология выглядит несколько необычно для > > > > традиционного процедурного языка. > > > Синтаксис у него чисто сишный, плюс регулярные выражения + кое-что из > > > шелла. Чего необычного-то? Аналогичный синтаксис еще у десятка языков > > > наблюдается - EXEC, EXEC 2, sh, ksh и прочие. Все совершенно > > > процедурные, даже без примесей. > > Да? > > > while (<>) {...} > чисто сишный синтаксис while, а что? конечно, только какие операнды принимает операция <>? Переменные по умолчанию? Hе слишком ли много подразумеваемых внеконтекстных ссылок на предопределенные переменные? И как контролировать побочные эффекты? > > > ---------------- > > /^Subject:/ > регулярное выражение. У них свой синтаксис, совершенно отдельный. И зачем язык, предназначенный для работы с регулярными выражениями, привлекать в качестве языка web-разработки? > > > ---------------- > > tr/a-z/A-Z/ > снова регулярное выражение. А что, ты бы предпочел > translate(/a-z/,/A-Z/)? Да. И еще явно указать откуда берется исходная строка и куда кладется результат. >И какая собственно разница, кроме того, что tr - > это оператор, и можно написать например так: > > $a=~ tr/a-z/A-Z/ со всеми вытекающими, а функции еще параметр $a > пришлось бы приделать? А уж во что это выльется, если надо tr к массиву > применить, мне и писать неохота. У тебя это выльется в цикл, очевидно. Отнюдь не обязательно. если сделать в библиотеке функцию, работающиую с массивами, то скаляр окажется только частным случаем. > > > print "$`:$&:$'\n"; # prints abc:def:ghi > > ---------------- > Три специальные переменные. Ты бы предпочел три длинных имени функции? Конечно. Проще воспринимать человеческие имена, а не `&' Транслятору-то все равно, а человеку - нет. > > > > > это какой синтаксис? сишный? > Да, в помеси с sh для имен переменных. Чего сложного-то? Все что > начинается с $, % и @ - переменные, это что, сложно запомнить? Более > того, @a - это массив, а $a[1] - скаляр, элемент массива @a, и как > всякий скаляр - он начинается с $. Весьма логично, если подумать. Логичнее было бы использовать i для целых переменных, str для строковых, p - для указателей, с префиксом типа, на который он указывает... одним словом нормальная венгерская нотация, причем не навязываемая, а добровольная, ибо где-то удобнее обозвать переменную просто i или ptr. -- Евгений А Белоусов, media@kosnet.ru --- Microsoft Outlook Express 5.50.4133.2400 * Origin: Kostroma Telegraph & Telephone station (2:5034/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.website/12050b6725f30.html, оценка из 5, голосов 10
|