[OT] Tcl
- To: debian-russian@lists.debian.org
- Subject: [OT] Tcl
- From: Ivan Shmakov <ivan@siamics.net>
- Date: Tue, 27 Jan 2015 19:37:47 +0000
- Message-id: <[🔎] 87k308m2us.fsf_-_@violet.siamics.net>
- In-reply-to: <oMUyl-6G9-1@gated-at.bofh.it> (Artem Chuprina's message of "Mon, 26 Jan 2015 17:20:01 +0100")
- References: <oKO42-5mO-7@gated-at.bofh.it> <oKOx3-6bQ-5@gated-at.bofh.it> <oKP06-6Lw-15@gated-at.bofh.it> <oL8Fr-2ti-1@gated-at.bofh.it> <oL9ia-3uf-31@gated-at.bofh.it> <oMMU9-3MJ-3@gated-at.bofh.it> <oMNwS-4yr-3@gated-at.bofh.it> <oMSwy-3He-9@gated-at.bofh.it> <oMUyl-6G9-1@gated-at.bofh.it>
>>>>> "AC" == Artem Chuprina <ran@ran.pp.ru> writes:
>>>>> Fedor Zuev -> debian-russian@lists.debian.org:
[…]
FZ> Видел я этот ваш tcl. Не впечатлился честно говоря. Заумь
FZ> какая-то. Возможно, под какой-то специфический стиль мышления он
FZ> заточен идеально. Но точно не под мой. Все-таки простые вещи
FZ> должны делаться просто.
AC> Там как раз простые вещи делаются просто. На порядок примерно
AC> проще, чем в sh. Чем он, в частности, и прекрасен - порог
AC> вхождения практически отсутствует.
AC> И все описание синтаксиса вместе с семантикой на две страницы. Без
AC> никаких странных исключений.
Описание грамматики такого /человекочитаемого/ языка, как
эсперанто, имеет сопоставимый объем, — bonvolu paroli la lingvo
internacia.
AC> Ну да, чтобы вывести его из трех примеров скриптов, нужно быть
AC> математиком. Но выводить не обязательно, достаточно прочесть man
AC> tcl.
Нельзя ли привести примеры программ на Tcl, для написания
которых достаточно знания языка на уровне man tcl?
AC> Но на любителей sh tcl, действительно, впечатления не производит.
AC> Не доставляет незабываемых ощущений при попытках выяснить, почему
AC> переменная внутри while после пайпа как бы не работает, и как
AC> сделать, чтобы все-таки работала.
В случае с конвейером необходимо четко усвоить ровно один
принцип: как только мы задействуем |, — у нас уже не одна
программа, но две. Даже если обе зовутся example.sh. Все
прочее — тривиальные следствия. Включая и возникновения вопроса
о том, которая из программ («слева или справа от |») являет
собой дочерний процесс, а которая — основной.
Bash, к слову, допускает оба варианта; подобно:
parent | while IFS= read -r -- line ; do : child ; done
while IFS= read -r -- line ; do : parent ; done < <(child)
AC> А с учетом багов его реализации в Solaris?
Разве Solaris sh все еще где-то изучается? (В смысле, — кроме
курса «компьютерной археологии» и ему подобных.)
[…]
--
FSF associate member #7257 http://boycottsystemd.org/ … 3013 B6A0 230E 334A
Reply to: