From: Eris Discordia <eris.discordia@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] critique of sockets API
Date: Thu, 11 Jun 2009 22:21:58 +0100 [thread overview]
Message-ID: <D9FE8C51EE2D568C05E555DD@[192.168.1.2]> (raw)
In-Reply-To: <71551546922daa465e9934a8b3f4b90e@quanstro.net>
> but given that plan 9 is about having a system that's easy
> to understand and modify, i would think that it would be
> tough to demonstrate that asyncronous i/o or callbacks
> could make the system (or even applications) simplier.
> i doubt that they would make the system more efficient,
> either.
>
> do you have examples that demonstrate either?
I can't claim I have anything in code which would be necessary for an
actual demonstration or for going beyond the "talk talk talk" stage. I can,
however, present one simple case: in some applications asynchronous name
resolving is a must and it can be realized by either of threads or
callbacks. Crawlers and scanners come to mind. Spawning threads for DNS
requests could be more costly than registering a set of callbacks within
one thread and then harvesting the results within that same thread.
> one can build what's needed. compare just r?fork and exec
> with all the spawn variants windows has.
The actual number of calls in CreateThread and CreateProcess family is
rather small. Most calls are wrappers for more basic calls but we don't
want to go into that.
> i think you're trying to argue that — a priori — choice is good?
I believe it is. How many of us are using strictly RISC machines on our
desks today? Extending the set of available primitives and adding to the
complexity of each primitive both are natural steps in the development of
computer systems as they see more use. Limiting options doesn't seem to me
to be an effective way of encouraging good programming practice. It can,
however, successfully discourage potential middle users.
> that's not the position i subscribe to. and since plan 9
> is simple and easy to change, it makes an ideal system
> for someone who wants to try new things.
And after the new things are tried out and, one may hope, proven
advantageous? I think the next step would be incorporating them into the
system. A process that in due time will make the system less simple and
easy to change but more immediately useful.
I see this more as a difference of intended audience than a difference of
taste or philosophy. The real question is whom you imagine as your system's
middle user: a wage-earning programmer or a researcher. Were I a programmer
who worked for pay I'd very much appreciate being given every possible
option that would let me do my job easier, faster, and, of course, more
properly.
--On Thursday, June 11, 2009 14:24 -0400 erik quanstrom
<quanstro@quanstro.net> wrote:
>> I might as well repeat myself: choice of strategy depends on the
>> application. Given choice programmers can decide on which strategy or
>> combination of strategies works best. Without choice, well, they will
>> just live with what's available.
>
> this is a very deep philosophical divide between windows and
> systems like plan 9, and research unix. the approach the labs
> took was to provide a minimal set of primatives from which
> one can build what's needed. compare just r?fork and exec
> with all the spawn variants windows has.
>
> i think you're trying to argue that — a priori — choice is good?
>
> but given that plan 9 is about having a system that's easy
> to understand and modify, i would think that it would be
> tough to demonstrate that asyncronous i/o or callbacks
> could make the system (or even applications) simplier.
> i doubt that they would make the system more efficient,
> either.
>
> do you have examples that demonstrate either?
>
>> One Right Way" always leaves open the question of whether a different
>> choice of strategy on the same platform, were a different choice
>> available, would have yielded better results.
>
> clearly if that position is accepted, computer science is a
> solved problem; we should all put our heads down and just
> code up the accepted wisdom.
>
> that's not the position i subscribe to. and since plan 9
> is simple and easy to change, it makes an ideal system
> for someone who wants to try new things.
>
> - erik
>
next prev parent reply other threads:[~2009-06-11 21:21 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <b0a72b5826eb44300d3603f585859910@quanstro.net>
2009-06-11 14:54 ` Eris Discordia
2009-06-11 18:24 ` erik quanstrom
2009-06-11 21:21 ` Eris Discordia [this message]
2009-06-11 23:41 ` erik quanstrom
2009-06-12 4:32 ` Paul Lalonde
2009-06-12 7:19 ` Eris Discordia
[not found] ` <D9FE8C51EE2D568C05E555DD@192.168.1.2>
2009-06-11 23:34 ` Devon H. O'Dell
2009-06-12 7:21 ` Eris Discordia
[not found] <mailman.1.1244808001.26495.9fans@9fans.net>
2009-06-13 1:39 ` Bhanu Nagendra Pisupati
2009-06-11 12:16 erik quanstrom
[not found] <mailman.1.1244635201.19660.9fans@9fans.net>
2009-06-10 23:46 ` Bhanu Nagendra Pisupati
[not found] <mailman.1007.1244590421.1513.9fans@9fans.net>
2009-06-10 22:50 ` Bhanu Nagendra Pisupati
2009-06-11 12:34 ` erik quanstrom
[not found] <mailman.998.1244574121.1513.9fans@9fans.net>
2009-06-09 23:20 ` Bhanu Nagendra Pisupati
2009-06-09 23:24 ` J.R. Mauro
2009-06-09 23:33 ` Devon H. O'Dell
2009-06-10 3:33 ` Gary Wright
2009-06-10 0:07 ` erik quanstrom
2009-06-10 0:34 ` erik quanstrom
2009-06-11 7:07 ` Eris Discordia
-- strict thread matches above, loose matches on Subject: below --
2009-06-09 18:49 Bhanu Nagendra Pisupati
2009-06-09 18:59 ` erik quanstrom
2009-06-09 22:11 ` Russ Cox
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='D9FE8C51EE2D568C05E555DD@[192.168.1.2]' \
--to=eris.discordia@gmail.com \
--cc=9fans@9fans.net \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).