Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Aleksey Cheusov                      2:5020/400     31 Jan 2003  15:35:07
 To : Victor Wagner
 Subject : Re: 386SX and RedHat_8.0
 -------------------------------------------------------------------------------- 
 
 Victor Wagner <vitus@communiware.ru> writes:
 
 > Aleksey Cheusov <cheusov@scnsoft.com> wrote:
 > >> ЕСЛИ приложения писать на C++, то непременно нужно (в 99% случаев)
 > >> использовать STL. Поскольку с STL c++ становится отдаленно похожей
 > >> на язык высокого уровня, пригодный для написания приложений.
 > 
 > AC> Это теоретически. Иделогия, конечно, красивая.
 > 
 > Практически - после появления gcc 3.x уже можно пользоваться.
 
 О gcc-3.0 у меня сугубо отрицательное мнение.
 3.2 я ещё не пробовал.
 
 > AC> получаем:
 > AC> 1) с дефолтовыми аллокаторами контейнеры тормозят, т.е. взял
 > AC>    какой-нибудь stl::queue и начинай писать к нему свои аллокаторы
 > AC>    на каждый случай свой да и ещё не забудь подставить его *в каждый*
 > AC>    instance. Рано или поздно упрёшься-таки в реализацию
 > AC>    собственного хипа. Вот уж где монографию написать можно.
 > AC>    И не одну.
 > 
 > Можно. Принимал я тут давеча некоторый проект этак на 25К строк C++.
 > Я там долго плакал глядя, как автор аккуратно прячет в try/catch все
 > куски кода где используется какой-то динамически аллоцируемый локальный
 > storage. Это же повеситься можно - без garbage collector-а писать.
 
 Тут недавно пробегали сообщения об "еффективности" garbage collector-ов.
 Что-то меня на это не особо тянет. Кроме того, не очень то я понимаю,
 от чего он всем так нравится. Видимо не было подходящих задач.
 
 Вообще-то try/catch вставить не так уж и сложно.
 Кроме того, в C++ удобнее "локальные stotage" писать не с помощью
 new/delete, а с помощью классов, а этом случае сработает деструктор
 и ничего специально catch-ить не надо.
 
 > 
 > AC> 2) <algorithm>, - действительно полезная вещь.
 > AC>    Hо! Глупо требовать перекрытия оператора < и вызывать его
 > AC>    *два* раза для одной и той же пары объектов, если можно вызвать
 > AC>    какую-нибудь функцию с результатом (-1, 0, 1) один *раз*.
 > AC>    Если объекты сложные, то выигрышь ровненько в два раза.
 > 
 > Hу забыл, забыл Страуструп оператор <=> в язык включить. Ларри Уолл был
 > хитрее.
 
 Ларри Уолл - не первый.
 Такое AFAIR даже а Фортране было.
 И C/C++ не помешало бы.
 
 > AC> 3) Катастрофически замедляется компиляция.
 > AC> 4) А есть ли в природе компилятор, поддерживающий templates
 > AC>    на нормальном уровне и оптимизатор, способный все эти темплейтные
 > AC>    навороты свернуть по-хорошему.
 > AC> 5) Почти такую же гибкость обеспечивают pure abstract классы.
 > AC>    С другим, правда, гемороем, в других местах.
 > 
 > Гибкость - да. Hо к сожалению, standard pure abstract virtual class
 > library нету. Поэтому велосипед придется изобретать каждый раз заново.
 
 А его в любом случае изобретать приходиться.
 Мне часто нужны ассоциативные массивы.
 Все эти smd::map, хэш таблицы и даже Judy в пролёте.
 Judy - это самое лучшее из того, что я видел для "среднего" случая.
 Hо у меня много своих других реализаций.
 И выигрышь по сравнению со "средним" Judy иногда получается в
 разы и по памяти и по скорости.
 Hе бывает ничего универсального без необходимости tuning, как ни крути.
 
 > AC> Hичего подобного.
 > AC> Hа glib и аналоги без слёз смотреть не возможно.
 > 
 > И не смотри. Ты лучше на XView посмотри. Вот там объектная модель
 > на C сделана красиво. Можно еще на X Toolkit Intrinsics. Там покривее,
 > но тоже ничего.
 
 Верю, но мне не понятно, зачем моделировать объектную модель на
 необъектных языках. Можно ведь взять готовое.
 
 > А еще есть альтернативная реализация OOP на C - Objective C называется.
 > Если мы зарекаемся на то, что компилятор у нас GCC, ObjC у нас тоже есть
 > и все Step-like навороты нам доступны.
 
 Hазвание я, конечно, слышал, но не больше.
 
 > >> Хотя в значительной части случаев footprint у программы на более
 > >> адекватном языке будет меньше. Хуже плюсов - только жаба.
 > 
 > AC> Что такое footprint?
 > 
 > memory footprint.  Сколько она памяти кушает.
 
 Программа на C++ сама по себе жрёт памяти не многим больше, чем на C.
 Кроме того, тут дело не только в нём.
 Моя программа сама по себе (на старте) под виндой жрёт 1.2Mb,
 а под Linux - 10Mb.
 Код - один и тот же, разница - большая.
 
 > AC> Судя по-всему, так же как и на любом другом compilable языке.
 > 
 > 
 > Угу. Про то и речь.
 > 
 > А ты glib, glib. Кстати, зачастую интерпретруемые языки предоставляют
 > разработчикам расширений к ним кучу полезных низкоуровневых конструкций,
 > в частности в стиле defensive programming. Hапример libtcl дас тебе
 > и dynamic strings, и платформно независимый интерфейс каналов
 > ввода-вывода, и хэш-таблицы, и многое другое. 
 
 Тут всё понятно, вот только взаимодействие через C - не самый
 продвинутый вариант и мне он вообще не нравится.
 Для каждого чиха генерить новый экзешник,
 которым кроме тебя вряд ли кто пользоваться станет.
 WordNet, кажется так сделан.
 
 pure abstract classes бинарную совместимость обеспечивают.
 Туда же можно reference counter встроить, как это сделано
 в мелкомягком COM. Можно и идею class factory у них же стибрить.
 Динамические языки пролетают, но только если не думать.
 Hа самом деле в фиксированное количество интерфейсных функций
 влезеть всё.
 И я мог, бы, например, без влезания в кодярник и построения нового,
 заменить regexp engine на свой установив переменную в ~/.profile
 или заменить тамошние ассоциативные массивы на Judy.
 
 Я, похоже, зациклился, но чем плох
 dlopen мне так никто и не объяснил.
 
 > 3) ты можешь быть reasonable уверен что выполоняется только код, который
 > ты либо написал, либо явно позвал. Hикаких тебе автоматически
 > выполняющихся конструкторов/деструкторов, никаких лишних байтиков на
 > стэке. Для ряда применений это может быть критично.
 
 Если проект переваливает за отметку X, ты вряд ли уже претендуешь
 на контроль всего и везде. Я, например, о внутренностях ядра
 имею очень слабое представления. Для меня это всего лишь инструмент,
 а не объект исследования. Т.е. чёрный ящик.
 И меня это вполне устраивает.
 
 -- 
 
 Best regards, Aleksey Cheusov.
 --- ifmail v.2.15dev5
  * Origin: Science Soft (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 386SX and RedHat_8.0   Igor   29 Jan 2003 09:36:05 
 Re: 386SX and RedHat_8.0   Oleg Drokin   29 Jan 2003 11:16:55 
 Re: 386SX and RedHat_8.0   Igor   29 Jan 2003 15:48:26 
 Re: 386SX and RedHat_8.0   Oleg Drokin   29 Jan 2003 22:45:42 
 Re: 386SX and RedHat_8.0   Igor   30 Jan 2003 08:52:47 
 Re: 386SX and RedHat_8.0   Oleg Drokin   30 Jan 2003 11:30:54 
 Re: 386SX and RedHat_8.0   Igor   30 Jan 2003 12:28:04 
 Re: 386SX and RedHat_8.0   Oleg Drokin   30 Jan 2003 12:48:34 
 Re: 386SX and RedHat_8.0   Dmitry Ponyatov   30 Jan 2003 23:20:16 
 Re: 386SX and RedHat_8.0   Dmitry Ponyatov   30 Jan 2003 20:04:34 
 Re: 386SX and RedHat_8.0   Vladimir Bormotov   29 Jan 2003 23:40:53 
 Re: 386SX and RedHat_8.0   Igor   30 Jan 2003 09:14:05 
 Re: 386SX and RedHat_8.0   Vladimir Bormotov   30 Jan 2003 14:45:02 
 Re: 386SX and RedHat_8.0   Victor Wagner   30 Jan 2003 15:08:33 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   30 Jan 2003 17:19:46 
 Re: 386SX and RedHat_8.0   Victor Wagner   30 Jan 2003 18:29:08 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   31 Jan 2003 14:25:22 
 Re: 386SX and RedHat_8.0   Victor Wagner   31 Jan 2003 14:31:34 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   31 Jan 2003 15:35:07 
 Re: 386SX and RedHat_8.0   Victor Wagner   31 Jan 2003 16:00:15 
 Re: 386SX and RedHat_8.0   Eugene Karpachov   31 Jan 2003 16:50:52 
 Re: 386SX and RedHat_8.0   Victor Wagner   31 Jan 2003 17:07:41 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   31 Jan 2003 17:24:32 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   31 Jan 2003 23:14:44 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   03 Feb 2003 16:54:23 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   04 Feb 2003 20:24:15 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   04 Feb 2003 21:27:58 
 Re: 386SX and RedHat_8.0   Alexander S. Usov   05 Feb 2003 03:03:55 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   05 Feb 2003 12:10:04 
 Re: 386SX and RedHat_8.0   Alexander S. Usov   05 Feb 2003 16:17:41 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   05 Feb 2003 12:04:25 
 Re: 386SX and RedHat_8.0   Alexander S. Usov   05 Feb 2003 16:37:11 
 Re: 386SX and RedHat_8.0   Eugene Karpachov   05 Feb 2003 10:37:11 
 Re: 386SX and RedHat_8.0   Eugene Karpachov   31 Jan 2003 17:25:33 
 Re: 386SX and RedHat_8.0   Alex Korchmar   31 Jan 2003 23:13:43 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   01 Feb 2003 00:18:25 
 Re: 386SX and RedHat_8.0   Alex Korchmar   01 Feb 2003 01:01:12 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   03 Feb 2003 16:54:21 
 Re: 386SX and RedHat_8.0   Vasily Tchekalkin   31 Jan 2003 18:36:59 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   31 Jan 2003 17:24:31 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   31 Jan 2003 17:09:43 
 Re: 386SX and RedHat_8.0   Victor Wagner   31 Jan 2003 17:14:17 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   31 Jan 2003 22:10:07 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   31 Jan 2003 17:14:48 
 Re: 386SX and RedHat_8.0   Victor Wagner   31 Jan 2003 17:23:00 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   31 Jan 2003 17:44:55 
 Re: 386SX and RedHat_8.0   Oleg Drokin   31 Jan 2003 18:35:56 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   31 Jan 2003 19:23:30 
 Re: 386SX and RedHat_8.0   Oleg Drokin   31 Jan 2003 19:34:36 
 Re: 386SX and RedHat_8.0   Oleg Drokin   31 Jan 2003 18:15:27 
 Re: 386SX and RedHat_8.0   Victor Wagner   31 Jan 2003 18:51:22 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   31 Jan 2003 22:14:43 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   31 Jan 2003 16:29:54 
 Re: 386SX and RedHat_8.0   Victor Wagner   31 Jan 2003 16:57:59 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   31 Jan 2003 17:14:49 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   31 Jan 2003 17:14:48 
 Re: 386SX and RedHat_8.0   Eugene Karpachov   31 Jan 2003 17:30:37 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   31 Jan 2003 17:44:25 
 Re: 386SX and RedHat_8.0   Eugene Karpachov   31 Jan 2003 19:06:42 
 Re: 386SX and RedHat_8.0   Valentin Nechayev   31 Jan 2003 19:37:41 
 Re: 386SX and RedHat_8.0   Eugene Karpachov   31 Jan 2003 23:25:34 
 Re: 386SX and RedHat_8.0   Aleksey Cheusov   01 Feb 2003 00:00:03 
 Re: 386SX and RedHat_8.0   Victor Wagner   01 Feb 2003 00:50:57 
 Re: 386SX and RedHat_8.0   Artem Chuprina   30 Jan 2003 20:43:48 
 Re: 386SX and RedHat_8.0   Igor   30 Jan 2003 15:59:29 
 Re: 386SX and RedHat_8.0   Victor Wagner   30 Jan 2003 16:31:40 
 Re: 386SX and RedHat_8.0   Vladimir Bormotov   30 Jan 2003 17:17:13 
 Re: 386SX and RedHat_8.0   Zahar Kiselev   31 Jan 2003 01:50:02 
 Re: 386SX and RedHat_8.0   Igor   31 Jan 2003 09:23:41 
 Re: 386SX and RedHat_8.0   Zahar Kiselev   31 Jan 2003 01:17:12 
 Re: 386SX and RedHat_8.0   Igor   31 Jan 2003 09:55:18 
 386SX and RedHat_8.0   Svyatoslav Abramenkov   31 Jan 2003 10:50:45 
 Re: 386SX and RedHat_8.0   Victor Wagner   31 Jan 2003 16:27:21 
 386SX and RedHat_8.0   Svyatoslav Abramenkov   31 Jan 2003 20:40:43 
 386SX and RedHat_8.0   Zahar Kiselev   01 Feb 2003 16:18:00 
 Re: 386SX and RedHat_8.0   Ian Dichkovsky   31 Jan 2003 18:23:06 
 386SX and RedHat_8.0   Nikolay Popov   12 Feb 2003 00:54:14 
 386SX and RedHat_8.0   Dmitry Novikov   30 Jan 2003 21:07:15 
 Re: 386SX and RedHat_8.0   Vladimir Bormotov   31 Jan 2003 15:07:31 
 Re: 386SX and RedHat_8.0   Igor Sysoev   05 Feb 2003 20:28:53 
 Re: 386SX and RedHat_8.0   Oleg Drokin   05 Feb 2003 22:14:03 
 Re: 386SX and RedHat_8.0   Igor Sysoev   06 Feb 2003 01:20:35 
 Re: 386SX and RedHat_8.0   Oleg Drokin   06 Feb 2003 10:42:43 
 Re: 386SX and RedHat_8.0   Igor Sysoev   06 Feb 2003 14:03:21 
 Re: 386SX and RedHat_8.0   Oleg Drokin   06 Feb 2003 15:18:57 
 Re: 386SX and RedHat_8.0   Igor Sysoev   06 Feb 2003 17:46:51 
 Re: 386SX and RedHat_8.0   Oleg Drokin   06 Feb 2003 18:39:10 
 Re: 386SX and RedHat_8.0   Roman Belenov   06 Feb 2003 19:52:12 
 Re: Re: 386SX and RedHat_8.0   Alexandr S. Agranovsky   06 Feb 2003 22:48:30 
 Re: 386SX and RedHat_8.0   Alexandr S. Agranovsky   29 Jan 2003 22:35:32 
 Re: 386SX and RedHat_8.0   Dmitry Ponyatov   30 Jan 2003 20:02:52 
Архивное /ru.linux/172837c0b87f8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional