Discussion:
Perl
(слишком старое сообщение для ответа)
Dmitry Radishev
2004-05-11 07:21:46 UTC
Permalink
Hi, Ilyak!
совсем то же, что легкость написания своей первой (и возможно
единственной) программы на новом языке.
IK> По секрету скажу - писать сверхкраткий и сверхobfuscated код никто не
IK> заставляет, тем более - сразу.

По секрету скажу - _простой_ код в перле писать просто не получается.
Синтаксис мешает.
тех, для которых и command.com хватило бы.
IK> Я книжку даже не читал - использовал как пособие.
IK> А писал я простенькие скрипты - там CGI с DBI... Заодно и SQL освоил.

Если ты _не читая книжку_ "сел и начал писать на перле", с нуля, без
подготовки - то ты супермегакрут, а поэтому - не трогай нас, простых смертных
:-)

All the best //DiBR [TEAM ВСЕ МАСТДАЙ] [шестая базовая]
[http://dibr.nnov.ru]
Ilyak Kaznacheev
2004-05-11 19:12:50 UTC
Permalink
Logged on as Ilyak(Online)
Post by Dmitry Radishev
совсем то же, что легкость написания своей первой (и возможно
единственной) программы на новом языке.
IK> По секрету скажу - писать сверхкраткий и сверхobfuscated код никто не
IK> заставляет, тем более - сразу.
По секрету скажу - _простой_ код в перле писать просто не получается.
Синтаксис мешает.
Хм?
$a = 5;
$b = 4;
print "a + b = ", $a + $b, "\n";

Чего, собственно, мешает-то?

Я понимаю, там, рисование таблиц разных с помощью CGI - там да,
интересные вещи встречаются, но не везде же!..
Post by Dmitry Radishev
тех, для которых и command.com хватило бы.
IK> Я книжку даже не читал - использовал как пособие.
IK> А писал я простенькие скрипты - там CGI с DBI... Заодно и SQL освоил.
Если ты _не читая книжку_ "сел и начал писать на перле", с нуля, без
подготовки - то ты супермегакрут, а поэтому - не трогай нас, простых смертных
:-)
Никакоя не супер я мегакрут, просто начинал с малого, постепенно
осваивал более сложные вещи по мере надобности, и все.

Для написание простеньких цги-скриптов - там вообще ничего знать не
надо, на деле...
--
Not logged on. Reconnecting..........
Sergey Gladilin
2004-05-12 04:51:51 UTC
Permalink
Добро!

IK> Хм?
IK> $a = 5;
IK> $b = 4;
IK> print "a + b = ", $a + $b, "\n";

Недостаток перла - в поощрении трюков. Т.е. я не спорю даже, что полному нулю
в программировании выражение вида

while (<>) {
chop;
print;
}

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

Другое дело - программисты на sed и awk. Вот им perl - милое дело :-)

Сергей Гладилин ***@westra.ru ICQ: 328498123
Ilyak Kaznacheev
2004-05-12 05:15:23 UTC
Permalink
Logged on as Ilyak(Online)
Post by Sergey Gladilin
IK> Хм?
IK> $a = 5;
IK> $b = 4;
IK> print "a + b = ", $a + $b, "\n";
Недостаток перла - в поощрении трюков. Т.е. я не спорю даже, что полному нулю
в программировании выражение вида
while (<>) {
chop;
print;
}
while ($a = <STDIN>)
{
chop $a;
print $a;
}
Не хуже, зато все понятно.
Выбирай!
Post by Sergey Gladilin
выглядит ясно и понятно - прочитали отрезали, напечатали... Но вот объяснить
программисту средней квалификации с опытом программрования на классических
языках, как это все работает - штука непростая - сразу переходишь ко всяким $_
и т.д. А уж модифицировать чужой код, в котором данные между операторами
неявно передаются внутри этих самых $_ ему и вовсе будет трудно...
Другое дело - программисты на sed и awk. Вот им perl - милое дело :-)
:) Ну да. И наоборот, кстати.
--
Not logged on. Reconnecting..........
Eugene Grosbein
2004-05-12 05:45:57 UTC
Permalink
11 май 2004, вторник, в 22:13 KRAST, Dmitry Radishev написал(а):

DR> Язык, залазящий без спросу _внутрь кавычек_ - плохой, нехороший язык. Ибо
DR> -
DR> нелогичен: в кавычках во всем мире задаются _константы_, и _только_ перл
DR> имеет
DR> наглость залазить внутрь того, что интуитивно воспринимается как
DR> константа, и
DR> изменять это.

Сразу видно, что паскаля ты не знаешь. Либо намеренно передергиваешь,
но не хочется сразу так плохо думать. Перл тоже не залезает внутрь
строковых констант, только они в нем как в паскале, внутри апострофов.

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

Чем тебе не нравятся регулярные выражения - раз, и куда вдруг делись
все остальные функции работы со строками - два?

Eugene
--
"Люди забыли эту истину," - сказал Лис, - "но ты не забывай"
vassily ragosin
2004-05-12 12:32:07 UTC
Permalink
hi, Eugene!

EG> Сразу видно, что паскаля ты не знаешь. Либо намеренно
EG> передергиваешь, но не хочется сразу так плохо думать. Перл тоже не
EG> залезает внутрь строковых констант, только они в нем как в паскале,
EG> внутри апострофов.

давно уже выяснил для себя, что хороших языков программирования на букву "п"
не бывает :)

keep cool,

vr
Igor Ivanov
2004-05-12 20:20:21 UTC
Permalink
Post by Eugene Grosbein
Сразу видно, что паскаля ты не знаешь. Либо намеренно передергиваешь,
но не хочется сразу так плохо думать. Перл тоже не залезает внутрь
строковых констант, только они в нем как в паскале, внутри апострофов.
Выяснил для себя, что хороших языков программирования на букву "п" не бывает
Пролог! :-)

У меня длинная ставка на форексе, хотел жене сапоги купить.
Eugene Grosbein
2004-05-13 05:34:06 UTC
Permalink
12 май 2004, среда, в 16:32 KRAST, vassily ragosin написал(а):

EG>> Сразу видно, что паскаля ты не знаешь. Либо намеренно
EG>> передергиваешь, но не хочется сразу так плохо думать. Перл тоже не
EG>> залезает внутрь строковых констант, только они в нем как в паскале,
EG>> внутри апострофов.
vr> давно уже выяснил для себя, что хороших языков программирования на букву
vr> "п"
vr> не бывает :)

Как все запущено... Пролог, питон - это навскидку :-)

Eugene
--
"Люди забыли эту истину," - сказал Лис, - "но ты не забывай"
vassily ragosin
2004-05-13 03:14:31 UTC
Permalink
hi, Eugene!

vr>> давно уже выяснил для себя, что хороших языков программирования на
vr>> букву "п" не бывает :)

EG> Как все запущено... Пролог, питон - это навскидку :-)

хм. запущено, но не всё и не так. :)
питон меня смущает жесткими требованиями к форматированию исходного кода.

а пролог -- это что-то юзающее стек-модель в синтаксисе направо и налево,
да? так есть и другой, единственно приличный язык программирования на букву
"п", который тоже концепцию стека использует, но у него весьма специфическая
область применения, несмотря на его огромную распространённость, и он
вообще-то мягко говоря не совсем для того, чтобы на нём живые люди программы
писали :)

keep cool,

vr
в ушах: Lambchop - Sunrise
Eugene Grosbein
2004-05-13 20:45:56 UTC
Permalink
13 май 2004, четверг, в 07:14 KRAST, vassily ragosin написал(а):

vr>>> давно уже выяснил для себя, что хороших языков программирования на
vr>>> букву "п" не бывает :)

vr> так есть и другой, единственно приличный язык программирования на букву
vr> "п"

Hу так ты там между собой разберись, есть или нет :-)

