EGL was designed by IBM to enable the development of modern, multi-platform applications through a common programming language that abstracts the technical details of underlying frameworks and runtime platforms. To achieve this goal, EGL includes; 1) concepts from statically typed languages like Java, COBOL, C, etc, 2) abstract expressions for common application operations, 3) a rich library of built in functions, and 4) the ability to easily integrate existing frameworks and libraries from other programming languages.
To see how EGL abstracts the technical details, and provides support for cross platform development, consider an application that is written to read, update, and write customer records stored in a database. In most common programming languages, the read and write routines must be written for a specific target database, and the developer must be sure to write code that provides support for fail-safe, atomic operations. In EGL, by using the 'get' and 'replace' abstract expressions, reading and writing a customer record found in a database can be implemented in a single line of code, which is implementation independent, fail-safe, and atomic:
function getEmployees() returns(Employee)
records Employee; // define an empty array of records
get records; // retrieve records from the database
return (records); // return the records
As can be seen in the example above, a major benefit of using the EGL language is that developers can spend more time focusing on their application logic and algorithms, instead of focusing on the implementation specific details needed to access the data required by the application. Another benefit is that after having written one type of application in EGL, like the database example above, it is easy to write other types of applications in EGL (i.e. Services, Web 2.0 User Interfaces, Reports, etc). Also, as new technologies are introduced, and integrated into EGL, it is easy for EGL developers to write applications in these new environments, without having to learn a new language or framework.
If you are interested in learning more about EGL, or if you would like to join the EGL development community, be sure to visit the EGL Cafe. If you are interested in writing your own EGL application, you can download a trial of Rational Business Developer (RBD), from ibm.com.
Note: In 2010, EGL, and its associated development environment, were made available as the EDT (EGL Development Tools) Open Source project under the EPL (Eclipse Public License). To find out more about this project, or to download the latest release, visit the EDT Project home page.
About the author
Brian W Svihovec has been actively involved with the design and development of the EGL language, and its Eclipse based development environment, since 2001. His contributions include a significant involvement in the design and implementation of EGL Rich UI support in the EGL language, and being a lead developer on the EGL compiler for the Eclipse IDE. Brian has been the Chief Programmer for Rational Business Developer (RBD) since 2008.