On 22/02/09 01:31, John Little wrote:
>
>
> On Feb 21, 12:02 am, Tony Mechelynck<[email protected]>
> wrote:
>> So the
>> criminal offence, if any (which remains to be seen), might be _teaching_
>> COBOL or _requiring_ its use, but not _using_ it.
>
> Normal coding is not use in isolation, one is always in communication
> with whoever gets to maintain the code.
>
>> If you say COBOL-74 was different from "my" COBOL in crippling terms, I
>> have to defer to you. Was COBOL-74 freeform already?
>
> Yes, but it still had no end-if, an unusable call statement, and the
> all-variables-global data division.  Cobol-85 cleaned things up a lot,
> enabling logic to coded straightforwardly.  But the cripples I
> referred to were so enamoured of their copy books with GO TO paragraph-
> exit they enshrined it in the coding standards.  go tos are bad, but
> when they're in copy books (included code), going to places in other
> copy books, I find the notion of brain damage inescapable.  That might
> have been one shop going off on a tangent, but I encountered the same
> practice (among other heinousness) on another unrelated project.
> (That included something that was arguably criminally negligent,
> because it concealed a back door that could be used to affect money
> transfers.)
>
> This may seem off-topic, but IMO is relevant to vim-dev at least.
> Vim's developers might be aware of some aspects of the "house-style".
>
> Regards, John

Hm. When I learnt programming, "structured programming" wasn't yet "the 
only way to go". Of course we called subroutines using PERFORM, but 
nothing prevented using GO TO within a single routine, especially to go 
to the EXIT paragraph at the end of the subroutine (a "return" in the 
middle of a function, or a "break" in the middle of a while-loop, do the 
same in C or in vim-script under another guise, don't they?). And since 
the DEPENDING clause could only be used with GO TO, another GO TO might 
be necessary when coming back. Self-modifying code (the ALTER statement) 
was used only in very special and well-documented cases.

As for money transfers, I never worked for a bank. At first I was in a 
servicebureau, where we programmers made programs for various clients 
(mostly accounting OT1H and payrolls OTOH), but code from any programmer 
belonged to the firm and could be seen and worked on by any other 
programmer if necessary (for instance, if the original "author" went ill 
or left the firm). Later I worked for a subsidiary of Electrolux, where 
I converted an existing production database to an SQL-based system from 
some outside software maker. Here, money transfers didn't even enter the 
program's workings IIRC.

As for the CALL statement, it wasn't invented when I first learnt COBOL 
(subroutines were called using PERFORM, which, whatever you might think, 
was perfectly usable). Later, CALL was added as a non-ANSI extension to 
call assembly-language subprograms as in

        ENTER COMMUNICATION-MODE.
        CALL external-name [USING data-name-1 ... data-name-n].
        ENTER COBOL.

which an even later ANSI standard would simplify to

        ENTER language-name external-name [USING data-name-1 ... data-name-n].

(where, on the system where I worked then, language-name was required 
but documentary only, couldn't be COBOL, and didn't influence the 
generated code). This was one of the reasons I got an interest in 
assembly language: to do some things which weren't reasonably feasible 
in COBOL, such as translating input from 9-track tapes, read by the 
hardware into two characters per byte, to the 6-bit characters of that 
processor; or later to improve the performance of the critical parts of 
some programs which did what they had to do, but much too slowly. Also 
to circumvent the fact that the INDEXED BY clause hadn't yet been 
invented, which meant that subscripts had to be in decimal while the 
hardware (which couldn't do binary multiplication) addressed memory in 
binary.


Best regards,
Tony.
-- 
No man may purchase alcohol without written consent from his wife.
                [real standing law in Pennsylvania, United States of America]

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to