[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Objects, processes, and encapsulation
>Where such an opinion comes from? I have participated in developing rather
>large (aprox. a million LOC) commercial systems using OO technology. OO
>was neither "hard" nor resulted in "unscalable systems". Actually, I cannot
>imagine such effort without using OO technology.
Let's hope none of them are safety-critical.
Do you have any means of making _guarantees_ concerning behaviour?
Can you include concurrency with any assurance of no deadlock (ever)?
Do you have quantitative evidence for the true value of (eg) inheritance?
For processes, we have a sound formal basis - one in which we can capture
design rules either in a programming language or ancillary tool, removing
the need for formal analysis but offering the same guarantees, including
deadlock-freedom. Concurrent programming becomes no more difficult than
sequential programming. I've repeatedly seen students succeed in
programming concurrency, using occam, who fail with pointers (or
Hardly a week goes by without the press announcing the collapse of yet
another large software project. One does NOT need to look far for
evidence of failure. And just how often does the truth escape?
It's ironic that it won't be medical or military systems that force
change by making program security essential. It's ordinary folk at home
who will chuck Windoze (and Java) in the bin the first time it crashes,
and who won't tolerate a restart simply 'cos they want to plug something
University education should be about truth, which is always eventually
self-evident. What we have now, in the teaching of programming, is
nothing more than the chanting of dogma. I for one am tired of being
asked to believe something just 'cos it's written. I will no longer ask
that of students.
Dr. Ian Robert East School of Computing and Mathematical Sciences
ireast@xxxxxxxxxxxxx Oxford Brookes University
(44) 1865 483635 Turing Building
Oxford OX33 1HX
Consultation hours for 2001/2002 Term 1