Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Jul 1995 13:36:19 -0700
From:      "Jordan K. Hubbard" <jkh@time.cdrom.com>
To:        dennis@et.htp.com (dennis)
Cc:        hackers@freebsd.org
Subject:   Re: 
Message-ID:  <8795.806963779@time.cdrom.com>
In-Reply-To: Your message of "Fri, 28 Jul 1995 12:36:08 EDT." <199507281636.MAA19530@mail.htp.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> UNIX is an abortion. All O/Ss are abortions. There is no clean way to design 

Well, yes, but now we're expanding the topic a little too widely.. :-)

> it to do. The wost thing is if you have to redesign the internal structures
> every time something
> new comes along. ioctls() allow you to design  portable interfaces without
> having to change the O/S.

Oh YUCK, no they don't!  You still need to hack the OS to get the
whatever driver it is you're working on to see the new ioctl, and then
you need to beat on the header files to get the new ioctl() define
registered in user space.  That's one of the reasons I hate the whole
mechanism - it's crude!

There is a better way, and it's called the Object model..  No, I'm not
a C++ or Smalltalk fanatic, and I think that the whole OOP thing has
actually been considerably over-hyped, but this is one instance where
the fundamental tennets of object orientation are quite sound.  Files
should be objects with extensible, inheritable behaviors.  Instead of
ioctl()'ing them, you should send them messages which propagate up the
inheritance chain as necessary.  You should also be able to have
arbitrary properties that can be associated with them as necessary,
thus ending the "suffix bodge" once and for all.

I haven't played with OS/2 extensively enough to really class myself
as an advocate, but on the surface it looks like they've essentially
done something very much like this and it looks pretty neat.

					Jordan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8795.806963779>