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