In
<cc42e2f56d60f24fb8a6bcc639d1d96331ad0...@samtcasxmb46.usa.dce.usps.gov>,
on 05/15/2015
   at 06:54 PM, "Hansen, Dave L - Eagan, MN" <dave.l.han...@usps.gov>
said:

>My Square Brackets disappeared and my Java won't compile. 

What code points get sent? What is your ISPF terminal type? What
compiler and options are you using?

>"C is another problem child.

It may be an obsolte, ugly and unsafe language, but the fault here
does not lie with C.

>It uses funky characters

No. The funkiness resides in IBM assigning them to different code
points in different EBCDIC code pages.

>like the square brackets '[]',

Bog standard ASCII, and languages older than EBCDIC use them.

>curly brackets '{}' 

Bog standard ASCII

>and broken vertical bar '|'.

Bog standard ASCII

>These move around (or disappear) depending on your code page.

Aha! So it's the EBCDIC code pages, not C.

>But with C there's another catch: it's designed to use EBCDIC 1047,
>not EBCDIC 0037."

No; it's not designed to use either. Don't confuse the compiler with
the language.

>"So why is C designed for EBCDIC 1047?

It isn't

>Because z/OS Unix Systems Services (USS) is also designed for it."

It's not USS and it's newer than C.

>"When IBM created USS for z/OS, it makes sense that it had to work
>in EBCDIC. The POSIX standard for UNIX doesn't require the use of
>ASCII,

So? IBM acknowledged the importance of ASCII. Causing problems for C
programmers is just one symptom. 


>and z/OS is an EBCDIC operating system. IBM really didn't have a
>choice."

IBM could easily[1] have *consistently* mapped all ASCII graphics
(41-7F) into EBCDIC, instead of creating a Tower of Babel; IBM had a
choice, and chose the wrong one.

>"The problem is that UNIX, and its core programming language C, 
>rely on characters that don't exist in some EBCDIC codepages.

No, the problm is that IBM does not properly support either C or
ASCII.

>EBCDIC 1047 is designed to include all the characters USS needs 

Not in a manner consistent with other code pages. And it's not USS.

>effectively all the characters from Extended ASCII: ISO8859-1

There is no etended ASCII, other than the abortive ASCII-8. ISO-8859-1
is a ISO standard character set, and is no more ASII than ISO-8859-2
through -15.

[1] With the possible exception of CKJ code pages.

-- 
     Shmuel (Seymour J.) Metz, SysProg and JOAT
     ISO position; see <http://patriot.net/~shmuel/resume/brief.html> 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to