9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "David Leimbach" <leimy2k@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: [9fans] gcc on plan9
Date: Thu,  8 Jun 2006 07:51:32 -0700	[thread overview]
Message-ID: <3e1162e60606080751k6435daebs943d094b338b21f8@mail.gmail.com> (raw)
In-Reply-To: <b5dc9f4694e13bd154d0abb3e796e69b@quanstro.net>

> >
> > OOP isn't pointless - but most supposed OOP code is just a poor
> > excuse not to understand your flow control.  My annoyance is that the
> > cult of re-use that is associated with most OOP proselytization makes
> > the code bloat hugely - I'm as guilty of that as the next guy.
> > Compare the STL hash implementation with the the elf hash table
> > implementation - the latter works in 20 lines of code, the former
> > requires 769 lines of near-opaque code.  Sure, it extends to any
> > object you have, but the development cost was huge.  It's good to
> > have it, but then people mimic that style with substantially less re-
> > usable constructs that aren't nearly as functionally stable as
> > hash_map and hash_set.
>
> you're really on to something here.
>
> 768/20  ~= 40.  that may be a good proof that hash tables can't be abstracted from
> the stuff hashed.
>
> i'm not convinced by OOP -- at least in the sense that leads to STL hash tables.

I don't understand why people say OOP and STL in the same sentence.
Just because code is encapsulated and isolated to a class, does not
make that code OO.

In fact, currently, none of the STL classes are even safe to derive
new classes from, based on the fact that none of them have virtual
destructors.

I'd call STL containers and algorithms an attempt at parametric
polymorphism which has been handled better in almost any Functional
Programming language I've ever seen than in C++.

>
> interfaces like those provided by plan 9 fileservers are much more compelling.
> /dev/draw seems to me much more object-oriented than anything i've seen in
> c++ or java.  it's ironic that the oop crowd seems to be the biggest poo-pooers
> of plan 9.
>

I know people who think files should be for files, and that's it.
That abstracting the filesystem to mean anything else is almost as bad
as overloading operators in C++.

I can kind of understand the complaint.

in C++ for example you've got things like

C = A + B;

If A and B are objects of classes, this could mean a lot of different
things as you must define operator + for that class.  A and B don't
even have to be of the same classes, and the same goes for C.  Without
knowing about the data types, it's not really possible to know all the
possible side effects, exceptions, allocations (needless copies that
might be immediately thrown out and how different compilers might
interpret those) etc for a single expression.  In fact there are a lot
of different function calls and code paths that could imply.

The same might be said (though I think with less confusion) when someone says:

echo eject > /dev/<blah>

could be confusing because the file interface and syntax by which we
operate on it is also overloaded.

Now think about Mac OS X again.  Sure it's unix underneath, but does
grandma even know or care about that?  Probably not.  One of my best
friends is a graphic artist who uses it every day.  He asked me about
Terminal.app one day (which would get him a shell and expose him to a
whole other world of functionality).  I told him to ignore it, that
for him, it'd be opening up the wrong can of worms.

For some, ignorance really is bliss.  And never needing to touch the
shell and still be productive is actually a dream come true.

Dave

> - erik
>


  parent reply	other threads:[~2006-06-08 14:51 UTC|newest]

