C/370 is case insensitive, and just generally rots!

Craig Jackson drilex1 dricejb at drilex.UUCP
Wed Dec 20 02:15:56 AEST 1989


In article <1989Dec18.232929.23080 at ux1.cso.uiuc.edu> mcdonald at aries.scs.uiuc.edu (Doug McDonald) writes:
>In article <1989Dec18.113044.10445 at gdt.bath.ac.uk> exspes at gdr.bath.ac.uk (P E Smee) writes:
>>In article <72683 at psuecl.bitnet> c9h at psuecl.bitnet writes:
>>>C/370 is IBM's latest incarnation of C for the system/370, and many of their
>>>mainframes of course.  I'm using it on a 3090-600(S or E, I don't recall)
>>>and a 4381.  It sucks.
>>>
>>*I* was flaming 5713-AAH; our IBM people have never indicated that
>>there is an official alternative.  (We *are* looking into the C on the
>>'Waterloo' tapes.)
>
>This seems so simple: there is a set of STANDARD, world-wide 
>character codes, that are used on essentially all computers in the
>world except one benighted variety: ASCII and its 256 bit European
>extensions. All of these have the printing codes from 32 to 126
>the same. 
>
>IBM: simply use these for all uses on your mainframes.
>
>So simple.
>
>Or: when specifying a new computer you are going to buy,
>specify that these are the codes that will be used for all
>operations. 
>
>Doug McDonald

The major reason why EBCDIC is incompatible with ASCII is that it
*predates* ASCII.  EBCDIC was put to be sometime around 1964-66; ASCII
didn't gel until around 1968.  By then, EBCDIC was in wide use.
(Also, IBM had some other criteria: EBCDIC can be derived from punch
card codes more easily than ASCII, for example.)

We've had quite a bit of experience with ASCII characters that EBCDIC
doesn't like, as we ported some Burroughs ALGOL programs to IBM by writing
a compiler.  (Burroughs uses EBCDIC, but a different version than IBM's;
it maps one-to-one onto ASCII.)

To the best of my knowledge, all 3270-like terminals other than the 3277 can
display square brackets.  The problem is that they respond to the hex codes
'41' and '42', rather than 'AD' and 'BD', which seem to be the EBCDIC 
"standard".  With appropriate CMS SET INPUT and SET OUTPUT commands, it
can be quite easy to deal with these characters.  (If you want to type them in,
you need six commands: SET INPUT '`' -> 'AD' (or some similar character,
SET INPUT '41'  -> 'AD', and SET OUTPUT 'AD' -> '41'.  (Plus equivalent
translates for right-square-bracket.)

As for specifying that ASCII should be used in all operations, feel free.
If that results in a computer that costs more, doesn't have the software you
need, or doesn't have the performance (CPU or I/O) you need,  feel justified.
(If you're counting beans on large amounts of data (>20 GB), one or more of
the above clauses may be true.)

Incidentally, IBM would be happy to meet that requirement: they'd just
quote AIX/370. :-)
-- 
Craig Jackson
dricejb at drilex.dri.mgh.com
{bbn,axiom,redsox,atexnet,ka3ovk}!drilex!{dricej,dricejb}



More information about the Comp.lang.c mailing list