Gnome Goes JavaScript

Christopher Browne cbbrowne-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org
Tue Feb 5 21:03:44 UTC 2013


On Tue, Feb 5, 2013 at 3:41 PM, William Weaver <williamdweaver-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org> wrote:
>> I consider objected oriented programming to be a Bad Thing in general.
>
> I personally would like to know the reasoning for that. It seems a pretty
> heavy handed dismissal of an approach to programming.

I find OO to be a dogma that's desperately in need of some actual theory to
support it.

I'm not aware that there are two notionally "object oriented" languages that
have identical models for what "object oriented" means.

- They always have some notion of "classes", but a class in C++ isn't the
  same as in Objective C or in Smalltalk or as in CLOS.

  Except, it's NOT true that they "always have some notion of classes," as
  Self, which is the basis for Javascript and Lua, doesn't have classes, using
  prototypes instead.

- They always have some notion of "inheritance", but C++, Java, Ruby, CLOS
  have, across them, *extremely* different semantics.  And inheritance
  requires having a class to inherit from, so "always" isn't quite as often as
  one might have imagined.

I find that people, once properly indoctrinated into object orientation dogmas,
are frequently painfully unaccepting of the notion that there are
other programming
paradigms that might be of value, slavishly trying to force everything into the
procrustean bed represented by whichever "OO" language was the first one they
got excited about.

What with the absence of firm theory (go looking; you'll find a *tiny* number of
books with genuinely theoretical material on OO; they'll all fit in a
briefcase),
why *wouldn't* it be more interesting to look at the broad set of programming
paradigms, such as:
 - agent-oriented
 - flow-based
 - declarative
 - functional
 - event-driven
 - concurrency
 - parallelism (!= concurrency)
 - logic programming (& unification)
 - pattern matching
 - generative programming

-- 
When confronted by a difficult problem, solve it by reducing it to the
question, "How would the Lone Ranger handle this?"
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list