Interesting People mailing list archives

IP: A father of object oriented programming compares Java and .NET


From: Dave Farber <dave () farber net>
Date: Tue, 26 Mar 2002 07:55:38 -0500


------ Forwarded Message
From: Nathan Cochrane <ncochrane () theage fairfax com au>
Organization: The Age newspaper
Reply-To: ncochrane () theage fairfax com au
Date: Tue, 26 Mar 2002 17:09:33 +1100
To: Dave Farber <dave () farber net>
Subject: A father of object oriented programming compares Java and .NET

Hi Dave

I spoke with Rational chief scientist, Grady Booch, last week.

Grady is well known for his work in object oriented programming and the
unified modelling language. Basically, he says software programming is
terribly hard, and even though .NET helps, it is still going to be hard.
So hard, even Microsoft uses Java Enterprise where the need arises, he says.

Code-crunching the Booch way
http://www.theage.com.au/articles/2002/03/26/1017004757420.html

By Nathan Cochrane
March 26 2002
Next

Object oriented programming is passe. Programmers must think in
"aspects" as demands for more complex systems increase.

Grady Booch, one of the fathers of object oriented programming (OOP) and
co-founder of Unified Modelling Language (UML), is excited by research
into the next phase of software engineering, Aspect Oriented Programming
(AOP). The man who invented the Booch Method, in which a program is
visualised before the code-writing begins, says more research is needed
before aspects can be properly expressed.

Booch, who is chief scientist of Rational Software, a maker of tools for
programmers, says: "Where I am particularly enamoured, and where energy
is being spent both inside Rational and outside, is the mapping of UML
to abstracts."

"If I were to look into my crystal ball in terms of the next generation
of programming languages, my guess is it would be an aspect-oriented
language, and my further guess is the UML itself could be a reasonable
aspect-oriented language.

"We are almost at the point where you can have executable UML."

Modelling reveals problems at the blueprint stage before code blocks are
assembled, reducing development time and easing maintenance when the
original programmers may no longer be available.

OOP is an approach that blends data and functions in a self-contained
module, creating a code brick that snaps together with others - much
like Lego blocks - to make a program. An object inherits variables and
methods defined in other objects, thereby making code easier to adapt to
new circumstances because core functions have to be written only once.

Just as OOP languages such as C++ mostly displaced the earlier spaghetti
code of procedural languages such as Pascal, aspects implement functions
that cross-cut a program's objects.

These may include security, memory optimisation and exception handling -
for example, what to do when a program crashes - according to
researchers at Xerox-PARC.

Booch and the researchers say AOP makes it easier to program and
maintain complex systems because conceptualisation makes software both
efficient and easy to understand. Booch, however, disagrees with fellow
AOP proponents Gregor Kiczales from Xerox-PARC and Charles Simonyi from
Microsoft about future directions. He believes complexity hasn't been
shifted far enough away from the programmer, a process called "abstraction".

An area where Microsoft is aiding abstraction, Booch says, is through
its .NET Framework and Web services for distributed computing.

Web Service programs run either on stand-alone networks or across the
wider Internet, grouping data and program logic from a variety of
sources including old mainframes, databases, the Net and modern
applications. Web services use the eXtensible Markup Language (XML),
Simple Object Access Protocol (SOAP) for sending program messages across
the Web, Web Service Description Language (WSDL) and Universal
Description Discovery and Integration (UDDI). These four standards
combined ease the integration and merging of data and software into a
coherent whole that is visible to the user.

Even Microsoft, which is pushing ahead with .NET's Web services, uses
Sun Microsystems' J2EE in parts of its enterprise, he says.

"It's absolutely rare to find a pure platform choice in any
organisation. The notion of Web services allows us to step above the
fray because they codify the components that cut across different
platforms."

He says the challenge for organisations is to bring together all the
knowledge that resides in its parts - such as financial analysis,
business strategy, marketing, research and so on - to form a coherent
whole. That challenge is as much cultural as it is technical, although
distributed computing platforms such as J2EE and .NET go a long way to
clearing the technical hurdles.

"The great thing about both .NET and J2EE is, for the enterprise, they
raise the level of abstraction, providing services that in the past
people had to create for themselves.

"You don't want to turn them (workers) into programmers, but instead you
want to raise the level of abstraction so that the programming language
comes up to them."



****************************************************************************
*****
This email and any files transmitted with it may be legally privileged
and confidential.  If you are not the intended recipient of this email,
you must not disclose or use the information contained in it.  If you
have received this email in error, please notify us by return email and
permanently delete the document.
****************************************************************************
*****


------ End of Forwarded Message

For archives see:
http://www.interesting-people.org/archives/interesting-people/


Current thread: