>> Modern minilanguages can either be general but noncompact, or >> specialized but very compact; specialized but noncompact simply won't >> compete. >> >> Это, я извиняюсь, полный бред.
> По-моему, разумно. Нет смысла использовать специализированный но > некомпактный язык, если ту же задачу можно решить специализированным > компактным. А если нельзя компактным, то к вашим услугам некомпактные языки > общего назначения. Ты не понял. Слово "бред" относилось не к "specialized but noncompact simply won't compete". Здесь возражений, конечно, нет. А к предыдущей части предложения. И смысловое ударение я бы поставил на слово minilanguage. И из текста я делаю вывод о том, что он противоставляет "general-purpose compact maxi-language" perl и python всем в купе minilanguages, у которых ввиду вот той дилеммы якобы нет шансов. Это учитывая те "tales", про которые он говорил. > О компактных языках общего назначения Реймонд вообще не говорит — это > недостижимый идеал. Вполне достижимый. Если не понимать "компактность" в перловом смысле, конечно, со всякими дурацкими принципами TMTOWTDI. > Подозреваю, что ваше неприятие связано с путаницей > понятий «специализированный» (частный, ограниченный) и «компактный» > (лаконичный). Не думаю. >> С первой половиной согласен, конечно. Perl его в значительной степени >> действительно вытеснил. Не согласен с последним предложением. У него нет >> ни одного аргумента против minilanguages. Просто словоблудие. Миниязыки >> - это очень красивая и хорошо работающая на практике концепция. Есть >> тому куча примеров. > Он не против миниязыков. См. выше. В общем, "каждый понимает в меру своей распущенности"(C). > Просто считает awk недостаточно удачным примером > миниязыка. По-моему, он обощает. ...notably Perl, which was explicitly designed to be an awk killer. The reasons are worthy of examination, because they constitute a bit of a cautionary tale for minilanguage designers. Я крайне "распущен" :-) > По моему мнению, он слишком категоричен, awk хватает мощности для > решения определённого круга задач и хватает легковесности, чтобы > предпочесть его. Но круг этот узок. Не настолько узок, как принято считать. >> По поводу "generally applicable". Никто не отменял >> BEGIN { >> print "Hello world!" >> } >> Это во-первых. > Где здесь awk? Зачем здесь awk? Зачем здесь maxi? ;-) > Его сильные стороны здесь не проявляются, а Его сильная сторона здесь -- это отсутствие необходимости maxi-perl-а или maxi-python-а. У меня идиосинкразия на ЯП, ядро которых занимает мегабайты. > Не все задачи сводятся к построчной обработке текста. Очень многие мои -- сводятся. У меня скриптов на awk/sh -- многие сотни. Подавляющее большинсвто из них - маленькие (<250 строк). Есть один публичный проект на 3200 строк (shell, awk, bmake), и никакого месива. Разделяй и властвуй... Там можно было бы применить maxi-ruby, maxi-perl, maxi-python, maxi-tcl. Но зачем, если классический UNIX way прекрасно работает? Две маленькие программы на С (runawk + paexec), плюс пачка скриптов, и у каждого своя задача, shell - как связующий элемент. -- Best regards, Aleksey Cheusov.