[Gllug] Dealing with "Word-Only" organisations

Nix nix at esperi.org.uk
Thu Nov 11 22:08:17 UTC 2010


On 10 Nov 2010, Walter Stanish verbalised:

>>> That's fine in theory but in practice, compared to the imperative coding
>>> I was used and OO coding I was being introduced to I found ML so oblique
>>> and practically useless as to be nothing but frustrating, plus the book
>>> cost £50 I could ill afford at the time. I'm still not convinced it has
>>> any use at all in the real world.
>> It took me a year or two of OCaml to realize that everything I learned
>> about OO was wrong and an active hindrance to writing good,
>> maintainable code.  I now rarely use any OO technique.
>
> ANOTHER ONE!  This sentiment is echoed by many (but not all) of
> the veteran developers interviewed in Peter Seibel's book 'Coders at Work'.

Of course, they're right. Even C++'s best parts are not the object
system but templates (not the horrible syntax of templates: the
semantics). The STL hardly uses inheritance at all.

> Somewhere in there is a luscious quote about the perils of an incorrectly
> conceived object system,

Yep. If you get your class hierarchy wrong, you're *stuffed*. They are
nearly incapable of flexible change :( Delegation and around-style
hooking (as CLOS can do) are much better at changing with time. (I wish
C++ had kept its early around-style hooking feature.)

> It's one of the few programming books I can honestly say I really enjoyed,

Seconded. It's excellent.

> The "I don't do / get / really care for" OO notion is one that seems to
> be repeated, though some of the interviewees love it, many simply
> seemed to say "its only appropriate for a small problem domain".

It's good for GUIs. Single-level inheritance hierarchies are sometimes
useful too (but mostly what you want there is containment and a
private interface used by the outer, public API).

> Personally I have encountered it in many forms, and only really like
> the ruby implementation for its reflectiveness.  The problem is perhaps
> made worse where languages such as perl and PHP have half-baked
> object systems tacked on post-facto.  And then there's the joy of
> javascript... :)

Javascript's object system (Self-style prototypical delegation) is very
nice indeed. Its *other* object system (jammed in because it should look
more like Java because Java is hot stuff this week) is an ugly broken
bodge and nobody should use it.
-- 
Gllug mailing list  -  Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug




More information about the GLLUG mailing list