Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

is oo oversold?

9 views
Skip to first unread message

gavino

unread,
Dec 4, 2007, 7:52:30 AM12/4/07
to

Andreas Thiele

unread,
Dec 4, 2007, 8:06:52 AM12/4/07
to

"gavino" <gavc...@gmail.com> schrieb im Newsbeitrag news:452e9be5-daf3-435f...@e4g2000hsg.googlegroups.com...
> http://www.geocities.com/tablizer/oopbad.htm

Hi Gaviano,

I think, you asked the wrong group :) I guess I'm not wrong when I say, many of us prefer
a declarative or functional programming style over OO. OO is a nice thing if it fits your
problem at hand. It was invented for simulating physics. Good thing for simulation. But
when you are forced to solve all your problems by OO you are very much restricted.

I use OO only when needed or when there is an obviously simple OO solution for my problem.
Normally I prefer what is called 'Language Oriented Programming'.

Andreas

P.S. Paul Graham thinks, OO is not needed at all (s. his website)

Daniel Weinreb

unread,
Dec 4, 2007, 8:36:59 AM12/4/07
to
gavino wrote:
> http://www.geocities.com/tablizer/oopbad.htm

This article is unimpressive.

Is OOP overhyped sometimes? Sometimes, sure.
What isn't?

"OOP in itself does NOT allow programs to do things
that they could do before.
OOP is more of a program organizational philosophy
rather than a set of new external solutions or operations."

Well, sure. "do" and "while" statements don't let you
do anything you could not do before with "goto" statements,
and so on.

The arguments about doing GUI's without OOP is a strawman.
I would never justify OOP in that way.

What is his point about keyword parameters (second para
of "Beating Up Straw Men")? This is entirely orthogonal
to OOP. Common Lisp (CLOS) has OOP and does keyword and
optional parameters just fine.

"Bait-and-switch" seems to be an argument that there
are some things beyond the capabilities of most
OOP systems. That much is true; nobody ever said
that OOP did everything in the world. (But look
at Pascal Costanza's ContextL to see how to enhance
CLOS more in the direction this guy wants.) But the
idea that OOP only works in tiny examples is preposterous.
I have worked on many very, very large systems that
use OOP to great advantage, and so have lots of other
people.

"Land of Confusion": he says that "Experts say" that
you can't learn OOP's benefits from a book, and only
a small elite group appears to understand it properly.
Poppycock. There are fine books and it doesn't take
long to grasp. I've seen lots of people learn it
with little trouble.

"Some experts say that a company cannot get the benefits of OOP without
using Object-Oriented Database systems". Wow, who are these
"some people"? I founded an object-oriented database
system company and was a huge booster of OODBMS's, and
certainly we never said anything of the sort.

"However, there are very few books on database connections to OOP"
Look up Hibernate in Amazon. How many books do you need?

"There is also a lot of mixed opinions about when, where, why, how, and
if OO works better for some domains (industries) over others. One OO
proponent will say it works well for games but not embedded systems, and
another will say the opposite. Some proponents say it works well for
nearly all domains." Why is this an argument against OOP? Naturally
people have a diversity of opinions about things. What else is new?

"An OOP consultant may have to be well-versed in dozens of OO
methodologies to be able to walk into a shop and perform any useful work
any time soon." That's silly.

"Not Table-Friendly": Indeed, there is an "impedence mismatch"
between RDBMS's and classes. You can either use an OODBMS
(but, as he points out, that choice is often not open to
you and there are reasons that OODBMS's are not selling as
well as RDBMS's, as he correctly says), or you can use
an object-relational mapping. I guess most of what he
says here is correct. I'm not sure what he want to do about
it. He mentioned that he likes something called "Table-oriented
programming" so perhaps he wants to program using relations
as a basic data structure. I've often wondered about how
something like that might work. It's an interesting idea,
but it means you'd be using a rather non-standard language,
which has its own drawbacks.

"When a new language fad replaces OOP, how do you convert ..."
When a new fad like structured programming disappears,
what will you do with all those "do" and "while" statements?
That's rhetorical and ironic, of course. What I'm really
saying is that OOP is here to stay as much as anything else.
Shying away from a language features because some unknown
future language might be different is the most hyperconservative
thing I have ever heard. I will watch him eat his hat with
OOPS is still being used in 2015. The only reason it won't
be in "vogue" is that it will be taken for granted just
like structured programming (e.g. using loops instead of
goto's) is now. He later refers to OOP as a "cult", whereas
it is in fact in the mainstream. C++ and Java are hardly
"cult" languages.

This guy does actually have some good points, although so
far, nothing I haven't heard before. I've had enough of
this but maybe I'll read the rest of it someday.


Maciej Katafiasz

unread,
Dec 4, 2007, 11:15:03 AM12/4/07
to
Den Tue, 04 Dec 2007 13:36:59 +0000 skrev Daniel Weinreb:

> This article is unimpressive.

It is, IMHO you spent way too much time to get as far as you did :)

> "Bait-and-switch" seems to be an argument that there are some things
> beyond the capabilities of most OOP systems. That much is true; nobody
> ever said that OOP did everything in the world.

See below.

> "Not Table-Friendly": Indeed, there is an "impedence mismatch" between
> RDBMS's and classes. You can either use an OODBMS (but, as he points
> out, that choice is often not open to you and there are reasons that
> OODBMS's are not selling as well as RDBMS's, as he correctly says), or
> you can use an object-relational mapping. I guess most of what he says
> here is correct. I'm not sure what he want to do about it. He
> mentioned that he likes something called "Table-oriented programming" so
> perhaps he wants to program using relations as a basic data structure.
> I've often wondered about how something like that might work. It's an
> interesting idea, but it means you'd be using a rather non-standard
> language, which has its own drawbacks.

