Tuesday, 14 April 2009

Mainframe compilers

I hold my hand up to being quite ignorant about mainframe compilers. To be honest I thought of them as nothing more than a tool that you used at the appropriate time and then put back in your toolbox – like a pair of pliers that you use and then put back with the other tools until the next time you need it. Not something that you give much thought to – except when you need it.

And (can I make my ignorance seem even worse!), I assumed that everyone used compilers provided by IBM, so their code ran on IBM mainframes. And I guess, I assumed that everyone just paid IBM for the privilege.

Like everyone else, I knew that a compiler is a computer program that’s used to transform source code written in a higher-level computer language like COBOL or Assembler (which I know is pretty close to machine code) into object code that could then be executed on the mainframe (or other platform).

But I recently discovered that there are other companies in the compiler marketplace.

Dignus, at dignus.com/, has Systems/ASM, its Assembler compiler, which is now at Version 1.80. This can be used to create Linux/390 and z/Linux programs from traditional ASM source, allowing for an easier transition to Linux on the mainframe. Systems/ASM can assemble existing code as unchanged as possible (no new instructions or psuedo-ops to use) and also has complete support for debugging with the native Linux tools. The company also claims that Systems/ASM Assembler software allows users to develop mainframe applications, in IBM Assembler language, on a mainframe, or on Unix and Windows workstations. Systems/ASM generates object code for all IBM zSeries operating systems, including Linux for S/390 and zSeries, z/OS, OS/390, VSE, z/VSE, VM, z/VM, TPF, and z/TPF.

A company called Syspoint (www.syspointusa.com/) offers Syspoint Virtual Compilers. The company suggests that they are suited to companies with two or more mainframes. They go on to suggest that they can be thought of as “cloud compiling”, only in-house.

So, how does it work? According to the company, a virtual compiler is a program that functions equivalently to an actual compiler but does not require that the actual compiler be installed or licensed on the machine on which it runs. The Syspoint Virtual Compiler utilizes FTP to transmit the user’s source code to another mainframe (on which the actual compiler is installed), compiles it there, and returns the output of the actual compiler (system messages, listing, object code, etc) to the user’s specified target datasets.

So users no longer need the IBM compiler and can save on that cost, while paying less money to Syspoint.

There’s also zCobol, available from www.zcobol.org/. zCOBOL is an open source portable mainframe COBOL compiler available as part of the z390 open source portable mainframe Assembler for Windows or Linux. Users can download z390 and zcobol in InstallShield format for Windows for file image format for Linux from www.z390.org. It also needs the J2SE Java runtime which can be downloaded from Sun Developer Network. Once users have installed z390 with zcobol and J2SE runtime, then they can start the z390 GUI interface or command line interface.

So, much more to compilers than perhaps you thought as well!

No comments: