For Programmers: Free Programming Magazines  


Home > Archive > Cobol > July 2006 > Misnomers in the COBOL standard









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Misnomers in the COBOL standard
Roger While

2006-07-13, 3:55 am

What is your candidate for the worst misnomer in the COBOL standard ?
I like BASED.
This actually means the total opposite and perhaps should
have been NON-ALLOCATED.

Roger


William M. Klein

2006-07-13, 6:55 pm

Certainly the classic (from the '85 Standard) which was subsequently changed was
calling "IF" a "verb".

The one that I currently HATE the most is "processor dependent" which actually
just means "optional".

--
Bill Klein
wmklein <at> ix.netcom.com
"Roger While" <simrw@sim-basis.de> wrote in message
news:e94tqs$ii2$02$1@news.t-online.com...
> What is your candidate for the worst misnomer in the COBOL standard ?
> I like BASED.
> This actually means the total opposite and perhaps should
> have been NON-ALLOCATED.
>
> Roger
>



Rick Smith

2006-07-13, 6:55 pm


"Roger While" <simrw@sim-basis.de> wrote in message
news:e94tqs$ii2$02$1@news.t-online.com...
> What is your candidate for the worst misnomer in the COBOL standard ?
> I like BASED.
> This actually means the total opposite and perhaps should
> have been NON-ALLOCATED.


PRESENT WHEN clause
Format 2 (validation):
_PRESENT_ _WHEN_ condition-2

which actually means SELECTED (for validation) WHEN,
as stated in the introduction by "2) The PRESENT WHEN
clause also enables conditional selection of data description
entries by the VALIDATE statement."



Robert Jones

2006-07-13, 6:55 pm


Roger While wrote:
> What is your candidate for the worst misnomer in the COBOL standard ?
> I like BASED.
> This actually means the total opposite and perhaps should
> have been NON-ALLOCATED.
>
> Roger


I think MOVE has to take the biscuit, why wasn't it called COPY? and
some other name found for the existing COPY statement, such as INCLUDE.


My other bugbear is MULTIPLY a BY b, when in english, I would expect
the result in a rather than b.

Robert

William M. Klein

2006-07-13, 6:55 pm

You have to hear the "present" to understand that it is (intended) to be:

"present" - as in give forth or show (cf. "present an award")
and NOT
"present" as in "not absent"

There was LOTS of discussion about this when the '02 Standard was developed. I
am NOT disagreeing that there is a "problem" - but did want you to understand
HOW it came about.

--
Bill Klein
wmklein <at> ix.netcom.com
"Rick Smith" <ricksmith@mfi.net> wrote in message
news:12bcnl2ijk7qe86@corp.supernews.com...
>
> "Roger While" <simrw@sim-basis.de> wrote in message
> news:e94tqs$ii2$02$1@news.t-online.com...
>
> PRESENT WHEN clause
> Format 2 (validation):
> _PRESENT_ _WHEN_ condition-2
>
> which actually means SELECTED (for validation) WHEN,
> as stated in the introduction by "2) The PRESENT WHEN
> clause also enables conditional selection of data description
> entries by the VALIDATE statement."
>
>
>



Alistair

2006-07-13, 6:55 pm


Robert Jones wrote:
> Roger While wrote:
>
> I think MOVE has to take the biscuit, why wasn't it called COPY? and
> some other name found for the existing COPY statement, such as INCLUDE.


And then we would have had to rename INCLUDE as something else.....ad
infinitum, ad nauseum.


>
>
> My other bugbear is MULTIPLY a BY b, when in english, I would expect
> the result in a rather than b.
>
> Robert


Howard Brazee

2006-07-13, 6:55 pm

On 13 Jul 2006 13:30:11 -0700, "Alistair"
<alistair@ld50macca.demon.co.uk> wrote:

>
>And then we would have had to rename INCLUDE as something else.....ad
>infinitum, ad nauseum.


Except that the MOVE command had to have been one of the very first
basics of the language, with more peripheral commands fitting in.
Richard

2006-07-13, 6:55 pm


Robert Jones wrote:

> My other bugbear is MULTIPLY a BY b, when in english, I would expect
> the result in a rather than b.


The oginal staements in the language always had the last operand as the
result:

MOVE A TO B
ADD A TO B
SUBTRACT A FROM B
DIVIDE A INTO B
MULTIPLY A BY B

When GIVING was added that too put the result in the last operand,
ehich was now after the word GIVING.

DIVIDE A BY B would have broken this which is why it requires GIVING.

Michael Mattias

2006-07-13, 6:55 pm

"Howard Brazee" <howard@brazee.net> wrote in message
news:lebdb29hnggnuanmnhdgkcb1o7f1u99vrf@
4ax.com...
> On 13 Jul 2006 13:30:11 -0700, "Alistair"
> <alistair@ld50macca.demon.co.uk> wrote:
>
>
> Except that the MOVE command had to have been one of the very first
> basics of the language, with more peripheral commands fitting in.


Proving yet again... time spent thinking BEFORE writing that first line of
code is time well spent!

MCM





Rick Smith

2006-07-13, 6:55 pm


"William M. Klein" <wmklein@nospam.netcom.com> wrote in message
news:10ytg.112439$az.70432@fe04.news.easynews.com...
> You have to hear the "present" to understand that it is (intended) to be:
>
> "present" - as in give forth or show (cf. "present an award")
> and NOT
> "present" as in "not absent"
>
> There was LOTS of discussion about this when the '02 Standard was

developed. I
> am NOT disagreeing that there is a "problem" - but did want you to

understand
> HOW it came about.


And, sometime after J4 had their discussion, I had one,
using e-mail, with Mr Piggot and Mr Hubbell where all
that was explained; so I will disagree that I "have to hear
the 'present' to understand". Having heard it with my own
voice, I still don't understand. <G>

Perhaps someone could rewrite the introduction to remove
the idea of "selection", replacing it with the idea of
"presentation". Maybe then it will become sensible, to me;
though I doubt it, since I seem unable to grasp the meaning
of "presenting data description entries to a VALIDATE
statement", while "selecting data description entries for a
VALIDATE statement" makes perfect sense.

[The introduction actually states "The PRESENT WHEN
clause also enables conditional selection of data description
entries by the VALIDATE statement."]



dashwood@enternet.co.nz

2006-07-13, 6:55 pm


Roger While wrote:
> What is your candidate for the worst misnomer in the COBOL standard ?
> I like BASED.
> This actually means the total opposite and perhaps should
> have been NON-ALLOCATED.
>
> Roger


I nominate 'MOVE'... it doesn't; it COPIES... :-)

Pete.

William Bub

2006-07-13, 6:55 pm

(Jumping in from my usual lurking...)

I always liked it that COBOL nearly always worked left to right: MOVE VAR1
TO VAR2, ADD 1 to VAR3, etc.
I wish there were a COMPUTE syntax which worked the same way: COMPUTE VAR1 +
VAR2 GIVING VAR3 ???
(The last time I suggested it, everyone thought I was nuts!)

"Richard" <riplin@Azonic.co.nz> wrote in message
news:1152829155.058170.233420@h48g2000cwc.googlegroups.com...
>
> Robert Jones wrote:
>
>
> The oginal staements in the language always had the last operand as the
> result:
>
> MOVE A TO B
> ADD A TO B
> SUBTRACT A FROM B
> DIVIDE A INTO B
> MULTIPLY A BY B
>
> When GIVING was added that too put the result in the last operand,
> ehich was now after the word GIVING.
>
> DIVIDE A BY B would have broken this which is why it requires GIVING.
>



James J. Gavan

2006-07-13, 9:55 pm

William Bub wrote:
> (Jumping in from my usual lurking...)
>
> I always liked it that COBOL nearly always worked left to right: MOVE VAR1
> TO VAR2, ADD 1 to VAR3, etc.
> I wish there were a COMPUTE syntax which worked the same way: COMPUTE VAR1 +
> VAR2 GIVING VAR3 ???
> (The last time I suggested it, everyone thought I was nuts!)


Interesting but not nuts :-). Your example is logical and immediately
comprehensible but it does make it inconsistent with other uses of the
COMPUTE. Think on it -

COMPUTE (Something) = (formula)

Jimmy
Robert Jones

2006-07-14, 6:55 pm

Bottom posting

Richard wrote:
> Robert Jones wrote:
>
>
> The oginal staements in the language always had the last operand as the
> result:
>
> MOVE A TO B
> ADD A TO B
> SUBTRACT A FROM B
> DIVIDE A INTO B
> MULTIPLY A BY B
>
> When GIVING was added that too put the result in the last operand,
> ehich was now after the word GIVING.
>
> DIVIDE A BY B would have broken this which is why it requires GIVING.


I don't see that DIVIDE A BY B is any worse than MULTIPLY A BY B, we
could have had MULTIPLY A WITH B, which while not normal english would
at least not give the impression that the result belongs in A. Still
it's all in the past now.

PERFORM is much more fun than DO!

Robert

Michael Mattias

2006-07-14, 6:55 pm

"Robert Jones" <rjones0@hotmail.com> wrote in message
news:1152901326.967648.254350@s13g2000cwa.googlegroups.com...

> PERFORM is much more fun than DO!


Them that can, do. Them that can't, perform.

MCM




Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com