ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Mikhail Gusarov <dottedmag@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] [JT] Re: Управление группами пользователя
Date: Thu, 20 Nov 2008 19:36:49 +0600
Message-ID: <8763mifrim.fsf@frontier.dottedmag.net> (raw)
In-Reply-To: <921f6bb40811200521u25191eaen69d6c2ef9bf141ce@mail.gmail.com> (Evgeny Sinelnikov's message of "Thu, 20 Nov 2008 16:21:36 +0300")

[-- Attachment #1: Type: text/plain, Size: 5795 bytes --]

Twas brillig at 16:21:36 20.11.2008 UTC+03 when sin@altlinux.ru did gyre and gimble:

 ES> Я не знаю что такое bullshit... Но а вот обратиться к нужному
 ES> адресу в памяти я на Haskell вряд ли смогу так запросто...

Это дело ядра, вообще-то. Но заворачивание void* тривиально.

 >> Кто будет оборачивать коды ошибки в исключения? Кто будет
 >> реализовывать

 ES> Сишный код не кидает исключений...

Зато кидает C++-ный. Попробуйте осознать, что это означает.

 >> RAII? Вы не понимаете, что C++-ный код враппера тупо будет размазан по

 ES> То что нужно от RAII в С всё равно пишут руками, так что эта часть
 ES> только упрощает использование С библиотек в С++...

C++-ный код кидает исключения. В C++ нет ключевого слова finally в блоке
try/catch. Подумайте, почему из этого автоматически следует
_необходимость_ иметь врапперы для всего нетривиального (управляющего
ресурсами любого рода) C-кода, используемого из C++.

 ES> Не в каждой, а только в тех, которые будут использовать сишные либы
 ES> напрямую, пропустив C++ варианты в целях некой оптимизации или
 ES> отсутствия необходимых C++ вариантов...

Сравните с "не в каждой, а только в тех, которые будут использовать
сишные либы напрямую, пропустив Haskell-варианты в целяз некой
оптимизации или отсутствия необходимых Haskell-вариантов".

 >> А вы подумайте, подумайте. Ключевые слова: разница в семантике
 >> управления памятью и обработке ошибок, RAII.

 ES> Ну, тут пожалуй соглашусь, только в том, что связки могут быть не
 ES> простыми... Но ведь дело в том, что для частных случаев в С++
 ES> связки делаются в самом коде, и при этом не требуется усилий чтобы
 ES> получить доступ к вызовам С-шных библиотек...

Это не аргумент. Врапперы "по ходу дела" в Haskell делаются ровно так
же. Какая разница, что они лежат в отдельном файле?

 ES> Для С++ есть QT, а так... да верно, если всё писать на С, то со
 ES> связками те же проблемы... Но писать их проще, и пишутся они
 ES> прозрачно, через встроенные средства языка...

Это вам "прозрачно", потому что вы на C++ пишете. А разработчику на
Haskell "прозрачно" использовать встроенные средства языка, типа FFI,
или обёртки, типа c2hs.

 ES> В C++ не требуется для работы сначала сделать связку в виде
 ES> библиотеки, а потом начать работать...

Если есть желание получить неотлаживаемый memory- или resource-лик, то
да. Это замечательное свойство для языка системного программирования.

 ES> Разница в том, что в С++ GTK можно вызывать и без связки, а в Haskell - нет.

Нельзя. См. выше про RAII, исключения и отсутствие finally.

 ES> Если вы требуете признания того, что Haskell такой же "системный
 ES> язык", что и C++, то я скорее склонен согласиться, чем спорить :)

Вот! Да, ровно этого я и добивался. А теперь вопрос, на который вы
отвечаете ниже: а с вашей точки зрения Haskell и правда язык системного
программирования?

 ES> Но, к сожалению, вести речь о его применимости для многих задач я
 ES> уже не готов... А поскольку я не готов его применить, то
 ES> "системным" считать не могу :) Далее мы, скорее всего, снова
 ES> упрёмся в личные предпочтения...

Т.е. язык системного программирования оказался совершенно субъективным
делом, и ваше высказывание, что C++ - язык системного программирования,
подкреплено лишь вашим авторитетом, ибо существенной разницы между C++ и
Haskell, следуя вашей логике доказательства, мы не нашли, а Haskell вы
таковым не считаете.

-- 

[-- Attachment #2: Type: application/pgp-signature, Size: 196 bytes --]

  reply	other threads:[~2008-11-20 13:36 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-14 16:53 [devel] " 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
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 [this message]
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=8763mifrim.fsf@frontier.dottedmag.net \
    --to=dottedmag@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