Thread overview: 243+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-07 17:58 Corey
2006-06-07 18:24 ` Roman Shaposhnick
2006-06-07 18:50   ` Ronald G Minnich
2006-06-07 18:55     ` William Josephson
2006-06-07 20:12       ` Ronald G Minnich
2006-06-07 20:20         ` Roman Shaposhnick
2006-06-07 20:42           ` Ronald G Minnich
2006-06-07 20:44         ` William Josephson
2006-06-07 21:00           ` Ronald G Minnich
2006-06-07 19:05     ` Roman Shaposhnick
2006-06-07 20:13       ` Ronald G Minnich
2006-06-07 20:48         ` Roman Shaposhnick
2006-06-07 21:04           ` Ronald G Minnich
2006-06-08  6:42             ` Roman Shaposhnik
2006-06-08  7:00               ` Iruatã Souza (muzgo)
2006-06-07 19:48   ` Corey
2006-06-07 20:16     ` Ronald G Minnich
2006-06-07 20:26       ` Roman Shaposhnick
2006-06-07 20:43         ` Ronald G Minnich
2006-06-08  5:49           ` lucio
2006-06-07 18:57 ` Francisco J Ballesteros
2006-06-07 19:55   ` Corey
2006-06-07 20:46     ` rog
2006-06-07 21:07       ` Corey
2006-06-07 21:16         ` Christoph Lohmann
2006-06-07 21:25           ` Rodolfo (kix)
2006-06-07 21:50             ` Corey
2006-06-07 21:54               ` David Leimbach
2006-06-07 21:56               ` Ronald G Minnich
2006-06-07 22:06               ` Lluís Batlle i Rossell
2006-06-07 22:16                 ` David Leimbach
2006-06-07 22:31                   ` Francisco J Ballesteros
2006-06-07 22:33                     ` Ronald G Minnich
2006-06-08  9:44                       ` Victor Nazarov
2006-06-09 21:13                   ` Roman Shaposhnick
2006-06-08  1:28                 ` quanstro
2006-06-09 13:12                   ` Lluís Batlle
2006-06-09 13:21                     ` quanstro
2006-06-09 13:47                       ` Lluís Batlle
2006-06-07 23:04               ` geoff
2006-06-07 23:10                 ` Steve Simon
2006-06-08  0:22                   ` Bakul Shah
2006-06-08  0:27                   ` geoff
2006-06-08  3:31                   ` Ronald G Minnich
2006-06-08 15:04                     ` David Leimbach
2006-06-08 15:20                       ` Ronald G Minnich
2006-06-07 23:15                 ` andrey mirtchovski
2006-06-08  0:17                   ` geoff
2006-06-09 21:15                   ` Roman Shaposhnick
2006-06-09 21:26                     ` andrey mirtchovski
2006-06-09 21:27                       ` andrey mirtchovski
2006-06-09 21:34                       ` Roman Shaposhnick
2006-06-09 21:38                         ` andrey mirtchovski
2006-06-09 21:44                           ` andrey mirtchovski
2006-06-10  6:57                         ` "Nils O. Selåsdal"
2006-06-08  1:58                 ` Latchesar Ionkov
2006-06-08  0:53                   ` geoff
2006-06-08  1:07                     ` Latchesar Ionkov
2006-06-08  1:15                       ` quanstro
2006-06-08 15:02                         ` David Leimbach
2006-06-09  4:04                           ` quanstro
2006-06-08  1:22                       ` geoff
2006-06-08  1:25                         ` Latchesar Ionkov
2006-06-09 21:21                           ` Roman Shaposhnick
2006-06-09 21:27                             ` Roman Shaposhnick
2006-06-08 14:59                         ` David Leimbach
2006-06-09  4:05                           ` quanstro
2006-06-08  1:39                       ` [9fans] quantity vs. quality Lyndon Nerenberg
2006-06-08  3:05                         ` Dan Cross
2006-06-08  3:44                           ` Joel Salomon
2006-06-08  7:03                             ` Roman Shaposhnik
2006-06-09 22:03                           ` Roman Shaposhnick
2006-06-09 22:44                             ` David Leimbach
2006-06-09 22:46                               ` quanstro
2006-06-09 22:51                               ` Latchesar Ionkov
2006-06-09 22:55                                 ` quanstro
2006-06-09 23:19                                   ` Latchesar Ionkov
2006-06-09 23:29                                     ` quanstro
2006-06-10  1:57                                       ` Latchesar Ionkov
2006-06-09 23:51                                         ` quanstro
2006-06-10  0:10                                           ` Roman Shaposhnick
2006-06-10  2:31                                             ` Latchesar Ionkov
2006-06-10  0:45                                               ` Roman Shaposhnick
2006-06-10  3:01                                                 ` Latchesar Ionkov
2006-06-10  0:52                                                   ` quanstro
2006-06-10  1:04                                                   ` Roman Shaposhnick
2006-06-10 23:13                                                 ` Ronald G Minnich
2006-06-11  0:44                                                   ` quanstro
2006-06-11  5:08                                                     ` lucio
2006-06-11 10:09                                                       ` quanstro
2006-06-11 12:00                                                         ` lucio
2006-06-11 22:59                                                           ` quanstro
2006-06-11 23:26                                                           ` geoff
2006-06-12  3:45                                                             ` Paul Lalonde
2006-06-12 20:16                                                               ` Ronald G Minnich
2006-06-12 20:23                                                                 ` Roman Shaposhnick
2006-06-12 20:56                                                                   ` Ronald G Minnich
2006-06-12 21:09                                                                     ` Victor Nazarov
2006-06-13  0:05                                                                     ` Roman Shaposhnik
2006-06-12 21:15                                                                 ` Francisco J Ballesteros
2006-06-13 12:08                                                                   ` rog
2006-06-13 16:34                                                                     ` Skip Tavakkolian
2006-06-13 21:35                                                                       ` "Nils O. Selåsdal"
2006-06-14 22:09                                                                     ` Roman Shaposhnick
2006-06-15 15:46                                                                       ` Victor Nazarov
2006-06-11  5:42                                                   ` Russ Cox
2006-06-11 10:08                                                     ` quanstro
2006-06-12  1:03                                                   ` Roman Shaposhnik
2006-06-10 23:05                                               ` Ronald G Minnich
2006-06-11  0:00                                                 ` quanstro
2006-06-10  0:24                                           ` andrey mirtchovski
2006-06-10  0:36                                             ` quanstro
2006-06-10  2:27                                           ` Latchesar Ionkov
2006-06-10  0:23                                             ` quanstro
2006-06-10  0:41                                               ` Paul Lalonde
2006-06-10  0:59                                                 ` quanstro
2006-06-10  1:15                                                   ` Paul Lalonde
2006-06-10  5:19                                                     ` Bruce Ellis
2006-06-10  2:51                                               ` Latchesar Ionkov
2006-06-10  0:45                                                 ` quanstro
2006-06-10  3:10                                                   ` Latchesar Ionkov
2006-06-10  0:53                                                     ` quanstro
2006-06-10 23:06                                               ` Ronald G Minnich
2006-06-10 23:15                                                 ` geoff
2006-06-11  2:58                                                 ` jmk
2006-06-10 23:04                                           ` Ronald G Minnich
2006-06-11  0:05                                             ` quanstro
2006-06-10 23:03                                       ` Ronald G Minnich
2006-06-09 23:25                                 ` Ronald G Minnich
2006-06-09 23:38                                   ` David Leimbach
2006-06-09 23:45                                     ` andrey mirtchovski
2006-06-09 23:46                                     ` Paul Lalonde
2006-06-10 23:03                                       ` Ronald G Minnich
2006-06-10 23:02                                     ` Ronald G Minnich
2006-06-11  0:12                                       ` quanstro
2006-06-11  2:20                                         ` Ronald G Minnich
2006-06-11 22:31                                       ` David Leimbach
2006-06-10  0:28                               ` Roman Shaposhnick
2006-06-09 21:29                         ` Roman Shaposhnick
2006-06-09 21:34                           ` andrey mirtchovski
2006-06-08  1:49                   ` [9fans] gcc on plan9 Ignacio Torres Masdeu
2006-06-08 14:10                 ` David Leimbach
2006-06-09  4:09                   ` quanstro
2006-06-09  5:25                     ` David Leimbach
2006-06-07 22:39           ` Corey
2006-06-07 22:49             ` Paul Lalonde
2006-06-07 23:17               ` Corey
2006-06-07 23:37                 ` Paul Lalonde
2006-06-08  0:50                   ` quanstro
2006-06-08  1:16                     ` John Barham
2006-06-08 14:51                     ` David Leimbach [this message]
2006-06-09  4:49                       ` ems
2006-06-09 12:07                       ` quanstro
2006-06-09 19:17                       ` Roman Shaposhnick
2006-06-09 21:27                         ` Bakul Shah
2006-06-09 21:33                           ` Francisco J Ballesteros
2006-06-09 21:39                             ` quanstro
2006-06-09 21:56                               ` Francisco J Ballesteros
2006-06-09 22:01                                 ` quanstro
2006-06-09 22:17                                   ` Francisco J Ballesteros
2006-06-09 22:35                                     ` quanstro
2006-06-09 22:22                             ` Bakul Shah
2006-06-09 22:30                               ` quanstro
2006-06-09 23:22                                 ` Bakul Shah
2006-06-10 13:51                                 ` Francisco J Ballesteros
2006-06-10 23:21                                   ` Ronald G Minnich
2006-06-11  0:07                                     ` LiteStar numnums
2006-06-10  0:00                               ` Harri Haataja
2006-06-10  0:03                                 ` Bruce Ellis
2006-06-10  1:00                               ` Roman Shaposhnick
2006-06-10  4:37                                 ` Iruatã Souza (muzgo)
2006-06-12  0:35                                   ` Roman Shaposhnik
2006-06-09 21:43                           ` quanstro
2006-06-10 12:43                           ` rog
2006-06-07 22:56             ` Christoph Lohmann
2006-06-07 23:08               ` Dan Cross
2006-06-07 23:32                 ` Federico G. Benavento
2006-06-07 23:48                   ` Dan Cross
2006-06-08  0:32               ` Corey
2006-06-08  1:04                 ` jmk
2006-06-08  3:35                   ` Ronald G Minnich
2006-06-08  3:51                     ` Ronald G Minnich
2006-06-08  4:07                       ` Roman Shaposhnik
2006-06-08  5:19                         ` Ronald G Minnich
2006-06-08  6:07                           ` Federico G. Benavento
2006-06-08 17:45                           ` Micah Stetson
2006-06-08 18:54                             ` Ronald G Minnich
2006-06-08 18:55                             ` Iruatã Souza (muzgo)
2006-06-08 18:56                               ` andrey mirtchovski
2006-06-08 19:01                                 ` Iruatã Souza (muzgo)
2006-06-09 19:56                           ` Roman Shaposhnick
2006-06-09 22:19                             ` quanstro
2006-06-09 23:19                               ` Ronald G Minnich
2006-06-08  4:11                       ` Paul Lalonde
2006-06-08  5:25                       ` ems
2006-06-08  5:43                         ` Simon Williams
2006-06-08  6:09                           ` Bruce Ellis
2006-07-16 15:17                         ` ASCII Glenda (was Re: [9fans] gcc on plan9) csant
2006-07-16 22:17                           ` e.c.sharpe
2006-07-16 22:37                             ` Jack Johnson
2006-07-17  8:35                               ` Rodolfo (kix)
2006-06-08  1:06                 ` [9fans] gcc on plan9 geoff
2006-06-08  1:21                   ` quanstro
2006-06-08 10:15                   ` Victor Nazarov
2006-06-08  9:40             ` Lluís Batlle
2006-06-08 15:55               ` Corey
2006-06-08 22:48                 ` Fred Wade
2006-06-08 23:08     ` Roman Shaposhnick
2006-06-08 23:51       ` Corey
2006-06-07 20:46 ` Latchesar Ionkov
2006-06-07 19:07   ` Roman Shaposhnick
2006-06-07 19:17     ` Latchesar Ionkov
2006-06-07 19:26       ` Roman Shaposhnick
2006-06-07 19:35         ` Brantley Coile
2006-06-07 20:15           ` Ronald G Minnich
2006-06-07 20:32             ` Roman Shaposhnick
2006-06-07 19:47         ` Latchesar Ionkov
2006-06-07 20:00           ` Corey
2006-06-07 20:13           ` Roman Shaposhnick
2006-06-07 20:40             ` Ronald G Minnich
2006-06-08  6:49               ` Roman Shaposhnik
2006-06-07 21:21       ` Christoph Lohmann
2006-06-07 21:49         ` Ronald G Minnich
2006-06-07 22:50           ` Dan Cross
2006-06-08  7:08 cej
2006-06-08  9:18 ` quanstro
2006-06-08 11:58   ` rog
2006-06-09  4:20     ` quanstro
2006-06-08 17:20 ` Corey
2006-06-09  4:00   ` quanstro
2006-06-09 12:40     ` Corey
2006-06-09 13:15       ` quanstro
2006-06-09 15:10         ` Corey
2006-06-09 15:27           ` C H Forsyth
2006-06-09 15:39             ` David Leimbach
2006-06-09 15:37           ` quanstro
2006-06-09 14:52       ` lucio
2006-06-09 18:42         ` quanstro
2006-06-09 21:12           ` David Leimbach
2006-06-10  5:28           ` lucio
2006-06-10  1:36       ` Roman Shaposhnick
2006-06-10 16:32         ` David Leimbach
2006-06-08  7:24 cej

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=3e1162e60606080751k6435daebs943d094b338b21f8@mail.gmail.com \
    --to=leimy2k@gmail.com \
    --cc=9fans@cse.psu.edu \
    /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).