HP3000
Programming languages available
- Pascal - from HP
- COBOL - from HP
- FORTRAN - from HP
- SPL - from HP
- BASIC/3000 - from HP
- Business Basic - from HP
- RPG - from HP
- CCS/C - from CCS (aka Corporate Computer Systems)
- C/3000 - from Unison (no longer available)
3rd GLs:
- C/iX - from HP
- Pascal/iX - from HP
- Fortran/?? - from HP
- Business Basic - from HP
- COBOL - from HP
- RPG - from HP
- BASIC/3000 (Compatability mode) - from HP
- SPL (Compatability mode) - from HP
- SPLash! - from Allegro
- C++ (G++ - Posix only) - free
- CCS/C - from CCS (aka Corporate Computer Systems)
- MicroFocus COBOL - from MicroFocus
- Java - free from HP
- Python - free
- Perl - free
4th GLs:
- Transact - from HP
- Powerhouse - from Cognos
- Speedware - from Speedware
CB
Fortran, COBOL, Business Basic, and Pascal all are highly portable between MPE/V and
MPE/iX. CCS/C also ports easily to their own counter- part on MPE/iX, though porting from
CCS/C on MPE/V to C/ix (from HP) can lead to compatability issues. Also, SPL on MPE/V can
be migrated to SPLash! on MPE/iX with varying degrees of work depending on the particulars
of the application (it is possible to write new code that compiles in both SPL on MPE/V
and SPLash! on MPE/iX if SPL is your language of choice).
Can C/iX code compiled on MPE/iX 5.0 run on other (prior) operating system versions?
CB
No. Not if compiled with default libraries. "It's not supported."
RAT
We worked around it by creating a PUB4 group in our SYS account with the following files:
ACCOUNT= SYS GROUP= PUB4
FILENAME CODE ------------LOGICAL RECORD----------- ----SPACE----
SIZE TYP EOF LIMIT R/B SECTORS #X MX
CCMSGCAT 128W FB 229 104800 1 240 1 8
CCOMXL NMPRG 128W FB 9426 9426 1 9440 1 8
CCSTDRL 72B FA 3 3 3 16 1 1
CCXL 80B FA 41 41 3 16 1 1
CCXLGO 80B FA 69 69 1 32 1 1
CCXLLK 80B FA 56 56 1 32 1 1
LIBC NMRL 128W FB 1543 1543 8 1552 7 8
LIBCANDT NMRL 128W FB 13 13 1 16 1 1
LIBCANSI NMRL 128W FB 11 11 1 16 1 1
LIBCINIT NMRL 128W FB 331 331 1 336 2 8
LIBCRAND NMRL 128W FB 13 13 1 16 1 1
LIBM NMRL 128W FB 297 297 1 304 2 1
LINKEDIT NMPRG 128W FB 2956 2956 1 2960 1 1
SOCKETRL NMRL 128W FB 7214 4096000 1 7216 7 32
XDBEND NMOBJ 128W FB 9 9 1 16 1 1
XL NMXL 128W FB 60247 4096000 1 60256 1 *
We've modified all the command files to reference CCOMXL.PUB4.SYS and the
LIBC@.PUB4.SYS. This has worked very well for us so far....
We face this with each update. Our production systems stay on the old GS version while
the development system experiments with the new. This can take weeks, and the applications
programmers need to gen patches.
I know this doesn't apply to a developer, but we keep each version of the compiler and
libraries in alternate groups and during this phase, put the old compilers in PUB.SYS and
the old libraries in H.SYS and LIB.SYS. This way the programmers generate 4.0 code, which
will run in production, and on the 5.0 development system as well.
If you took this logic a bit further, you could create command files that allowed the
version number to be set/passed, and execute the appropriate compilers. How you would
handle #includes is a trickier problem.
|