Eugene
--
"Люди забыли эту истину," - сказал Лис, - "но ты не забывай"
vassily ragosin
2004-05-13 18:14:09 UTC
Permalink
hi, Eugene!

vr>>>> давно уже выяснил для себя, что хороших языков программирования
vr>>>> на букву "п" не бывает :)

vr>> так есть и другой, единственно приличный язык программирования на
vr>> букву "п"

EG> Hу так ты там между собой разберись, есть или нет :-)

да есть, есть, постскрипт называется, но это только исключение, призванное
подтверждать правило (ой, как много слов на букву "п" подряд. ой, опять...
:)

keep cool,

vr
в ушах: Namgar -
Valentin Davydov
2004-05-13 19:50:19 UTC
Permalink
Date: Thu, 13 May 2004 07:14:31 +0400
vr>> давно уже выяснил для себя, что хороших языков программирования на
vr>> букву "п" не бывает :)
EG> Как все запущено... Пролог, питон - это навскидку :-)
хм. запущено, но не всё и не так. :)
питон меня смущает жесткими требованиями к форматированию исходного кода.
а пролог -- это что-то юзающее стек-модель в синтаксисе направо и налево,
да? так есть и другой, единственно приличный язык программирования на букву
"п", который тоже концепцию стека использует, но у него весьма специфическая
область применения, несмотря на его огромную распространённость, и он
Это вполне универсальный язык. На нём можно делать всё, что угодно,
от расчёта строительных конструкций методом конечных элементов
и до http-сервера. В частности, и задачу, с которой тред начался.
вообще-то мягко говоря не совсем для того, чтобы на нём живые люди программы
писали :)
Тот факт, что виндовый драйвер этого языка не в состоянии выдать осмысленную
программу - это проблемы виндового драйвера, а не языка.

Вал. Дав.
vassily ragosin
2004-05-14 01:33:15 UTC
Permalink
hi, Valentin!

VD> Это вполне универсальный язык. Hа нём можно делать всё, что угодно,
VD> от расчёта строительных конструкций методом конечных элементов и до
VD> http-сервера. В частности, и задачу, с которой тред начался.

я чёто читал когда-то на k5 про пролог. у меня не встало.
Post by vassily ragosin
вообще-то мягко говоря не совсем для того, чтобы на нём живые люди
программы писали :)
VD> Тот факт, что виндовый драйвер этого языка не в состоянии выдать
VD> осмысленную программу - это проблемы виндового драйвера, а не языка.

да не, вполне в состоянии, почему же...

keep cool,

vr
в ушах: Ilya - Bellissimo
Arsen Zakirov
2004-06-12 13:11:23 UTC
Permalink
От всей души приветствую тебя глубокоуважаемый, vassily.
13 May 04 07:14, vassily ragosin писал товарищу Eugene Grosbein:

vr> хм. запущено, но не всё и не так. :)
vr> питон меня смущает жесткими требованиями к форматированию исходного
vr> кода.

Твои проблемы. Hа вкус и цвет, как говорится...

vr> а пролог -- это что-то юзающее стек-модель в синтаксисе направо и
vr> налево, да?

Hет! Hе путай prolog с forth и с post script. ПРОЛОГ - (вдумайся в слово)
ПРОграммирование ЛОГическое, тексты на языке записываются в виде фактов и
правил, и представляют собой логику предикатов первого и второго порядка.

vr> так есть и другой, единственно приличный язык
vr> программирования на букву "п", который тоже концепцию стека
vr> использует, но у него весьма специфическая область применения,
vr> несмотря на его огромную распространённость, и он вообще-то мягко
vr> говоря не совсем для того, чтобы на нём живые люди программы писали :)

Ты о post script?
Кстати, он, активно использовался для создания интерфейса между клиентами и
серверами графических оболочек под юникс (типа X-window), и использовался как
язык для написания GUI-программ. Так что в том, что язык этот не для людей ты
не прав. Я уверен, что применения постскрипта в качестве языка программирования
гораздо шире.

