[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[OT] Tcl



>>>>> "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: