IBM Z and LinuxONE - Languages - Group home

Keeping TCO at bay by utilizing the latest features of middleware and compilers

  
Why should rewriting code written in assembler to exploit the latest hardware features be any different than re-writing code in C/C++ to use the latest language features?  You'd think these are comparable efforts for a development shop and equally encouraged.  That for the applications to stay competitive it is important to take advantage of all the applicable latest features. Written in any language, be it a high level language (HLL), such as C/C++, PL/1 or COBOL, or a Low Level language, such as assembler, they need to keep up to date both with the language as well as platform features.  Basically to stay competitive it is imperative for development shops and application developers to stay "au courant".

If the above statement were true then applications written in assembler would all be up to date to the latest version of the hardware.  In reality however an assembler program is used as-is for a long time.  Because of its proximity to the hardware it is considered to be fast and this makes assembler programs, although long and hard to read/debug, viable for high performance applications.

For how long can we avoid change? For as long as we have access to the skills that can maintain the existing infrastructure and for as long as this practice is cost effective.  There comes a time that the productivity scale tilts towards change.  Change could come in different flavors, change to a more current HLL, e.g. C/C++, Java, PL/1 and COBOL; PL/1 and COBOL are still considered as one of the widely used compiled languages.

In recent years the term modernization has been widely used by main-frame solution providers in an effort to keep maintaining the infrastructure cost effective and take advantage of more current, less expensive skills, and tools.  And also to keep the products more relevant to users' in-demand features, such as Graphical User Interfaces.  Modernization is a way to maintain/boost productivity.

IBM’s new zEnterprise™ architecture and middleware offers many advanced features to deliver high-execution performance for your applications.  These features were explained during the web cast on February 15 by Ray Jones, Vice President, IBM System z Software and Kevin Stoodley, IBM Fellow and CTO for Enterprise Modernization Tools, Compilers and Security. 

One of the features in the  z/OS® XL C/C++ compiler offering is the Metal C feature. The Metal C feature enables:
  • the compiler to generate assembly output,
  • a C program can handle embedded assembly instructions,
  • a C program can get to data stored in data spaces accessible via the z Hardware AR registers,
  • and other features documented in the Metal C Programming Guide. 

As Kevin Stoodley mentions in the podcast : Metal C has been used to re-write parts of the C run time that was written in assembler.

Find out more on how you can exploit the latest advancements in z/OS® XL C/C++, Enterprise COBOL, and Enterprise PL/I compilers to help improve programmer productivity, application performance, and return on middleware investment here.