I started with C/370 ca. 1993.

We wanted to implement a large insurance math package in such a way
that we could deploy it to both mainframe and PCs at the same time, with the same source code. This was big fun, but it was hard to do. We succeeded in the end; the package is still in prod use today.

Some pitfalls in the first years:

- we had to convert the source code to trigraphs ... { becomes ??< etc. ...
because the mainframe codepage didn't support the C special characters at that time

- some problems with floating point results ... we decided to use FP for the calculations; we managed to create a portable rounding function which gives the same results on all platforms
in 99,x .. percent of the cases

- alignment of structs is different

- and many other nasty problems (EBCDIC / ASCII, endianness, ...)

We had a team of about 20 to 30 developers (m/w/d). They were taught carefully, how to write "portable" code across all platforms, which IMO was the key to success. I was the teacher and one of the architects. Today, we have dozens of millions lines of code to manage, with automated tests
every week etc.

Kind regards

Bernd


Am 09.07.2024 um 07:05 schrieb Timothy Sipples:
Charles Mills wrote:
There was an MVS C compiler in the pre-LE days. It was a port of
one of the common C compilers -- I am trying to remember the
vendor. Lattice C -- I think that's it.
Here's some historical information I found from various sources. IBM's first C compiler for MVS was 
IBM Program Number 5713-AAG ("C for System/370"). IBM C for System/370 was announced on 
August 11, 1986, as a licensed and chargeable program product with a planned availability date of 
"September, 1986." Here's a link to the announcement letter:

https://www.ibm.com/docs/en/announcements/archive/ENUS286-359

MVS/SP Version 1 Release 3 was the minimum supported MVS release level. There 
was also a compiler and library for VM, and the compiler was source and object 
code compatible between IBM operating systems.

There was a late 1987 service refresh described in this announcement letter 
that curiously didn't trigger any increment to the release or version number:

https://www.ibm.com/docs/en/announcements/archive/ENUS287-429

But maybe not so curiously because the next compiler was IBM Program No. 5688-040 
("IBM C/370 Compiler") announced in 1988:

https://www.ibm.com/docs/en/announcements/archive/ENUS288-467

The previous 1986/1987 compiler reached End of Service on December 31, 1989. In 
a subsequent announcement IBM intimated that at least their first C compiler's 
library was not Year 2000 ready.

IBM's first C compiler for MVS was allegedly based on a C compiler from a 
vendor named Whitesmiths, based in Westford, Massachusetts. Whitesmiths became 
part of Intermetrics. Intermetrics changed its name to AverStar. AverStar 
merged with Titan Corporation, and then L-3 Communications acquired Titan 
Corporation. L-3 Communications changed its name to L3 Technologies. Then L3 
Technologies merged with Harris Corporation and is now known as L3Harris 
Technologies. So that's all quite simple. :-)

Maybe L3Harris Technologies still holds the copyright to the original 
Whitesmiths C compiler and library for MVS.

I wonder how far back the Dignus compilers can reach.

?????
Timothy Sipples
Senior Architect
Digital Assets, Industry Solutions, and Cybersecurity
IBM Z/LinuxONE, Asia-Pacific
[email protected]
+65 8526 7454 Mobile


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to