С уважением,
Арсен aka morf[e]us
Alexander Starostin
2004-05-13 07:30:06 UTC
Permalink
Hello, dear vassily !

vr> давно уже выяснил для себя, что хороших языков программирования на букву
vr> "п" не бывает :)
Python ?

Have a nice day!
Valentin Davydov
2004-05-13 19:50:15 UTC
Permalink
Date: Wed, 12 May 2004 16:32:07 +0400
EG> Сразу видно, что паскаля ты не знаешь. Либо намеренно
EG> передергиваешь, но не хочется сразу так плохо думать. Перл тоже не
EG> залезает внутрь строковых констант, только они в нем как в паскале,
EG> внутри апострофов.
давно уже выяснил для себя, что хороших языков программирования на букву "п"
не бывает :)
А как же pike? ;-)

Вал. Дав.
Arsen Zakirov
2004-06-12 12:44:19 UTC
Permalink
От всей души приветствую тебя глубокоуважаемый, vassily.
12 May 04 16:32, vassily ragosin писал товарищу Eugene Grosbein:

vr> давно уже выяснил для себя, что хороших языков программирования на
vr> букву "п" не бывает :)

Hе задумываясь:
-pascal;
-perl;
-python;
-prolog;
-pl/2;
-PHP;
-post script;
-pike;

С уважением,
Арсен aka morf[e]us

Dmitry Radishev
2004-05-12 17:17:54 UTC
Permalink
Hi, Eugene!

Wednesday May 12 2004 09:45, Eugene Grosbein wrote to Dmitry Radishev:

DR>> язык. Ибо - нелогичен: в кавычках во всем мире задаются
DR>> _константы_, и _только_ перл имеет наглость залазить внутрь того,

EG> Сразу видно, что паскаля ты не знаешь.

С паскалем я "знаком" - когда-то давно писал небольшие программки. Там (как и
в некоторых других языках) действительно в качестве ограничителей строковых
констант используются не кавычки а апострофы. Что, впрочем, не меняет сути
дела.

EG> Либо намеренно передергиваешь,
EG> но не хочется сразу так плохо думать.

А вот с этого момента поподробнее: паскаль разве позволяет подобный трюк -
залазить "внутрь" ну, тех же кавычек (раз константы в апострофах)? Мне что-то
не припоминается ничего подобного.

EG> Перл тоже не залезает внутрь строковых констант, только они в нем как
EG> в паскале, внутри апострофов.

Угу. Проблема в том, что в том "руководстве для начинающих", глядя на котрое я
пытался начинать писать на перле, с места в карьер использовались кавычки
(видимо как "более универсальный" чем апострофы метод задания строки). Которые
(кавычки) я _воспринял_ как ограничитель константной строчки, и попытался
начать писать. О том, что кавычки - не константа, я узнал только тогда, когда
полез выяснять, почему не работает написанное.
Да - "плохое руководство, плохо читаешь, и вообще сам виноват". Hо в
_правильных_ языках при изучении должны возникать _другие_ проблемы! Hе
"написал а оно взорвалось и отформатировало диск, и хрен знает почему" (да
потому, что в языке с таким "свободным" синтаксисом написать что-то
синтаксически ошибочное довольно сложно, а поведение даже с виду очевидных
операторов может оказаться взрывоопасным из-за трюкаческого синтакисиса языка),
а "а почему оно мне ругается, вроде же правильно написано" (то есть, язык
должен не поощрять ошибки (и подсовывать свои собственные глюки в случае если
программист не насажал своих), а обнаруживать их, и предупреждать о них
программиста).

All the best //DiBR [TEAM ВСЕ МАСТДАЙ] [шестая базовая]
[http://dibr.nnov.ru]
Eugene Grosbein
2004-05-13 05:23:21 UTC
Permalink
12 май 2004, среда, в 21:17 KRAST, Dmitry Radishev написал(а):

DR>>> язык. Ибо - нелогичен: в кавычках во всем мире задаются
DR>>> _константы_, и _только_ перл имеет наглость залазить внутрь того,
EG>> Сразу видно, что паскаля ты не знаешь.
DR> С паскалем я "знаком" - когда-то давно писал небольшие программки. Там
DR> (как и
DR> в некоторых других языках) действительно в качестве ограничителей
DR> строковых
DR> констант используются не кавычки а апострофы. Что, впрочем, не меняет сути
DR> дела.
EG>> Либо намеренно передергиваешь,
EG>> но не хочется сразу так плохо думать.
DR> А вот с этого момента поподробнее: паскаль разве позволяет подобный трюк
DR> -
DR> залазить "внутрь" ну, тех же кавычек (раз константы в апострофах)? Мне
DR> что-то
DR> не припоминается ничего подобного.

Паскаль опровергает категоричное утверждение в начале квоты и том,
что "к кавычках во всем мире задаются _константы_". Hа самом деле константы
не всегда задаются в кавычках. И perl тут не является кощунственным
исключением из общего правила.

EG>> Перл тоже не залезает внутрь строковых констант, только они в нем как
EG>> в паскале, внутри апострофов.
DR> Угу. Проблема в том, что в том "руководстве для начинающих", глядя на
DR> котрое я
DR> пытался начинать писать на перле, с места в карьер использовались кавычки
DR> (видимо как "более универсальный" чем апострофы метод задания строки).
DR> Которые
DR> (кавычки) я _воспринял_ как ограничитель константной строчки, и попытался
DR> начать писать.

Hу и кто тебе злобный буратина, perl?

DR> О том, что кавычки - не константа, я узнал только тогда, когда
DR> полез выяснять, почему не работает написанное.
DR> Да - "плохое руководство, плохо читаешь, и вообще сам виноват". Hо в
DR> _правильных_ языках при изучении должны возникать _другие_ проблемы!

"Правильных" языков не существует.

DR> Hе
DR> "написал а оно взорвалось и отформатировало диск, и хрен знает почему" (да
DR> потому, что в языке с таким "свободным" синтаксисом написать что-то
DR> синтаксически ошибочное довольно сложно,

Hеправда.

DR> а поведение даже с виду очевидных операторов может оказаться

Забудь слово "очевидный" раз и навсегда. Как и "интуитивно понятный" :-)

DR> взрывоопасным из-за трюкаческого синтакисиса языка),
DR> а "а почему оно мне ругается, вроде же правильно написано"

Документацию читать полезно. В перловой документации все эти "почему"
(по порядку сообщений об ошибках) расписаны очень подробно с приведением
часто встречающихся ошибок программиста. Вообще в штатной перловой
документации есть очень много всего.

Eugene
--
"Люди забыли эту истину," - сказал Лис, - "но ты не забывай"
Valentin Nechayev
2004-05-16 11:36:08 UTC
Permalink
DR>>> язык. Ибо - нелогичен: в кавычках во всем мире задаются
DR>>> _константы_, и _только_ перл имеет наглость залазить внутрь того,
EG>> Сразу видно, что паскаля ты не знаешь.
DR> С паскалем я "знаком" - когда-то давно писал небольшие программки. Там (как и
DR> в некоторых других языках) действительно в качестве ограничителей строковых
DR> констант используются не кавычки а апострофы. Что, впрочем, не меняет сути
DR> дела.

Ты действительно не знаешь языков.;)
Во-первых, эта фича перла взята из шелла. Который тоже язык, FYI,
хотя и специфический. И у которого "исходное" обоснование такой фичи.
Во-вторых, точно так же ведёт себя Tcl:
==={{{
Command substitu-
tion, variable substitution, and backslash substitution are per-
formed on the characters between the quotes as described below.
===}}}

Так что твоё безмерное удивление свидетельствует только о том, что ты не привык
к тому, что в кавычках может что-то происходить, и больше ни о чём.
Ах да - ещё о том, что ни на шелле ни на Tcl ты серьёзно не писал и, вероятно,
их даже вблизи не видел.;))

EG>> Перл тоже не залезает внутрь строковых констант, только они в нем как
EG>> в паскале, внутри апострофов.
DR> Угу. Проблема в том, что в том "руководстве для начинающих", глядя на котрое я
DR> пытался начинать писать на перле, с места в карьер использовались кавычки
DR> (видимо как "более универсальный" чем апострофы метод задания строки). Которые
DR> (кавычки) я _воспринял_ как ограничитель константной строчки, и попытался
DR> начать писать. О том, что кавычки - не константа, я узнал только тогда, когда
DR> полез выяснять, почему не работает написанное.
DR> Да - "плохое руководство, плохо читаешь, и вообще сам виноват". Hо в
DR> _правильных_ языках при изучении должны возникать _другие_ проблемы! Hе

Видимо, плохое руководство. Потому что если бы оно было хорошее - объяснило бы,
что без perl -wc $file вообще опасно что-то запускать (в этом случае оно
тебе уже выругалось бы на неэкранированный '@', встретившуюся только один
раз переменную, и так далее), а без perl -wc -Mstrict $file - вредно,
если скрипт более двух экранов.

В мане же - и в нормальных руководствах - эта особенность двойных кавычек
(и вообще формы qq с любыми ограничителями, например: qq%$x$y%) - расписана
чёрным по белому. Или какой там цвет у тебя у символов будет.

DR> "написал а оно взорвалось и отформатировало диск, и хрен знает почему" (да
DR> потому, что в языке с таким "свободным" синтаксисом написать что-то
DR> синтаксически ошибочное довольно сложно, а поведение даже с виду очевидных
DR> операторов может оказаться взрывоопасным из-за трюкаческого синтакисиса языка),
DR> а "а почему оно мне ругается, вроде же правильно написано" (то есть, язык
DR> должен не поощрять ошибки (и подсовывать свои собственные глюки в случае если
DR> программист не насажал своих), а обнаруживать их, и предупреждать о них
DR> программиста).

Ещё раз: perl -wc -Mstrict - и 99% опасностей уйдут сами собой.


-netch-
Nick Knutov
2004-05-24 14:40:25 UTC
Permalink
Hi, Dmitry

12 Май 04 Dmitry Radishev has been sad. I've understood and answered:
DR> Угy. Пpоблема в том, что в том "pyководстве для начинающих", глядя на
DR> котpое я пытался начинать писать на пеpле, с места в каpьеp использовались
DR> кавычки (видимо как "более yнивеpсальный" чем апостpофы метод задания
DR> стpоки). Котоpые (кавычки) я _воспpинял_ как огpаничитель константной

Ты пpосто непpавильные книжки читаешь... Пpактичеси все книжки являются
пеpеводом на pyсский perldoc'а, пpичем плохого пеpевода. С ошибками и
опечатками. Более пpавильно эти книжки читать, потом писать код, смотpеть что
он не pаботает и лезть самомy в пеpлдок... попyтно спpашивая, пyсть и глyпые
вопpосы в ru.perl*... Вот тогда все становится ясным и очевидным...

И кстати, кpатких манyалов, как быстpо начать писать на пеpле в инете
полно. Вот только и y них есть минyсы... Бyдет в итоге очень yзки кpyгозоp и
любyю вещь ты сможешь сделать только одним способом. Что не во всех слyчаях
yдобно. Hо тем не менее, кpаткие манyалы есть, и по ним можно сpазy начинать
писать. Почти так же как с пхп, только пpедваpительно надо хотя бы теоpетически
пpедставлять отличия никса от винды и паскаля от С.

--
Nick Knutov
Valentin Nechayev
2004-05-16 11:38:09 UTC
Permalink
совсем то же, что легкость написания своей первой (и возможно
единственной) программы на новом языке.
IK>> По секрету скажу - писать сверхкраткий и сверхobfuscated код никто не
IK>> заставляет, тем более - сразу.
DR> По секрету скажу - _простой_ код в перле писать просто не получается.
DR> Синтаксис мешает.

А мне не мешает. "Доктор, что я не так делаю?"


-netch-
Loading...