Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #22137
| From | Bernd Paysan <bernd.paysan@gmx.de> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: For the OOP fans ... |
| Date | 2013-05-02 00:34 +0200 |
| Organization | 1&1 Internet AG |
| Message-ID | <kls5ai$3rl$1@online.de> (permalink) |
| References | <51811e81.95904672@news.demon.co.uk> <20f7cd46-3a93-402d-86b2-4aad670307a3@googlegroups.com> <51814b58.107383756@news.demon.co.uk> |
Stephen Pelc wrote: > On Wed, 1 May 2013 08:02:57 -0700 (PDT), Jason Damisch > <jasondamisch@yahoo.com> wrote: > >>On Wednesday, May 1, 2013 6:57:26 AM UTC-7, Stephen Pelc wrote: >> >>> "Indeed, one of the unpleasant side-effects of the OO paradigm is > > No. Les Hatton wrote that. I just found the whole post interesting, > especially given the number of OOPish and OOP packages that MPE > supports for one reason or another. We already figured out why you have to support so many OOP packages: Because they are all designed for a single purpose. That's the Forth way to do it. BerndOOF is designed to implement MINOS. It says it aims at being a general purpose OOP package, but it failed to become one, just like all the others you support failed. You have seen Doug asking for "turning on/off the current object mechanism" just a few hours ago. That's a typical thing people do ;-). A Forth programmer going to the local hardware store doesn't ask for a hammer, and is pleased by a standard hammer. He goes at length discussing the advantages of sledgehammers over carpender hammers or the other way round, and for sure, you need a sledgehammer for 9 inch nails, but a carpender hammer for 2 inch nails. The grief I have with C++ and Java OOP programs is that they are "onions" of layers of abstractions, adding smelly white onion layers instead of doing real work. If I look at some of the Dalvik code, I'm asking myself "has this been tested?", and the answer is an obvious "not at all", because it doesn't work (some components don't work at all, some sort-of work, and some work fine). It's adding another layer of abstraction, and each layer contains additional bugs. Since it's hard to test your code in C++ or Java, people don't do it. The promise of type-checked languages is that if your code compiles, it is already bug-free... I want OOP when I program GUIs; I use some slimmed down OOP for implementing core parts of a Forth system like input handling or now for the monotoken system, where compile,, postpone, and to have their fields in a vtable for each word (this is OOP style programming, though it certainly isn't class- based). IMHO the place for OOP-style techniques is always there when you have a natural, common interface to components which you want to interchange. If you don't have OOP, you still do it, like e.g. IO vectoring - and that's something you do, too. VFX, IIRC the documentation, even has a vtable for that. That's OOP. Yes, Stephen, that's OOP. It's a typical Forth-OOP, it uses a small subset of C++, tailored for the task at hand, and tailored in a way that makes it impossible to reuse. Your method invoke is called DoIO, and it really can only do IO, nothing else. You should add DoIO to the number of OOP systems you maintain, and answer the question why it is different from all the others. We have similar questions in the Gforth kernel, which contains about 4 different tiny OOPy thingies :-P. Yes, we are trying to consolidate those. No, we don't want a full-blown OOP system in the kernel. -- Bernd Paysan "If you want it done right, you have to do it yourself" http://bernd-paysan.de/
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar
For the OOP fans ... stephenXXX@mpeforth.com (Stephen Pelc) - 2013-05-01 13:57 +0000
Re: For the OOP fans ... Steve <nospam275@gmail.com> - 2013-05-01 07:22 -0700
Re: For the OOP fans ... Jason Damisch <jasondamisch@yahoo.com> - 2013-05-01 08:02 -0700
Re: For the OOP fans ... stephenXXX@mpeforth.com (Stephen Pelc) - 2013-05-01 17:08 +0000
Re: For the OOP fans ... Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-01 12:12 -0500
Re: For the OOP fans ... albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-05-01 19:11 +0000
Re: For the OOP fans ... Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-01 15:36 -0500
Re: For the OOP fans ... Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-02 00:34 +0200
Re: For the OOP fans ... Doug Hoffman <glidedog@gmail.com> - 2013-05-02 05:13 -0400
Re: For the OOP fans ... Paul Rubin <no.email@nospam.invalid> - 2013-05-01 21:54 -0700
Re: For the OOP fans ... anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-02 07:57 +0000
Re: For the OOP fans ... Roberto Waltman <usenet@rwaltman.com> - 2013-05-03 15:04 -0400
Re: For the OOP fans ... stephenXXX@mpeforth.com (Stephen Pelc) - 2013-05-04 10:58 +0000
Re: For the OOP fans ... stephenXXX@mpeforth.com (Stephen Pelc) - 2013-05-11 10:49 +0000
csiph-web