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>