comp.lang.ada
 help / color / mirror / Atom feed
* Re: Ada vs C++, Franz Lisp to the rescue?
@ 1991-05-30 18:25 Chuck Shotton
  1991-06-01  3:16 ` Jim Showalter
  0 siblings, 1 reply; 7+ messages in thread
From: Chuck Shotton @ 1991-05-30 18:25 UTC (permalink / raw)



In article <1991May30.004144.24252@netcom.COM>, jls@netcom.COM (Jim Showalter) writes:
> >I won't argue the point that Ada is far superior when it comes to large system
> >development. This is a fact, plain and simple, and C++ cannot hold a candle
> >to Ada's abilities to decompose a problem into managable pieces and insure
> >the consistency between them. However, Ada is not all things to all programming
> >tasks, and one of the things it isn't is an object oriented programming
> >language.
> 
> >From the above paragraph, we have these two statements:
> 
> 1) Ada is a superior language for engineering large complex systems.
> 2) Ada is not particularly supportive of OOP.
> 
> These two statements lead to the following conclusion:
> 
> 3) OOP is largely irrelevant when it comes to engineering large complex systems.
> 
> Now, far be it from me to actually MAKE this claim [;-)], I'm merely
> pointing out that it is the inevitable subtext of the above paragraph.
> 

First, the only point being made in 1 and 2 above is that Ada is well suited
to supporting the decomposition of systems into manageable pieces, and it
doesn't provide the same level of SYNTACTIC support for OOP as other professed
OOP languages. Don't put words in my mouth. The third conclusion is simply
a faulty conclusion from the intent of the first 2.

I'd like YOU to explain to netland how to support dynamic inheritance at 
runtime in Ada without resorting to manually-supported coding conventions.

I've had a direct hand in the management, design, and implementation of about
250,000 lines of Ada over the past 2 or 3 years on NASA's SSE contract. We
used OOD techniques such as Buhr diagraming, etc. and coded according to the
design. BUT THAT DOESN'T MAKE THE CODE OBJECT ORIENTED.

The whole point of the comparison between C++ and Ada hinges on the semantic
interpretation of the term "object-oriented." To most Ada-literate individuals,
"object-oriented" refers to the concepts of information hiding and specific
design methodologies. To others (C++, academia, etc.) "object-oriented" connotes
message passing, inheritance, dynamic binding, methods, classes, etc. Ada
does NOT provide direct support via language constructs and run-time behavior
to support all of these concepts. The burden is placed on the programmer to
implement "message passing" and there is no way to safely (consistenly) implement
dynamic binding.

Rather than degenerate into a "mine's bigger than yours" comparison of two
vastly different languages (and programming paradigms), it would be more 
constructive to discuss how to implement TRUE object-oriented features within
the current limitations of Ada. I'd be interested in hearing suggestions for
supporting the aforementioned list of "alleged" object oriented language features
using plain vanilla Ada. This could actually be useful on some real projects.

-----------------------------------------------------------------------
Chuck Shotton                 Internet:   cshotton@girch1.med.uth.tmc.edu

^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: Ada vs C++, Franz Lisp to the rescue?
@ 1991-05-25 15:09 Chuck Shotton
  1991-05-30  0:41 ` Jim Showalter
  0 siblings, 1 reply; 7+ messages in thread
From: Chuck Shotton @ 1991-05-25 15:09 UTC (permalink / raw)



> The reason I tend to focus primarily on C++ vs Ada is that C++ is
> becoming a de facto OO standard at a distressingly rapid pace and,
> as such, represents what I think is the single largest competition
> to Ada in cutting-edge OO and software engineering in the commercial
> sector. Seeing as how it is my personal vision that Ada be used to
> build lots and lots of large complex systems that have nothing to
> do with the government sector, I'm committed to offering a credible
> rebuttal to C++ whenever and wherever possible. It's not that it is
> impossible to engineer a complex system in C++, it's just that Ada
> is at least equally capable of doing so, and is a far more mature
> and robust option, so why not use it?> -- 
> **************** JIM SHOWALTER, jls@netcom.com, (408) 243-0630 ****************

I think the single, most important reason that C++ is overtaking Ada as the
OO language of choice is the very thing that makes Ada the DoD choice. Ada's
extreme standards process works to its detriment in introducing new changes
to the language. C++ came out of nowhere, without any of the bureaucratic
nightmares levied on Ada. A few, innovative people added REAL object oriented
extensions to C and tossed it on the market. Ada 9X may very well turn into
Ada 20X by the time any compilers hit the street.

Let me say that I am in no way a supporter of C++, nor a detractor of Ada.
(I've worked on the Space Station program for the past 4 years and done nothing
but Ada development.) However, C++'s support for object-oriented pardigms
such as inheritance, true methods, and dynamic binding are much closer to
"true" OO development than the work-arounds that Ada supports. You can hardly
argue that a generic or a task type can completely substitute for a true class
definition with instance variables, methods, and inheritance. Ada requires
too much of a burden to be placed on coding conventions and programming style
and provides too little support for "objects" in its current state to be 
considered a "real" object-oriented language. There's just no adequate support 
inherent in the languge.

I won't argue the point that Ada is far superior when it comes to large system
development. This is a fact, plain and simple, and C++ cannot hold a candle
to Ada's abilities to decompose a problem into managable pieces and insure
the consistency between them. However, Ada is not all things to all programming
tasks, and one of the things it isn't is an object oriented programming language.
Information hiding, strong typing, and generics does not an OOP make. Maybe
when Ada 9X's support for procedures as arguments, etc. becomes available,
this comparison between C++ and Ada as OOPs will be a little more on target. 
But until then, there is no comparison. Defending Ada, tooth and nail, on
EVERY application is a no-win situation. Ada CAN'T do some things as well
as other languages.

-----------------------------------------------------------------------
Chuck Shotton                 Internet:   cshotton@girch1.med.uth.tmc.edu
"Your silly quote here."      UUCP:       ...!buster!brain

^ permalink raw reply	[flat|nested] 7+ messages in thread
* Ada vs C++, Franz Lisp to the rescue?
@ 1991-05-21 13:18 SAHARBAUGH
  1991-05-23  2:05 ` Jim Showalter
  1991-05-30  2:23 ` Ted Holden
  0 siblings, 2 replies; 7+ messages in thread
From: SAHARBAUGH @ 1991-05-21 13:18 UTC (permalink / raw)


I have read with interest the BB conversations about Ada vs C++.
I received by mail an advertisement for Franz Lisp. It says, among other things:
"if you're trying to develop complicated
applications with C++, you're working too
hard. It's a good introduction to object-
oriented programming, but it doesn't have
the built-in functionality of the world's
most advanced OOP tool: Allegro CL Common
Lisp with CLOS."  It goes on to mention
Multiple inheritance, custom facilities,
persistent storage, object-oriented 
databases, dynamic redefinition of classess
and methods, generic functions and says
"(it) is the most powerful object-oriented 
programming language available today."

Vendors are expected to overstate the worth
of their product, the legal term is "puffing",
BUT are we missing something by not discussing
Franz Lisp in the same context as C++ when
discussing the "vs Ada" language issue?

sam harbaugh saharbaugh@ROO.FIT.EDU        
-----------

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~1991-06-01  3:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1991-05-30 18:25 Ada vs C++, Franz Lisp to the rescue? Chuck Shotton
1991-06-01  3:16 ` Jim Showalter
  -- strict thread matches above, loose matches on Subject: below --
1991-05-25 15:09 Chuck Shotton
1991-05-30  0:41 ` Jim Showalter
1991-05-21 13:18 SAHARBAUGH
1991-05-23  2:05 ` Jim Showalter
1991-05-30  2:23 ` Ted Holden

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox