Re: Why don't large companies use Ada?

From: Kursten Schuetz <kschuetz_at_vnet.ibm.com>
Date: 21 Nov 1994 16:03:28 GMT
Message-ID: <3aqgcg$19af_at_sernews.raleigh.ibm.com>


In article <3algc6$em6_at_gordon.enea.se>, sommar_at_enea.se (Erland Sommarskog) writes:
|> It is difficult to see where Kursten is getting at. If he really
|> means what he says in the first paragraph - then why the rest of
|> ranting.

Actually, for something scribbled off the top of my head, I was trying to write in pseudo-business style with the summary first and the body of the argument second. ;^)

The main argument was that the Ada vs. other development languages for business purposes is a moot point. Ada is a general purpose programming language. Businesses require information systems with powerful features and short development times. An all Ada solution will do more to hurt such development than help it. The reason is that Ada is not an information manipulation tool. Databases such as Sybase, Oracle, and others are such tools. OLAP and OODBMS systems should be included in this argument.

When using such DBMS systems, companies will strive to use as many common tools as possible; therefore, proprietary languages such as Transact-SQL will be used rather than general purpose languages such as Ada or C++. Implementing your transactions in Ada will not gain any advantages for performance, simplicity of code, or features. In fact, you will lose performance, simplicity, and features by having to perform translations between an implementation of static SQL and an external 3GL. This is why companies such as Sybase and Oracle have developed their own 4GLs.

|> Ada's advantage over specialized 4GLs, is the same as the one of
|> C++: you get a general-purpose language which is much more mature
|> when it comes to data abstraction. With the regards to C++, Ada
|> is simply cleaner.

The argument that a general-purpose language is more mature when it comes to data abstraction is false. The issue is declarative vs. procedural semantics of your DML. For relational structures, I've written the same programs in Transact-SQL, C, and Smalltalk. Not even Smalltalk approaches the power and elegance of SQL with Sybase's extensions for accessing and manipulating relational data structures. The reason is that the declarative nature of DMLs such as SQL significantly  reduces the demands for the programmer to understand, design, and develop the best access plan and data integrity control for his processes.

My own project is another argument that 4GL data abstraction is not inherently inferior to 3GL abstraction. I'm developing an IS for which portions of the data model are object oriented. All data manipulation is performed in Sybase using Transact-SQL. This system may not have polymorphism, but it does have inheritance, abstraction, and encapsulation... 3 of the 4 criteria of an OO paradigm. It works quite well, too, outperforming the C program it replaces by orders of magnitude for large data sets and providing multi-user access. Implementing our solution with Ada or any other 3GL would have been a monumental waste of time and money and never could have been completed with our limited resources.

So, since Ada does not provide any advantages for DBMS systems, its use in a business environment is limited to front-end development and possibly some specialized calculation engines (from my previous post). For specialized calculation engines, companies would still use tools such as OpenClient and OpenServer to interface them to the DBMS. I haven't investigated any user interface development tools which generate Ada code or use Ada in any fashion. Do any exist? Even if they do, the front-end market is dominated by 4GL tools such as PowerBuilder and VisualBasic. Even for 3GL front-end development, the market is dominated by products based on Smalltalk, C++, and Objective-C, such as VisualWorks and NeXTSTEP.

To address the question which started this whole debate: What does Ada give me that exceed what I've already got? *I* don't know. All of my issues are covered, and I don't know of a single product from the Ada community which could improve what I am presently using for my corporate information system.

Kursten Schuetz
now posting from a target accessible by friends and flamers My views do not represent:

  1. Natural Disasters
  2. Spotted Owls
  3. IBM PC Company, Research Triangle Park
Received on Mon Nov 21 1994 - 17:03:28 CET

Original text of this message