[devel] task build

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Фев 20 22:07:10 MSK 2009


On Fri, Feb 20, 2009 at 07:25:26PM +0600, Mikhail Gusarov wrote:
> Twas brillig at 16:18:17 20.02.2009 UTC+03 when at на altlinux.ru did gyre and gimble:
> 
>  AT> Это сложно реализовать на шелле хорошо.
>  AT> Например, для сборки одного пакета нужна такая операция:
> 
>  AT> 1) lock /ALT/Sisyphus
> 2-3) сделать теневую копию сизифа (хардлинками)
>  AT> 4) release /ALT/Sisyphus lock ASAP
> 5) собирать, сколько влезет.

Это не серьезно, если брать проблему в общем виде.

Нам надо взять лок и отпустить лок, в определенные моменты времени.
В перле (или в окамле, или в коммон-лиспе) это ровно два системных
вызова; можно просто сделать callback slots, чтобы дёргалось когда
надо что надо.  В шелле find-grained locking делать более-менее нельзя;
прежде всего потому, что locking существует на уровне отдельно взятого
процесса, а основной способ организации вычислений на шелле -- это
порождение новых процессов.  А какие могут быть коллбеки между
процессами.

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

Короче, программирование на шелле in large -- это более-менее не серьезно.
Правда, на шелле обычно получается писать более лаконичный код (чем на
перле).  Но также код на шелле более уязвим к нетипичным ситуациям,
потому что там нет настоящих структур данных, а всё делается набором
"инструментов", которые на самом деле являются хаками.

Короче, то, чем мы занимаемся -- это всё более-менее сосёт.
"Я его слепила из того что было" и т.д.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20090220/50e9ec63/attachment.bin>


Подробная информация о списке рассылки Devel