[room] программирование и математика

Денис Смирнов =?iso-8859-1?q?mithraen_=CE=C1_altlinux=2Eru?=
Чт Дек 1 14:08:33 MSK 2005


On Sat, Nov 26, 2005 at 09:24:14PM +0200, Michael Shigorin wrote:

> MS>> Как хорошо, что я не программист (по твоим меркам) :).
> MS>> Таненбаума читать не хочу вообще, как и других подобных
> MS>> упёртых скандалистов.  Хоть о семидесяти семи пядях.
>> Миша, пожалуйста, читай в моих словах то что я пишу, а не то
>> что тебя цепляет.
MS> Ой да ладно, нельзя уже попридуриваться да побухтеть :-)
MS> Если серьёзней -- то даже ориентиры у каждого действительно
MS> чуточку свои.

Дык разумеется.

Просто мне, к сожалению, не довелось увидеть другой книжки с тем же
объёмом информации. Хотя в первой части книги, где идёт общий обзор, я
нашёл несколько явных ошибок.

А дальше описание устройства процессоров, в т.ч. многих особенностей x86,
SPARC и Intanium. Плюс всё необходимое чтобы самостоятельно спроектировать
собственный процессор, и изготовить из подручных сборок, если совсем
маньяк.

Кстати именно после этой книги я таки _понял почему_ x86 со всемы
нынешними новоротами уступали и будут уступать тем же SPARC'ам под
нагрузкой.

>> Иначе, если быть честным перед собой, я начинаю смотреть
>> в собственный код и думать "каким кретином надо быть, чтобы
>> такую мерзость накодить, и что при этом надо было пить?".
MS> Ну, я спокоен в том, что совершенного кода просто не существует.

Несовершенство при этом разной степени адекватности бывает.

>> Когда я вижу что пишу бредятину я пытаюсь понять почему оно
>> бредятина.  Пусть и работает, и деньги приносит.
MS> Ну так.  Завтра ж оно может и сломаться, починить бредятину
MS> обычно сложней.

Вот-вот.

Сейчас я упёрся в некоторые неисправимые особенности Asterisk. Вернее
исправимые полным переписыванием кусков кода.

Ты можешь себе представить один C-файл размером в 450k? Это SIP-стек в
Asterisk'е. В коем различных странностей находят по 10 раз на дню. И,
самое интересное, я не представляю себе как это писать на C вообще.

Огромное количество кода в Asterisk это жалкая попытка изобрести
темплейты и немного объектно-ориентированности. Огромное количество усилий
на обход неисправимых особенностей тредовой модели.

И дело-то в том, что понятно как это решать грамотно -- SIP-стэк это в
первую очередь конечный автомат. Надо написать собственный язык
программирования, который бы содержал в себе средства для описания
конечного автомата такого типа и действий вида "послать сообщения",
"вызвать такую-то функцию", и содержал встроеные средства безопасности.

Так, и только так, можно гарантировать надёжность работы всего лишь одного
этого модуля. И подготовка тут требуется и математическая, и
алгоритмическая, и много какая ещё.

Мне это не под силам. Судя по коду Asterisk -- его авторам тоже.

-- 
С уважением, Денис

http://freesource.info




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