There are some links to "relational vs. OOP", but it's far too boring and
incoherent to extract any kind of useful proposal out of it.



> He later refers to OOP as a "cult", whereas
> it is in fact in the mainstream. C++ and Java are hardly "cult"
> languages.

And this is where we disagree. C++, Java, and especially how it's "purely
object-oriented", with associated "design patterns", "methodologies" and
the rest of junk very much *are* a cult. I've seen far too many cases of
total brain damage caused by Java, and I've rewritten several Wikipedia
articles from scratch, because the OO retardation was too great.
"Inversion of control" being the most recent example.

So, whereas I'm completely in agreement with you that OO is not some kind
of great, all-encompassing life philosophy capable of solving all of
humanity's problems, and just a very useful tool, it certainly is true
that many (too many) people come to see it that way, and then go on a
crusade to impose that broken view upon everyone else.

Cheers,
Maciej

Message has been deleted

Alex Mizrahi

unread,
Dec 4, 2007, 12:04:15 PM12/4/07
to
g> http://www.geocities.com/tablizer/oopbad.htm

this is explained in "Patterns of Software" by Richard Gabriel:

http://www.dreamsongs.com/Files/PatternsOfSoftware.pdf


David Golden

unread,
Dec 4, 2007, 1:41:39 PM12/4/07
to
Daniel Weinreb wrote:

> I've often wondered about how
> something like that might work. It's an interesting idea,
> but it means you'd be using a rather non-standard language,
> which has its own drawbacks.
>

http://ap5.com/ is pretty much relational programming for lisp.

Not open-source, though, unfortunately (at least last I checked. Source
is supplied, but just visible-source rather than clear open-source).

Dan Muller

unread,
Dec 4, 2007, 8:42:08 PM12/4/07
to

Daniel Weinreb <d...@alum.mit.edu> writes:
> gavino wrote:
>> http://www.geocities.com/tablizer/oopbad.htm
>
> ...

Oh lord. gavino referencing topmind's Web site on c.l.l. ... and
getting commentary by Daniel Weinreb.

This is extremely surreal.

Browse the C2 wiki for more about topmind and his ideas than you'd
ever, ever want to know.

On second thought, don't. Have a beer instead, and keep reading c.l.l.


gavino

unread,
Dec 4, 2007, 9:41:55 PM12/4/07
to
On Dec 4, 5:06 am, "Andreas Thiele" <nos...@nospam.com> wrote:
> "gavino" <gavcom...@gmail.com> schrieb im Newsbeitragnews:452e9be5-daf3-435f...@e4g2000hsg.googlegroups.com...

yeah I saw that, he says if you have random access to features of oo
then don't need to be limited by oo, he also not liek clos

gavino

unread,
Dec 4, 2007, 9:45:28 PM12/4/07
to
what do you think about smalltalk 80? its message passing oriented
programming according to a recent essay I read about people not
getting oo and smalltalk

gavino

unread,
Dec 4, 2007, 9:48:51 PM12/4/07
to

gavino

unread,
Dec 4, 2007, 9:49:08 PM12/4/07
to

Ken Tilton

unread,
Dec 5, 2007, 12:27:11 AM12/5/07
to

Richard Gabriel denounced OO as the cause of the dot bomb crash during
an ILC keynote. Thought you should know.

kxo


--
http://www.theoryyalgebra.com/

"In the morning, hear the Way;
in the evening, die content!"
-- Confucius

Daniel Weinreb

unread,
Dec 5, 2007, 6:49:33 AM12/5/07
to
Richard Gabriel just devoted the most recent year of his life
to being the program chair of the Object-Oriented Programming,
Systems, Languages, and Applications conference. If he doesn't
believe in object-oriented stuff, I'm a monkey's uncle.

Ken Tilton

unread,
Dec 5, 2007, 7:36:40 AM12/5/07
to

