[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