comp.lang.ada
 help / color / mirror / Atom feed
From: "Alexander E. Kopilovich" <aek@VB1162.spb.edu>
To: comp.lang.ada@ada-france.org
Subject: Re: 7E7 Flight Controls Electronics
Date: Thu, 10 Jun 2004 05:41:45 +0400 (MSD)
Date: 2004-06-10T05:41:45+04:00	[thread overview]
Message-ID: <mailman.85.1086832128.391.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: <x1yxc.7635$uX2.6317@newsread2.news.pas.earthlink.net>; from Richard Riehle at Wed, 09 Jun 2004 06:23:25 GMT

Richard  Riehle wrote:

> > There are other
> > ways for structured programming (in general sense), and COBOL was very well
> > suited for some of them. For example, if you have ever read "Principles of
> > Program Design" by Jackson, you may recall that JSP was quite happy with
> > COBOL.
>
> Sorry, but COBOL was totally ill-suited to support of well-formed structures
> of any kind prior to ANSI-85.

COBOL (even 66) was very well suited to support of well-formed *data*
structures. As for control structures, oh yes, it did not provide blocks
(FORTRAN IV also did not provide them - was that FORTRAN stupid also?), and
I think it was right choice, PERFORM statements were better in those
circumstances.

>  Take the horrible model for an IF statement as an example.

Hm, what was so horrible there? I have no bad recollections of that IF.

> Those of us who had to use this half-baked conditional
> formation recall how easily it led to programming mistakes.

Well, some people like to count mistakes, while others (including me) prefer
to consider real counsequences of those mistakes (on a production line). My
experience says that these two accounts lead to rather different results.

And anyway, all constructs easily lead to programming mistakes, without
exceptions. Take for example those begin-end blocks. The following 3-step
scenario I encountered many times:

Step 1. Use the same identifier inside and outside of the block:

  declare i;
  i := ...;
  ...
  begin
    declare i;
    i := ...;
    ...
    ... := i; 
    end;
  ...
  ... =:= i;

Step 2. Reuse that variable inside the block:

  declare i;
  i := ...;
  ...
  begin
    declare i;
    i := ...;
    ...
    ... := i; 
    ...
    i := ...;
    ...
    ... := i;
    end;
  ...
  ... =:= i;

Step 3. Remove the first use of that variable inside the block along with its
inner declaration (just forgetting about the second use of it):

  declare i;
  i := ...;
  ...
  begin
    ...
    i := ...;
    ...
    ... := i;
    end;
  ...
  ... =:= i;

The final result is obvious, I hope.

> The fact that Jackson "was quite happy with COBOL" is simply an indication
> of the widespread stupidity regarding the shortcomings of the earlier forms
> of the language.

Is it a new fashion of political correctness to declare previous techniques
and tools that didn't become current mainstream - simply stupid?

>   No intelligent contemporary programmer would want to
> return to hideous mess of tangled code so typical of pre-ANSI-85.

Well, I can't say for intelligent people (they are so mystically clever, they
so easily differentiate and recognize so many puzzling abbreviations -:),
but in my humble opinion, a hideos mess of tangled systems and products and
concepts and standards isn't much better, and leaves even less hope for
keeping things under control.

> Structures, in the Dijkstra sense, was far more than "GO TO Considered
> Harmful."   More important, though, are the elementary control structures
> of Jacopini and Bohm which, when properly formed, will include scope
> terminators such as ANSI-85, END-PERFORM, END-READ, END-IF,
> etc, without which the resulting code is usually a mess.

Well, I prefer another "definition of scope" - that of H. Mills - a module
that fits into a page, that is, a scope is an amount of code which directly
fits into programmer's view.

> I have written and
> maintained code written by others, in COBOL 68, 74, and 85.  I would
> never want to do anything in 68 or 74 again.

Well, if you prefer to deal with magnificient templates, XSSL, SOAP, ADO,
DRM, Java 1.m.n etc., etc. (at the same time, of course) then it is your taste, 

> In my view, COBOL, prior to the ANSI-85 standard was not "very well
> suited" for writing maintainable, dependable, well-structured code,

Surely. It was just well suited to make programs which ran on production
lines - certainly with much pain, failures etc., but there was no other way
that time, in first place because of incomplete and often self-contradictory
specifications/requirements and unreliable hardware.

> Since the ANSI-85 standard, COBOL has become one of the most interesting
> languages around.  It has corrected the silliness of the earlier standards,

There was no silliness to correct. COBOL just was adapted to changed
circumstances - more powerful and reliable hardware, more challenging tasks,
more educated/experienced programmers, and better understanding of the
processes by analysts.




Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia




  parent reply	other threads:[~2004-06-10  1:41 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-29  1:51 7E7 Flight Controls Electronics Jeffrey Carter
2004-05-29 10:21 ` Per Dalgas Jakobsen
2004-05-29 12:58   ` Marin David Condic
2004-05-29 13:35     ` Ed Falis
2004-05-29 17:29       ` Marin David Condic
2004-05-29 17:40         ` Ed Falis
2004-05-29 18:44           ` Marin David Condic
2004-05-29 18:58             ` Ed Falis
2004-05-30  7:55             ` Pascal Obry
2004-05-30 11:43               ` Georg Bauhaus
2004-05-30 16:10                 ` Pascal Obry
2004-05-31 11:56               ` Marin David Condic
2004-05-29 17:48         ` Wes Groleau
2004-05-29 18:53           ` Marin David Condic
     [not found]             ` <n42jb05e8rk7bsrtf2ikesu9t0bsmbphji@4ax.com>
2004-05-31 12:04               ` Marin David Condic
2004-06-06 10:35               ` I R T
2004-05-30  7:50         ` Pascal Obry
2004-05-31 12:25           ` Marin David Condic
2004-06-02 16:45           ` Warren W. Gay VE3WWG
2004-06-02 17:48             ` Martin Dowie
2004-06-03 15:57               ` Warren W. Gay VE3WWG
2004-06-03  0:09             ` Marin David Condic
2004-06-03  1:08               ` Ed Falis
2004-06-03 12:06                 ` Marin David Condic
2004-06-03 12:33                   ` Ed Falis
2004-06-03 16:44                   ` Wes Groleau
2004-06-03 17:52                   ` tmoran
2004-06-04  1:13                   ` Jeffrey Carter
2004-06-04 11:27                     ` Marin David Condic
2004-06-04 18:38                       ` Jeffrey Carter
2004-06-06 21:37                     ` Leon Winslow
2004-06-07 11:08                       ` I R T
2004-06-08  2:22                         ` Richard  Riehle
2004-06-08  9:07                           ` I R T
2004-06-08 11:33                           ` Marin David Condic
2004-06-09 21:02                           ` Robert I. Eachus
2004-06-09 21:22                             ` Ed Falis
2004-06-09 23:30                               ` Richard  Riehle
2004-06-10  2:02                               ` Jeffrey Carter
2004-06-10  2:27                                 ` Ed Falis
2004-06-10 19:54                                   ` Jeffrey Carter
     [not found]                             ` <28rfc01rhesdk2qt27krrr65nnk0n0kihc@4ax.com>
2004-06-12  3:01                               ` non sequitur Robert I. Eachus
2004-06-11 16:51                           ` 7E7 Flight Controls Electronics (COBOL Popularity) Warren W. Gay VE3WWG
2004-06-11 17:18                             ` Marin David Condic
2004-06-11 18:49                             ` Richard  Riehle
2004-06-11 19:07                               ` Marin David Condic
2004-06-11 20:39                               ` Warren W. Gay VE3WWG
2004-06-12 11:16                                 ` Georg Bauhaus
2004-06-11 21:05                             ` Frank J. Lhota
2004-06-14 12:46                               ` Warren W. Gay VE3WWG
2004-06-07 11:19                       ` 7E7 Flight Controls Electronics Marin David Condic
2004-06-07 22:24                         ` Alexander E. Kopilovich
2004-06-08  1:11                           ` Marin David Condic
2004-06-08  2:35                           ` Richard  Riehle
2004-06-08  6:59                             ` tmoran
2004-06-08 19:44                               ` Wes Groleau
2004-06-09  1:32                             ` Alexander E. Kopilovich
2004-06-09  6:23                               ` Richard  Riehle
2004-06-09  7:09                                 ` Martin Dowie
2004-06-10  1:41                                 ` Alexander E. Kopilovich [this message]
2004-06-10  6:13                                   ` Richard  Riehle
2004-06-11  2:03                                     ` Alexander E. Kopilovich
2004-06-12  2:31                                     ` Robert I. Eachus
2004-06-15 16:07                                       ` Richard  Riehle
2004-06-09  7:54                               ` Dmitry A. Kazakov
2004-06-09  6:31                         ` Robert I. Eachus
2004-06-09  9:43                           ` I R T
2004-06-09 15:28                           ` Jerry Petrey
2004-05-29 15:58     ` Preben Randhol
2004-05-29 17:45       ` Marin David Condic
2004-05-29 17:51         ` Ed Falis
2004-05-29 19:55       ` Jeffrey Carter
2004-05-30  7:57       ` Pascal Obry
2004-05-30 18:35         ` Richard  Riehle
2004-05-31 12:38           ` Marin David Condic
2004-06-04 12:56           ` Warren W. Gay VE3WWG
2004-06-05  8:49             ` Pascal Obry
2004-06-06 10:27 ` I R T
  -- strict thread matches above, loose matches on Subject: below --
2004-05-30 10:34 Rod Chapman
2004-06-03  8:18 ` Vernon Brown
2004-06-03 10:45   ` Martin Krischik
2004-06-03 15:52   ` Richard  Riehle
replies disabled

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