I'll believe that the day a CL luminary turns up working for Sun on Java.

> If he doesn't
> believe in object-oriented stuff, I'm a monkey's uncle.

Well, RG as an OOPSter may not be a contradiction to what I said --
possibly Gabriel was /rejoicing/ over OO's efficacy in single-handedly
stopping the dot com madness and I took it the wrong way. :) RG did not
expand on his observation, rather spent the rest of his address talking
about how much homework they assign when you try to get an MA in poetry.

As for the possibility of you being a monkey's uncle, your resume is
impressive, you might be just what I need to get this development team
of mine down out of the trees and back to their keyboards.

kt

Ken Tilton

unread,
Dec 5, 2007, 7:50:02 AM12/5/07
to

I think it was ILC 2003. Was this a harbinger?:

http://www.dreamsongs.com/ObjectsHaveFailedNarrative.html

Rainer Joswig

unread,
Dec 5, 2007, 8:39:58 AM12/5/07
to
In article <GWw5j.1379$g26...@newsfe08.lga>,
Ken Tilton <kenny...@optonline.net> wrote:

> > Richard Gabriel just devoted the most recent year of his life
> > to being the program chair of the Object-Oriented Programming,
> > Systems, Languages, and Applications conference.
>
> I'll believe that the day a CL luminary turns up working for Sun on Java.
>
> > If he doesn't
> > believe in object-oriented stuff, I'm a monkey's uncle.
>
> Well, RG as an OOPSter may not be a contradiction to what I said --
> possibly Gabriel was /rejoicing/ over OO's efficacy in single-handedly
> stopping the dot com madness and I took it the wrong way. :) RG did not
> expand on his observation, rather spent the rest of his address talking
> about how much homework they assign when you try to get an MA in poetry.
>
> As for the possibility of you being a monkey's uncle, your resume is
> impressive, you might be just what I need to get this development team
> of mine down out of the trees and back to their keyboards.


He seems not be of unsure in which directions to go. All!

I mean, see this:

Worse is better.
http://www.dreamsongs.com/Files/LispGoodNewsBadNews.pdf

Worse is better is worse.
http://www.dreamsongs.com/Files/worse-is-worse.pdf

Is Worse really better?
http://www.dreamsongs.com/Files/IsWorseReallyBetter.pdf

Is Worse (Still) Better?
http://www.dreamsongs.com/Files/WorseIsBetterPositionPaper.pdf

Worse is (Still) Better.
http://www.dreamsongs.com/Files/ProWorseIsBetterPosition.pdf


He is a living contradiction. ;-)

--
http://lispm.dyndns.org/

Daniel Weinreb

unread,
Dec 5, 2007, 9:15:16 AM12/5/07
to

I assume that's meant to be an ironic reference to Guy Steele?

>>
>>> If he doesn't
>>> believe in object-oriented stuff, I'm a monkey's uncle.
>>
>>
>> Well, RG

Oh, no, not "RG". That always means Richard Greenblatt. You mean
"RPG", role-playing games and rocket-launched grenades nonwithstanding.

as an OOPSter may not be a contradiction to what I said --
>> possibly Gabriel was /rejoicing/ over OO's efficacy in single-handedly
>> stopping the dot com madness and I took it the wrong way. :) RG did
>> not expand on his observation,
>
> I think it was ILC 2003. Was this a harbinger?:
>
> http://www.dreamsongs.com/ObjectsHaveFailedNarrative.html

Well, don't judge a paper by its URL, so to speak. What he's
objecting to here is (1) people who claim that OOP is a "silver
bullet" in the sense of Fredrick "Mythical Man-Month" Brooks's
famous paper (Brooks, by the way, speaks very highly of OOP),
(2) the commercial success of OO has stifled research and
exploration of alternative languages approaches (researchers
always say that about whatever is commercially prominent,
understandably), and (3) we ought to be working on self-healing
systems and worrying about software failure (well, those things
are crucially important but they don't have much to do with OO
except insofar as being a thing that takes resources).

He goes on to complain that object-oriented languages have
lost the simplify that made them special and were the
source of their power. Well, that's a fine thing to say
from one of the key designers of CLOS, which is quite
complicated. I don't agree with his point here. It's
easy to use CLOS to do very simple OOP, for example.

I won't go over the paper point-by-point since it would
take too long.

Gabriel is famous for coming out against things that he was
a creator of; he famously trashed Common Lisp two years after
he finished being one of the key designers. He wrote his
"Worse is Best" paper, then wrote a paper opposing it under
a pseudonym, and then wrote a paper opposing THAT, under
his own name, and so on. This is just the way he does
business. He loves to be provocative. Indeed, there's a lot
to be said for being provocative if you're trying to get
attention and stimulate discussion, so long as you really
know what you're talking about.


>
> kt
>

Kaz Kylheku

unread,
Dec 5, 2007, 11:41:19 AM12/5/07
to
On Dec 4, 4:52 am, gavino <gavcom...@gmail.com> wrote:
> http://www.geocities.com/tablizer/oopbad.htm

I don't think that issues like these concern people other than
software developers.

Suppose that OOP is oversold. So what? It's not being oversold at /
you/.

It shouldn't even be legal to sell that kind of stuff to you; you
might hurt yourself.

Jason

unread,
Dec 5, 2007, 1:25:41 PM12/5/07
to

OO is like beer. Some like Heineken, others like Budwiser. Some like
pilsner, other bock. Some like filtered beer, others like unfiltered.

It is 100% pointless to argue the point.

So, you drink your beer. Let everyone else drink theirs.

-Jason

P.S. Beer sucks. Real progrmmers drink scotch!

Ken Tilton

unread,
Dec 5, 2007, 1:50:23 PM12/5/07
to

:)

>
>>>
>>>> If he doesn't
>>>> believe in object-oriented stuff, I'm a monkey's uncle.
>>>
>>>
>>>
>>> Well, RG
>
>
> Oh, no, not "RG". That always means Richard Greenblatt.

Noted. (At least I got the car and the caddr right.)

Well, I just noticed the smoking unsilvered bullet:

"The over-optimism spawned by objects in the late 1990s led businesses
to expect miracles that might have been possible with objects unpolluted
by static thinking , and when software developers could not deliver, the
outrageous business plans of those businesses fell apart, and the result
was our current recession."

All I said was that he gave OO single-handed credit for the dot bomb in
an ILC talk, and he did.

In RPG's, er, rant he is saying objects are OK but just OK* and
certainly no justification for "everything is an object" and that
management overbuying into the OO oversell was not so happy a
development which sounds to me anyway like a lead-up to "OO caused the
dot-bomb".

Is that some who "believes in OO"? Omigod! The blindfaith sound of that
would be precisely the excess he laments.

>
> Gabriel is famous for coming out against things that he was
> a creator of; he famously trashed Common Lisp two years after
> he finished being one of the key designers. He wrote his
> "Worse is Best" paper, then wrote a paper opposing it under
> a pseudonym, and then wrote a paper opposing THAT, under
> his own name, and so on. This is just the way he does
> business. He loves to be provocative. Indeed, there's a lot

> to be said for being provocative ...

<cough>

> ...if you're trying to get


> attention and stimulate discussion, so long as you really
> know what you're talking about.

Well, based on your "don't judge a paper by its title" and several other
responses of a similar bent I would have to say that RPG has succeeded
only in boy-crying-wolfing himself into irrelevance with all that
devil's advocacy. Now everyone just says, Oh, he does not really mean
that...

kt

* He also says the idea behind objects was beautiful but that they
evolved badly in the hands of the static typists, reminding me of
Yeltsin dismissing Communism as a beautiful dream as he shoveled the
last bits of dirt over it. k

Chris Schumacher

unread,
Dec 5, 2007, 1:51:34 PM12/5/07
to
Ken Tilton <kenny...@optonline.net> wrote in
news:GWw5j.1379$g26...@newsfe08.lga:

> As for the possibility of you being a monkey's uncle, your resume is
> impressive, you might be just what I need to get this development team
> of mine down out of the trees and back to their keyboards.

Primates --> monkeys
Primates --> humans

class humans : public Primates
private:
Primate nephew;

Yes, I see how generalization could cause that problem.
It's important to remember that OOP charts are directed graphs for a
REASON, and specification and generalization are two different operations.

-==Kensu==-
P.S. I believed in OOP until Lisp opened my eyes. The moment when I
realized just how Lisp worked was wonderful. "Hey! That's how I've always
designed my programs!"

Matthew D. Swank

unread,
Dec 5, 2007, 4:08:52 PM12/5/07
to

I think in this metaphor topmind would equate OO with poisoned
kool-aid. However, even poison can be beneficial in small doses.

Matt


--
"You do not really understand something unless you
can explain it to your grandmother." -- Albert Einstein.

Ken Tilton

unread,
Dec 5, 2007, 4:44:59 PM12/5/07
to

Amateur! You want a beer back with that scotch.

hth,kt

Friedrich Dominicus

unread,
Dec 6, 2007, 3:34:12 AM12/6/07
to
Daniel Weinreb <d...@alum.mit.edu> writes:

>
> He goes on to complain that object-oriented languages have
> lost the simplify that made them special and were the
> source of their power. Well, that's a fine thing to say
> from one of the key designers of CLOS, which is quite
> complicated. I don't agree with his point here. It's
> easy to use CLOS to do very simple OOP, for example.

And misses the point that the "objects" have not changed in Smalltalk
to get more complicated. I however can not see that objecte ever were
simple but in Smalltalk. What I can see is that the OO stuff gets more
and more compley in the "static typed" languages. Eiffel once was very
simple but this simplicity has bone. So the only language I can agree
upon "it has lost simpliticy" is Eiffel. C++ never has been easy, Java
never has been easy...

However if one looks over things like Self, Io etc. then I can not see
that OO-languages have just gained complexity...

The major problem with OO was and is this piling up of abstraktion and
even worse IMHO, the extreme coupling between classes through the
inheritance and well they also add namespaces to it and so they have
things like

bla.fasel.xyz.foo.Class class = new BlaFasel....

this endless declarations are the "hallmark" of complexity.

OO can be practical but in the end one has to know nearly the whole
Hiarchy of classes on ones mind. And that's near impossible to have
without tools and so they pile up another level of things just to find
out about things which are supposed to be simple.

And still the lost out of mind that needs functional abstraction, it
was totally neglected and just burried beyond another layer of
objects. They still did not get right what Smalltalk has since
ages....

Another extreme weakness of most object-oriented languages is there
trouble with persistence. How many frameworks just exist to map
Objects to Relations? It must be a few thousands....

And now we're facing another big challenge which OO can not solve,
concurrency. And I bet in a few years they invent just another layer
of Objects to "channel" side-effects on parts of an objects, there will be papers on how to
parralelize Java of C# and they will try to solve that through
"objects".

Yes OO is oversold, definitly.

Regards
Friedrich

--
Please remove just-for-news- to reply via e-mail.

Daniel Weinreb

unread,
Dec 6, 2007, 7:36:13 AM12/6/07
to
Friedrich Dominicus wrote:
> Daniel Weinreb <d...@alum.mit.edu> writes:
>
>> He goes on to complain that object-oriented languages have
>> lost the simplify that made them special and were the
>> source of their power. Well, that's a fine thing to say
>> from one of the key designers of CLOS, which is quite
>> complicated. I don't agree with his point here. It's
>> easy to use CLOS to do very simple OOP, for example.
> And misses the point that the "objects" have not changed in Smalltalk
> to get more complicated. I however can not see that objecte ever were
> simple but in Smalltalk. What I can see is that the OO stuff gets more
> and more compley in the "static typed" languages. Eiffel once was very
> simple but this simplicity has bone. So the only language I can agree
> upon "it has lost simpliticy" is Eiffel. C++ never has been easy, Java
> never has been easy...
>
> However if one looks over things like Self, Io etc. then I can not see
> that OO-languages have just gained complexity...
>
> The major problem with OO was and is this piling up of abstraktion and
> even worse IMHO, the extreme coupling between classes through the
> inheritance and well they also add namespaces to it and so they have
> things like

Right, people are not good enough about defining formal
contracts between superclasses and subclasses. The
"protected" declaration in Java is a first step in that
direction but much more is needed. I have been saying
this ever since I first figured out object-oriented
programming in 1980 or so, and the situation has
not improved much since then. It certainly could,
but it's a matter of better programming practices
and the languages need to encourage and support it.

>
> bla.fasel.xyz.foo.Class class = new BlaFasel....
>
> this endless declarations are the "hallmark" of complexity.
>
> OO can be practical but in the end one has to know nearly the whole
> Hiarchy of classes on ones mind. And that's near impossible to have
> without tools and so they pile up another level of things just to find
> out about things which are supposed to be simple.

I guess, although a lot of practical OOP has pretty shallow
and simple class hierarchies. Yes, you need tools, but
you need tools these days even without OOP, as programs
become large.

>
> And still the lost out of mind that needs functional abstraction, it
> was totally neglected and just burried beyond another layer of
> objects. They still did not get right what Smalltalk has since
> ages....
>
> Another extreme weakness of most object-oriented languages is there
> trouble with persistence. How many frameworks just exist to map
> Objects to Relations? It must be a few thousands....

OK, but that's not an argument against OO; if you refrain
from using OO you are not really in a better situation.
The world is still looking for the best framework.
Java people have converged on a few good-looking ones,
such as EJB 3, JDO, and Hibernate, all with different
pros and cons. That's how Lisp grew too. It's the only
way to go: free competition, so to speak.

>
>
>
> And now we're facing another big challenge which OO can not solve,
> concurrency. And I bet in a few years they invent just another layer
> of Objects to "channel" side-effects on parts of an objects, there will be papers on how to
> parralelize Java of C# and they will try to solve that through
> "objects".

OK, OO does not solve concurrency, but that doesn't mean OO
is a bad thing. Nobody ever said (or should have said)
that it cures all evils. It's just another useful tool
in the tool box.

Friedrich Dominicus

unread,
Dec 6, 2007, 1:07:50 PM12/6/07
to
Daniel Weinreb <d...@alum.mit.edu> writes:

>
> OK, OO does not solve concurrency, but that doesn't mean OO
> is a bad thing.

I did not wrote that, I just pointed out where the weaknesses are. And
if people would have spend more time on "interacting" to relational
stuff, I bet we'd some very interesting results.

> Nobody ever said (or should have said)
> that it cures all evils.

Well if you read Object oriented software construction, you would see
that everything besided Objects is totally put into the ground. And
every langauge one reads of, one also reads the first question or
"advantage" does it support OO? Yes it is an OO language or whatever.


> It's just another useful tool
> in the tool box.

Sure but it's used in areas where other approaches would be fine. And
the sheer mass of a "framework" start to drag down everything, IMHO

Happy lisping

Maciej Katafiasz

unread,
Dec 6, 2007, 2:47:40 PM12/6/07
to
Den Thu, 06 Dec 2007 19:07:50 +0100 skrev Friedrich Dominicus:

>> Nobody ever said (or should have said)
>> that it cures all evils.
> Well if you read Object oriented software construction, you would see
> that everything besided Objects is totally put into the ground. And
> every langauge one reads of, one also reads the first question or
> "advantage" does it support OO? Yes it is an OO language or whatever.

See, you're doing the exact same thing as the lunatic "OO advocates" you
loathe so. Namely, you take one, specific (and also crappy, inept,
obsessive and honestly not even very OO[1]) aproach to OO, and then
proclaim it "the" OO, by which everything is to be measured. Which is
exactly as bullshittish when a Java weenie tries to explain why exactly
you need 15 frameworks for your hello world as when you use it to
allegedly discredit OO.

Read what Dan wrote again. OO is just a tool. And CLOS has about as much
in common with Java OO as with BASIC, which is not much. Trying to reject
CLOS on the grounds of "object oriented software design"[2] being ridden
with all kinds of stupid frameworks and "design patterns" thus makes
about as much sense as rejecting it on the grounds of GOSUB being a bad
way of structuring your code.

Cheers,
Maciej

[1] Seriously, if you construct a supposedly "purely OO" language, and
then *the first method you define* is "public static main()" which shows
in a painfully obvious way how your "pure OO" is a pile of monkey manure,
you're asking to be taken as a clown, not particularly funny one[3] at
that.

[2] Btw, I sincerely believe in the necessity of shooting people
constructing all kinds of "* software design" courses after extra-short
trials. Except for people who construct courses also having "UML" in
their name, those get no trial.

[3] As the literature and film have taught us, a deranged clown is not at
all funny, and all scary.

Klaus Schilling

unread,
Dec 6, 2007, 1:47:50 AM12/6/07
to
"Andreas Thiele" <nos...@nospam.com> writes:

> "gavino" <gavc...@gmail.com> schrieb im Newsbeitrag news:452e9be5-daf3-435f...@e4g2000hsg.googlegroups.com...
>> http://www.geocities.com/tablizer/oopbad.htm
>

>
> I think, you asked the wrong group :) I guess I'm not wrong when I say,
> many of us prefer
> a declarative or functional programming style over OO.

it is possible to programm functional and OO at the same time,
as proven by Felleisen in several lectures.
Non-destructive methods lead to reusable objects.

http://citeseer.ist.psu.edu/527414.html

> OO is a nice thing if it fits your
> problem at hand. It was invented for simulating physics.


thus one of the first OO languages was called Simula.


> I use OO only when needed or when there is an obviously
> simple OO solution for my problem.

which is only the case for simulations

> Normally I prefer what is called 'Language Oriented Programming'.
>

whatever that is

Klaus Schilling

Klaus Schilling

unread,
Dec 6, 2007, 4:49:32 AM12/6/07
to
gavino <gavc...@gmail.com> writes:

> http://www.geocities.com/tablizer/oopbad.htm


of course object orientation is oversold,
as correctly written by genius programmer P. Graham.

A table or tree of closures is the best approach in many cases,
with the exception of complex simulation stuff.

OO is for a bunch of mediocre programmers in order to not shoot
their feet mutually.
It's also a poor excuse for not implementing lexical closures
and homoiconic macros.

Decent loner genius hackers don't need those balls and chains.

Klaus Schilling

Maciej Katafiasz

unread,
Dec 6, 2007, 5:04:20 PM12/6/07
to
Den Thu, 06 Dec 2007 10:49:32 +0100 skrev Klaus Schilling:

> It's also a poor excuse for not implementing lexical closures and
> homoiconic macros.

How about homoerotic macros? I think that might gain some traction.

> Decent loner genius hackers don't need those balls and chains.

Oh, no balls. Dang, there goes my idea.

Maciej

Rainer Joswig

unread,
Dec 6, 2007, 5:30:24 PM12/6/07
to
In article <fj9rl4$fi8$3...@news.net.uni-c.dk>,
Maciej Katafiasz <math...@gmail.com> wrote:

Make sure that your postings (and code) don't get unhygienic!

