EGL can be classified as a 4GL (Fourth Generation Language), although for marketing purposes IBM doesn't like to promote it that way.
"There's been a bad taste left in the industry's mouth about 4GLs," Lindsay says, noting that many were closed systems that left the enterprises that adopted them "stranded" when vendors foundered and stopped enhancing the underlying technology.
4GLs are distinguished by the higher level of abstraction they offer over 3GLs like Cobol, C, and C++. 3GLs operate atop a more abstract runtime environment than lower-level languages that target specific processors, but they are still general purpose languages. In contrast, 4GLs provide abstractions to speed the development of specific types of applications—for example, the 4GLs provided with tools like PowerBuilder gained fans by simplifying the common business application programming tasks like storing and retrieving data or executing transactions. Other 4GLs promised to simplify the creation of complex distributed systems. EGL takes a similar approach to simplifying the creation of Web applications and Web services.
advertisement
EGL is a proprietary language today, although IBM has taken some preliminary steps toward submitting it to a standards body, through the Architecture-Driven Modernization Task Force of the Object Management Group (adm.omg.org). Another way IBM is trying to make the technology more open is by making it extensible—for example, you can essentially import Java classes and add their functionality to the EGL environment. Meanwhile, developers charged with modernizing mainframe or midrange computer applications can have their EGL applications call existing programs on those platforms.