[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Is OO a deliberate fraud?

> Guys

Hi all,

I'll try to ride herd on my thread, responding to several responses
(nobody shot down my history, I noticed, so I guess my conjecture has
merit)... Ian's note got close to the heart of the matter, I think. It's
just like a Poul Anderson novel about the "Dominate Phase". The purpose of
power is to perpetuate power and funding, not to do anything; and there is
an increasing animosity to those who can do something, as they shed an
unwelcome light on the perpetuators. Hence, Ruth's experience, and the
trembling of the canary in the coal mine.

> 	It bothers me to hear of Ruth's "dismal lack of response" for
> CPA 2006 ...
> Of course I 'know' (as do you all) that CSP (et-all) is right and that
> OO is a bodge ... but Industry is about making money not about doing
> things 'right'.
> In our past successful companies and economies had enough slack that
> money was forthcoming to support activities that were not strictly
> business-opportunity oriented ... But the increased global competition
> in every aspect of business and economic life has steadily squeezed out
> (almost) all of the slack. Sarbanes Oxley has applied further screws on
> 'unaligned' spending.
> Today, Industry is like the story of the guy putting on his sneakers as
> he gets into bed in a tent in the African bush. His friend asks why? He
> says its because of the leopards, lions and tigers! "You don't expect to
> out-run a leopard because you are wearing those!" his friend says ...He
> replies "You're missing the point entirely ... I only need to out-run
> *you*!"
> Industry is not concerned about being theoretically best, it is
> concerned about being better than its competitors. You don't achieve
> that at low risk, by throwing 'it all' away and starting again. Much
> better (though less sophisticated) to push what you know and love ...
> just one more generation!

People have been doing this for 20 years, to the point where thousands of
programmers are now employed in "ant farms" doing piecework without any
design. The commercial model has led to this and cannot find a way out of

> OO was/is adequate to overcome a complexity problem that arose. Threads
> overcomes (or might) another ... Neither perfectly; both good enough!

Actually they are not adequate; they have led to many outright technical
failures (usually disguised as schedule slides). And think of the hideous
waste of resources, including people's brains and sanity, and the terrible
assault on the common good that results when no one smaller than Microsoft
can make any progress.

> Which brings me to the issue of CSP et-all. There will be a time when
> evolution and patches will not suffice; and then revolution *is* the
> only way. There will be blood on the streets ... but the survivors will
> be those who per-chance were working on the 'right' technology at that
> time. I believe that CSP, Occam, Transputer holds a lot of the
> trump-cards, and it is a community such as yours that is keeping it
> alive until the 'call' happens.
> 	... After 21 years (I thought it was 1973.ish myself) it would
> be a shame to let it die; But I don't think it will! Let it consolidate
> to its core advocates, 'skirmish' from time to time; and wait.
> Roll on the revolution.

Amen. But maybe the moment is now, or we WILL die. By waiting for these
commercial interests to arrange our community for us, we may be awaiting
our own extinction (like Inmos waiting for Margaret Thatcher and
SGS-Thomson). Whatever valid cures we have, the OO people will try to
outshout us and say they have them too, and they are closer to the
councils of the powerful... And there is no set of 'core advocates' so
small that it is safe from reductions in force.

More below...

> Cheers.ian
> -------------------------------------------------------------------
> Prof Ian Phillips: Principal Staff Eng.           T:+44 1223 400771
> ARM Ltd, 110 Fulbourn Rd                          S:+44 1223 400400
> Cambridge, UK. CB1 9NJ.  (VP Bath University)     F:+44 7092 151049
> -------------------------------------------------------------------

"Jim Davies" Jim.Davies@xxxxxxxxxxxxxxx writes:
> Andrew Delin writes:
>    Well, I don't think OO is a deliberate fraud...
> Object orientation is an essential means of controlling complexity in
> the design of complex systems - we can describe each change in the
> context of the data involved; we can specify constraints and
> relationships between data; we can classify and re-use.

This would be true if it were consistent with design of complex systems,
but (at least as used in the real world) it is not. It hides side effects
and insists they not be dealt with. It abuses terminology (starting with
the word ?object?) through extreme metaphor, thereby preventing progress
by seizing the verbal tools of progress ahead of time..

> <SNIP>
> I don't think that
> it indicates any increase in the amount of bad science; in fact, I
> think that the science is in rude health.  Around here, certainly.

Ruth?s complaint indicates that science (as opposed to well-funded
reiteration and back-scratching) is dying. It is being killed by something
which seizes the resources of science by using its words in a way that
prevents its essence.

neil@xxxxxxxxxxxxxxxxx writes:
> <SNIP>
> I think the thing to realise is that despite many clever
> languages over the years, we have still not come very far at all from
> our beginnings.  The most popular language over time has been (very
> simplified):
> Machine code -> Assembler -> FORTRAN -> C -> C++/Java

This is an excellent point. It ?just happened? with no reference to
science ? just like epicycles. And metaphor (?infinite? dynamic
stack/memory) took over at C, and OO has only made it worse,  and we?ve
got to get back to basics!

> Like Andrew, I believe that the rise of multi-core, multi-CPU machines
> and things like Cell provide an excellent opportunity for
> process-oriented programming.  For my part, I hope to be presenting a
> new solidly 64-bit process-oriented language at CPA 2006 that I hope
> will help fill the gap (alongside excellent offerings such as occam-pi
> and Honeysuckle) when programmers (hopefully!) come looking for a
> decent concurrent language.
That kind of thing is my hope too, Neil, but we?ve got to face the fact
that it?s an uphill fight ? it?s quite possible for the whole thing to
suffocate for lack of oxygen (funding). Then every step forward will be
thicker manuals, more funding, and less understanding; 99% of the
computing world has already transitioned to this.

"Andrew Delin" <Andrew.Delin@xxxxxxxxxxxxx> writes:
> Well, I don't think OO is a deliberate fraud... Instead, I prefer Peter
> Welch's description that computer science has taken a wrong turn, driven
> in part by the commercialisation of languages.

I would add, the commercialization of ?Computer Science? which is
effectively an accumulation of historical caprice.

> I recall my first involvement with SmallTalk with messages being sent
> between objects. There was an enticing hint of system-managed
> parallelism, but in reality, 'message passing' in many OO languages is
> just the calling of subroutines. I like to say that OO languages have an
> impedance mismatch when it comes to processes. I still haven't found a
> clean way to combine OO abstraction with process abstraction. You can
> read examples of this confusion today:
> http://blogs.msdn.com/rickbrew/archive/2005/01/17/354657.aspx
> This demonstrates how a recent language (C#) falls in a hole because it
> lacks in-built process constructs: the programmer is forced into system
> territory to render a parallel idea in their code! It's a pity Rick
> Brewster hasn't heard of CSP.
> Web development has again hidden the need for parallel thinking because
> each session (i.e. process) is managed by the web server, with state
> being held on a shared database. This is a specific class of application
> and it's good that we have an abstraction that deals with this. But as a
> result, the programmer doesn't have to think about parallelism as a
> design tool.

These are excellent technical points. My parallel thinking apparently
prevented me from getting a job at a major web-search company, which has
designed whole languages for the purpose of eliminating apparent
parallelism. (They admitted it doesn?t work, but hey, management is
committed to it.)

> Computer science ideas move in and out of favour, and I hope CSP will
> return to focus as multicore CPUs become mainstream.

What you are forgetting is that it is possible for everything workable to
be excluded by vested interests.

> <SNIP>
> I remember some horrible
> frustrations with Occam back in 1990, entirely to do with its static
> nature.

I?ve devised ways to be absolutely resource-robust without being compiled
static; ONE ?wild? heritage is allowed without needing fragmenting and
metaphoric things like VM.

> Personally I love the fact that my commodity workstation allows me to
> manipulate thousands of photographs and edit digital video with ease.
> Bigger memory spaces and more ghz allow new things to be enjoyed.
> Computer science today isn't all bad.

Moore?s Law is what isn?t all bad. But computer science nearly neutralizes
it, except in cases like you say, that work out to pure transistor count.

Eric Verhulst writes:
> I couldn't agree more. And it is horrifying to know that this is the
> stuff they teach at Computer Science all to often.

Thanks, Eric! I love your emphasis on small size, which is a sign of good

> I prefer the term "Process Oriented" Programming vs. Object Oriented
> Programming or more generally (as it applies to Systems Engineering in
> general) "Entities and Interactions". Both have formalisms (CSP and
> Comm-Unity) to back them up. OO's most advanced state of the practice is
> UML, a monster of a graphical notation (but they call it a language).

This is good technical ammunition.

> <SNIP>
> I am proud to say that our latest OpenComRTOS provides a minimal
> preemptive RTOS (with send and receive services) in just 850 bytes, even
> when written in C.
> The distributed version is less than 2KBytes.
> I recently tested an Open Source tool written in OO Java. Besides that
> it was very slow, it complained very rapidly about a lack of memory
> while I had
> 1 Gbyte of RAM.

This is a perfect illustration of how our ?modus vivendi? with OO has led
to impacted scientific insanity.