comp.lang.ada
 help / color / mirror / Atom feed
From: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 )
Subject: Re: What's really wrong with COBOL?
Date: 23 Mar 90 06:27:30 GMT	[thread overview]
Message-ID: <8468@hubcap.clemson.edu> (raw)
In-Reply-To: 423@mck-csc.UUCP

From article <423@mck-csc.UUCP>, by jw@mck-csc.UUCP (Jeffrey Weiss):
>>   typically 80% of effort is spent trying to maintain code which
>>   fundamentally is unmaintainable.  The reason for this is that COBOL has
>>   found itself unable to evolve quickly enough to keep up with the last
>>   20-30 years' worth of evolution in programming language technology.
> 
% 	- Module dependency tracking to aid in identifying "ripple-effects"
% 	  when implementing a change.
% 	- Ability to build callable libraries of generic functionality, thus
% 	  supporting layered, modular programming.
% 
% I agree, these are important.  (Someone else has mentioned local variables not
% existing in COBOL, a feature which fits nicely in the above list.)  Now, are 
% there really no ways to implement the above features in a COBOL environment?
% Are function calls and libraries not possible for some reason?  And could
% tools such as SCCS or "make" provide the first point?

   There's considerably more as well... Ada's exception handling (a means
   of "damage control", similar to COBOL's "ON END" but considerably more
   sophisticated) and many other safety features enhance the reliability 
   of software systems in ways that simply cannot be attained within COBOL.

   There is also multitasking -- the ability to express the idea of 
   objects which do their work in parallel.  Here COBOL is helpless,
   even though it is much more natural in many cases to break down a
   system into different objects which exist in parallel and interact
   with one another.  

   And remember the generic priority queue I described earlier?  If one
   is to design such a system so that it can hold any number of objects,
   it is necessary to implement it using what is known as "recursion". 
   This is what happens when a procedure or function calls itself, an
   idea which COBOL strictly prohibits.  Recursion is considered to be
   fundamental to the proper implementation of many such data structures,
   and in fact is a fundamental basis of much of Computer Science.

   There is also tremendous difficulty when one tries to describe what
   is known as an "abstract data type" in COBOL.  This is a style by
   which one identifies and characterizes a real-world object through
   a description of the operations which can be done with that object,
   such that a guarantee exists that nobody can do anything with the
   object without making use of the predefined operations available 
   for it -- this makes sure that the "integrity of the abstraction",
   or the standard concept that everyone has of the object, is upheld.
   In COBOL, even the idea of having user-defined types is not supported,
   much less supported with the level of enforcement provided by the
   Ada "limited private" mechanism.

   There is quite a lot that COBOL has missed out on over the years,
   and this is why the DoD has given up on the idea of continuing to 
   use it.  With Ada support available now for typical MIS platforms, 
   and given the prospect of an incremental conversion, it just doesn't 
   make much sense to continue on with COBOL. 


   Bill Wolfe, wtwolfe@hubcap.clemson.edu

  reply	other threads:[~1990-03-23  6:27 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <420@mck-csc.UUCP>
1990-03-22  2:18 ` What's really wrong with COBOL? William Thomas Wolfe, 2847 
1990-03-22 20:34   ` Jeffrey Weiss
1990-03-23  6:27     ` William Thomas Wolfe, 2847  [this message]
1990-03-24 15:43       ` jim frost
1990-03-24 21:38         ` William Thomas Wolfe, 2847 
1990-03-25 22:19           ` jim frost
1990-03-28  6:21           ` a.lawrence
1990-03-29 13:52             ` Mike Feldman
1990-03-25  3:41         ` Steve Bridges
1990-03-23 11:07   ` Mike Harrison
1990-03-23 16:43     ` William Thomas Wolfe, 2847 
1990-03-29 18:31   ` Andy DeFaria
1990-03-29  0:52 ext_iai
  -- strict thread matches above, loose matches on Subject: below --
1990-06-02  2:39 jay
replies disabled

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