From: "Alexander Bokovoy" <ab@altlinux.org>
To: "ALT Linux Team development discussions" <devel@lists.altlinux.org>
Subject: Re: [devel] Управление группами пользователя
Date: Sun, 16 Nov 2008 20:14:16 +0300
Message-ID: <6062a6e60811160914h1ab21082t95a8948a30270e66@mail.gmail.com> (raw)
In-Reply-To: <47c0071b0811160839p3207e6dfk71e9c02ad44a66d6@mail.gmail.com>
2008/11/16 Dmitriy M. Maslennikov <maslennikovdm@gmail.com>:
> 16 ноября 2008 г. 18:54 пользователь Alexander Bokovoy
> <ab@altlinux.org> написал:
>> Посмотрите на Vala как на пример высокоуровневого языка, использующего
>> для выражения средства glib2. Vala написана на самой себе, так что
>> качестве примера довольно выразительна.
> Я не спорю, что вокруг glib2 можно построить высокоуровневую систему.
> Но это уже не С. Я полагаю, что вы не предлагаете нам написать модул
> на vala?
Нет, не предлагаю. А на Vala посмотрите. И с точки зрения "не C", и с
точки зрения высокоуровневости. Для понимания проблематики стоит также
посмотреть, например, на http://live.gnome.org/IteratorsAPI.
>> У меня тоже есть пожелание к переезду libstdc++ в /lib.
>>
>> Впрочем, от необдуманного написания кода это не спасает и "легче
>> выражаются языковыми конструкциями" вряди может служить в качестве
>> обоснования при написании низкоуровневых компонент, критичность
>> которых довольно высока.
> Легче выражается -> меньше шансов допустить ошибку.
Главная ошибка уже допущена: для решения задачи выбрано средство,
которое не соответствует уровню абстракции, на котором должен работать
модуль.
> По-моему инструмент надо выбирать не минимально достаточный для
> выполнения задачи, а наиболее удобный. Разве не так?
Нет. Должен выбираться соответствующий области применения инструмент.
В данном случае есть целый ряд требований к интерфейсу и побочным
эффектам от уже существующих приложений. Этот "монастырь" со своими
правилами, которые надо соблюдать, существует уже очень давно и выбор
средств тут ограничен именно требованиями совместимости. Не важно,
удобно лично Вам это средство или нет, важно, чтобы оно производило
результат, который удовлетворяет требованиям к таким модулям.
Надо отметить, что не все из этих требований нормально описаны в
письменной форме, но тем не менее они существуют.
> Я утверждаю, что так как С++ поддерживает практически все конструкции
> С, но добавляет много новых, то он практически всегда удобнее.
> Единственный недостаток - шаблоны раздувают код, поэтому он может не
> подходить для встраиваемых систем. Для написания приложений для
> толстого desktop он практически всюду лучше С.
Не путайте Ваши приложения для десктопа и низкоуровневые компоненты
операционной системы.
>> Я не говорю уже про втягивание pthreads во
>> все приложения, которые могут быть и не готовы к этому. Один такой
>> пример плохой реализации внутри glibc мы уже видели
>> (http://samba.org/~tridge/junkcode/aio_uid.c).
> Да, на втягивании pthread в модуль (другой) мы уже наступали. В старом
> тулчейне gettext переставал работать)
Вот видите. Но тем не менее, тянете его за собой.
>> Главное, что я хотел продемонстрировать в этом обсуждении и что вы с
>> Дмитрием так пока и не поняли, что архитектурные и дизайнерские
>> решения не всегда принимаются на основании личных предпочтений. Прежде
>> всего необходимо думать о тех, кто использует разработанное. В случае
>> компонент ОС это прежде всего другие приложения и принцип "не навреди"
>> здесь играет главенствующую роль.
> Согласен. Но все-таки, чем С++ плох? Хочется услышать именно
> конструктивную критику, а не заявления, типа, "плох и все".
В данном конкретном случае C++ не является средством, которое
используется для написания низкоуровневых компонент, динамически
загружаемых во все приложения в системе из-за невозможности
проконтролировать все побочные эффекты, которые возникают при загрузке
и использовании такого сложного кода, как C++ stdlib.
--
/ Alexander Bokovoy
next prev parent reply other threads:[~2008-11-16 17:14 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-14 16:53 Dmitriy M. Maslennikov
2008-11-14 18:01 ` Alexander Bokovoy
2008-11-14 18:35 ` Dmitriy M. Maslennikov
2008-11-14 18:49 ` Alexander Bokovoy
2008-11-14 19:11 ` Dmitriy M. Maslennikov
2008-11-14 19:28 ` Evgeny Sinelnikov
2008-11-14 19:45 ` Alexander Bokovoy
2008-11-14 19:51 ` Dmitriy M. Maslennikov
2008-11-14 19:55 ` Led
2008-11-14 19:56 ` Dmitriy M. Maslennikov
2008-11-14 20:01 ` Led
2008-11-14 20:07 ` Stanislav Ievlev
2008-11-14 20:10 ` Pavlov Konstantin
2008-11-14 20:20 ` Stanislav Ievlev
2008-11-14 20:24 ` Led
2008-11-14 20:28 ` Stanislav Ievlev
2008-11-14 20:29 ` Dmitriy M. Maslennikov
2008-11-14 22:00 ` Денис Смирнов
2008-11-15 6:29 ` Dmitriy M. Maslennikov
2008-11-16 14:40 ` Stanislav Ievlev
2008-11-16 15:15 ` Evgeny Sinelnikov
2008-11-16 15:54 ` Alexander Bokovoy
2008-11-16 16:39 ` Dmitriy M. Maslennikov
2008-11-16 16:50 ` Andrey Rahmatullin
2008-11-16 16:52 ` Mikhail Gusarov
2008-11-16 17:46 ` Dmitriy M. Maslennikov
2008-11-16 17:54 ` Andrey Rahmatullin
2008-11-16 18:39 ` Evgeny Sinelnikov
2008-11-16 18:45 ` Led
2008-11-16 18:56 ` Evgeny Sinelnikov
2008-11-16 19:02 ` Dmitry V. Levin
2008-11-16 19:35 ` Dmitriy M. Maslennikov
2008-11-16 19:42 ` Alexander Bokovoy
2008-11-16 19:49 ` Evgeny Sinelnikov
2008-11-16 19:57 ` Alexander Bokovoy
2008-11-16 20:04 ` Dmitriy M. Maslennikov
2008-11-16 19:50 ` Dmitriy M. Maslennikov
2008-11-16 19:56 ` Alexander Bokovoy
2008-11-16 17:14 ` Alexander Bokovoy [this message]
2008-11-19 12:25 ` [devel] [JT] " Michael Shigorin
2008-11-19 12:38 ` Dmitriy M. Maslennikov
2008-11-19 13:35 ` Денис Смирнов
2008-11-19 13:44 ` Evgeny Sinelnikov
2008-11-19 13:44 ` Mikhail Gusarov
2008-11-19 13:54 ` Dmitriy M. Maslennikov
2008-11-19 14:12 ` Michael Shigorin
2008-11-19 14:15 ` Mikhail Gusarov
2008-11-19 14:17 ` Andrey Rahmatullin
2008-11-19 14:46 ` [devel] [JT] " Michael Shigorin
2008-11-19 14:05 ` Michael Shigorin
2008-11-19 14:22 ` [devel] [JT] " Alexey I. Froloff
2008-11-19 14:25 ` Evgeny Sinelnikov
2008-11-19 14:28 ` Mikhail Gusarov
2008-11-19 15:27 ` Alexey I. Froloff
2008-11-19 16:33 ` Evgeny Sinelnikov
2008-11-19 17:57 ` Денис Смирнов
2008-11-19 21:21 ` Evgeny Sinelnikov
2008-11-19 21:24 ` Денис Смирнов
2008-11-19 21:38 ` Evgeny Sinelnikov
2008-11-19 21:26 ` Mikhail Gusarov
2008-11-19 21:39 ` Evgeny Sinelnikov
2008-11-19 21:49 ` Mikhail Gusarov
2008-11-20 8:53 ` Evgeny Sinelnikov
2008-11-20 9:31 ` Mikhail Gusarov
2008-11-20 13:21 ` Evgeny Sinelnikov
2008-11-20 13:36 ` Mikhail Gusarov
2008-11-20 15:48 ` Evgeny Sinelnikov
2008-11-20 15:50 ` Mikhail Gusarov
2008-11-20 15:44 ` Alexey I. Froloff
2008-11-20 15:54 ` Evgeny Sinelnikov
2008-11-20 15:57 ` Damir Shayhutdinov
2008-11-20 7:33 ` Andrey Rahmatullin
2008-11-19 21:52 ` Mikhail Gusarov
2008-11-19 12:46 ` Alexey I. Froloff
2008-11-16 15:38 ` [devel] " Dmitriy M. Maslennikov
2008-11-16 15:54 ` Led
2008-11-16 18:08 ` Dmitry V. Levin
2008-11-14 20:13 ` Led
2008-11-19 12:20 ` [devel] [JT] alterator (was: Управление группами пользователя) Michael Shigorin
2008-11-14 19:54 ` [devel] Управление группами пользователя Led
2008-11-14 19:10 ` Stanislav Ievlev
2008-11-14 19:52 ` Led
2008-11-14 19:54 ` Dmitriy M. Maslennikov
2008-11-14 19:59 ` Led
2008-11-14 20:03 ` Dmitriy M. Maslennikov
2008-11-14 20:09 ` Led
2008-11-14 20:11 ` Dmitriy M. Maslennikov
2008-11-14 20:06 ` Dmitriy M. Maslennikov
2008-11-14 20:14 ` Led
2008-11-14 20:24 ` Dmitriy M. Maslennikov
2008-11-14 20:58 ` Sergey Bolshakov
2008-11-14 22:25 ` Evgeny Sinelnikov
2008-11-16 20:07 ` Dmitry V. Levin
2008-11-16 20:17 ` Evgeny Sinelnikov
2008-11-16 23:44 ` Vitaly Lipatov
2008-11-17 0:29 ` Evgeny Sinelnikov
2008-11-14 20:16 ` Alexey I. Froloff
2008-11-14 20:23 ` Stanislav Ievlev
2008-11-14 20:37 ` Alexey I. Froloff
2008-11-16 14:44 ` Stanislav Ievlev
2008-11-14 20:26 ` Dmitriy M. Maslennikov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6062a6e60811160914h1ab21082t95a8948a30270e66@mail.gmail.com \
--to=ab@altlinux.org \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git