--
http://lispm.dyndns.org/

Friedrich Dominicus

unread,
Dec 7, 2007, 3:47:06 AM12/7/07
to
Maciej Katafiasz <math...@gmail.com> writes:

> Den Thu, 06 Dec 2007 19:07:50 +0100 skrev Friedrich Dominicus:
>
>>> Nobody ever said (or should have said)
>>> that it cures all evils.
>> Well if you read Object oriented software construction, you would see
>> that everything besided Objects is totally put into the ground. And
>> every langauge one reads of, one also reads the first question or
>> "advantage" does it support OO? Yes it is an OO language or whatever.
>
> See, you're doing the exact same thing as the lunatic "OO advocates" you
> loathe so. Namely, you take one, specific (and also crappy, inept,
> obsessive and honestly not even very OO[1]) aproach to OO, and then
> proclaim it "the" OO, by which everything is to be measured. Which is
> exactly as bullshittish when a Java weenie tries to explain why exactly
> you need 15 frameworks for your hello world as when you use it to
> allegedly discredit OO.

I did not mentioned with one word CLOS, it's OOSC is about Eiffel and
there the OO-approach is the one and only valid. And CLOS woudl surly
be judged as "totally messed" up. Unfortunatly this "one-way" thinking
is not that seldom in "OO" language. Of course it's much better in
Lisp because people know it's just one way. And they can and do use
different approaches. This simple does not work on "pure" OO languages
like Java or C#

>
> Read what Dan wrote again. OO is just a tool. And CLOS has about as much
> in common with Java OO as with BASIC, which is not much. Trying to reject
> CLOS on the grounds of "object oriented software design"[2] being ridden
> with all kinds of stupid frameworks and "design patterns" thus makes
> about as much sense as rejecting it on the grounds of GOSUB being a bad
> way of structuring your code.
>

Sure I can not agree more.


>
> [1] Seriously, if you construct a supposedly "purely OO" language, and
> then *the first method you define* is "public static main()" which shows
> in a painfully obvious way how your "pure OO" is a pile of monkey manure,
> you're asking to be taken as a clown, not particularly funny one[3] at
> that.

1+


>
> [2] Btw, I sincerely believe in the necessity of shooting people
> constructing all kinds of "* software design" courses after extra-short
> trials. Except for people who construct courses also having "UML" in
> their name, those get no trial.

LOL and very well put. Can not agree more.

Regards

Stefan Nobis

unread,
Dec 7, 2007, 5:08:11 AM12/7/07
to
Klaus Schilling <schilli...@web.de> writes:

> OO is for a bunch of mediocre programmers in order to not shoot
> their feet mutually.

Bullshit! I've just gotten C# code to maintain, written by a mediocre
programmer. He has shooten his feet himself in more ways I'd ever been
able to imagine. The code is so crappy and unmaintainable, completley
unreadable, it just hast to be thrown to trash.

Mediocre or bad programmers write crap in any language with any
paradigm.

There is just no fool-proof programming tool (even with things like
Apples Automator you can do really silly workflows).

--
Stefan.

jayessay

unread,
Dec 8, 2007, 11:53:54 AM12/8/07
to
Ken Tilton <kenny...@optonline.net> writes:

> In RPG's, er, rant he is saying objects are OK but just OK* and
> certainly no justification for "everything is an object"

Wow, now that's insightful.

> and that management overbuying into the OO oversell was not so happy
> a development which sounds to me anyway like a lead-up to "OO caused
> the dot-bomb".

Lisp; AI winter...


/Jon

--
'j' - a n t h o n y at romeo/charley/november com

Javier

unread,
Dec 8, 2007, 4:33:03 PM12/8/07
to
On 6 dic, 09:34, Friedrich Dominicus <just-for-news-fr...@q-software-
solutions.de> wrote:

> The major problem with OO was and is this piling up of abstraktion and
> even worse IMHO, the extreme coupling between classes through the
> inheritance

I don't see the problem there. For a real complicate program, an
sketch of classes and inheritances immediately makes you understand
how the program is working.
A bunch of unordered functions, here and there, is definitively much
more difficult to understand.
Lisp has both paradigms. CLOS is nice. But generic functions are not
so good for clarifing the structure of a program. Methods that belong
to themselves instead of belonging to classes, contributes to have a
difficult to understand mass of methods.

> and well they also add namespaces to it and so they have
> things like
>
> bla.fasel.xyz.foo.Class class = new BlaFasel....

Nah.. this is not so large on Python or Ruby... and Java 7 is going to
include some sugar for this...

> this endless declarations are the "hallmark" of complexity.

I don't think so. The are large, but not so complex.

>
> OO can be practical but in the end one has to know nearly the whole
> Hiarchy of classes on ones mind.

No, you don't. Bassically if you understand the base of the library,
which might be one or two classes or interfaces, you can easily
understand the rest of the program. You don't have to know everything.
Lisp is worse in this respect: not only there are types and classes,
but different syntactic ways of doing things which might me totally
incoherent, one with each other, depending on who developed the
packages you are going to use. These are the problems of having
(almost) no syntax, and so much powerful macros. In this respect, one
could say the same you have said, applied to macros:

Lisp can be practical but in the end one has to know nearly the whole
cascade of macros and the syntax they provide. So at the end,
everytime you have to understand a program written from anyone else,
in fact what you are doing is learning a new language, which is a
boring barrier, specially when the program is big.

Sacha

unread,
Dec 8, 2007, 6:32:17 PM12/8/07
to
Javier wrote:
> On 6 dic, 09:34, Friedrich Dominicus <just-for-news-fr...@q-software-
> solutions.de> wrote:
>
>> The major problem with OO was and is this piling up of abstraktion and
>> even worse IMHO, the extreme coupling between classes through the
>> inheritance
>
> I don't see the problem there. For a real complicate program, an
> sketch of classes and inheritances immediately makes you understand
> how the program is working.
> A bunch of unordered functions, here and there, is definitively much
> more difficult to understand.
> Lisp has both paradigms. CLOS is nice. But generic functions are not
> so good for clarifing the structure of a program. Methods that belong
> to themselves instead of belonging to classes, contributes to have a
> difficult to understand mass of methods.


A group of methods can be viewed as a protocol, you may organise your
sketch around these protocols and have a general understanding that way.

>
>
>
>> and well they also add namespaces to it and so they have
>> things like
>>
>> bla.fasel.xyz.foo.Class class = new BlaFasel....
>
> Nah.. this is not so large on Python or Ruby... and Java 7 is going to
> include some sugar for this...
>
>> this endless declarations are the "hallmark" of complexity.
>
> I don't think so. The are large, but not so complex.
>
>> OO can be practical but in the end one has to know nearly the whole
>> Hiarchy of classes on ones mind.
>
> No, you don't. Bassically if you understand the base of the library,
> which might be one or two classes or interfaces, you can easily
> understand the rest of the program. You don't have to know everything.
> Lisp is worse in this respect: not only there are types and classes,
> but different syntactic ways of doing things which might me totally
> incoherent, one with each other, depending on who developed the
> packages you are going to use. These are the problems of having
> (almost) no syntax, and so much powerful macros. In this respect, one
> could say the same you have said, applied to macros:
>
> Lisp can be practical but in the end one has to know nearly the whole
> cascade of macros and the syntax they provide. So at the end,
> everytime you have to understand a program written from anyone else,
> in fact what you are doing is learning a new language, which is a
> boring barrier, specially when the program is big.

That's not really different than oo programming, you also need to learn
the oo "language" of the library. And where you don't need to learn the
syntax of a macro, you instead need to learn how to compose the
different library calls in order to achieve your goal. Complexity is
there in both cases, that's only a different view on the same problem
domain.

Sacha

Javier

unread,
Dec 8, 2007, 7:04:10 PM12/8/07
to
On 9 dic, 00:32, Sacha <n...@address.spam> wrote:

> > Lisp can be practical but in the end one has to know nearly the whole
> > cascade of macros and the syntax they provide. So at the end,
> > everytime you have to understand a program written from anyone else,
> > in fact what you are doing is learning a new language, which is a
> > boring barrier, specially when the program is big.
>
> That's not really different than oo programming, you also need to learn
> the oo "language" of the library. And where you don't need to learn the
> syntax of a macro, you instead need to learn how to compose the
> different library calls in order to achieve your goal. Complexity is
> there in both cases, that's only a different view on the same problem
> domain.

So, are Lisp macros oversold? ;)

Sacha

unread,
Dec 8, 2007, 9:48:19 PM12/8/07
to

OO seems to me like setting up the state of the world, then perform the
action you want to do. Macros have a more declarative feel to them.

My point is that when you're maintaining some one else's code, you still
need to understand it inside out. Be it macros, object hierarchies or
higher order functions, the problem is the same.

Sacha

Stefan Nobis

unread,
Dec 9, 2007, 4:18:33 AM12/9/07
to
Javier <jav...@gmail.com> writes:

> So, are Lisp macros oversold? ;)

No, because macros are not sold as the one and only silver bullet in
Lisp world. In languages like Java you are forced to do everything the
OO way and OO fans often say that this is the only sane way to do
programming. That's oversold. I really don't like C# and Java and I'm
not a very big fan of OO anyway, but I wouldn't hesitate to use
classes and objects in Python, Lisp or other languages -- it's only no
good idea to force everyone to one single paradigm (and in the C#/Java
case: a stripped down version of a paradigm).

So the big difference is choice. OO is not oversold, but languages
like Java and C# are much oversold.

--
Stefan.

0 new messages