Will Smythe is a product line manager and EGL guru for IBM Rational
Dr. Dobb's: What is EGL?
Dr. Dobb's: By "business language" what do you mean?
Smythe: EGL is a programming language optimized for developing business-oriented applications (i.e. applications typically driven by a user via the Web, services invoked from other applications or third-parties, batch-style programs that perform some business function, like performing batch database updates overnight). The language is meant to be used by developers, not business analysts (it is a full programming language).
Dr. Dobb's: What current language does EGL resemble? COBOL, SQL, DSL?
Smythe: EGL is a statically typed language, like Java, C, etc. It has some similarities to Java (in terms of syntax), but also borrows concepts from COBOL (like the concept of using English verbs for common functions, like GET, ADD, DELETE, MOVE). EGL relies on the concept of abstraction and is declarative in some places. See the EGL wikipedia page for a few simple code examples.
Dr. Dobb's: EGL is designed for developing "portable, cross-platform apps". What kind of apps? What platforms?
Dr. Dobb's: What role does the Eclipse Foundation play?
Smythe: Eclipse provides a great environment for evolving/building developer-oriented projects. IBM chose Eclipse as the destination for EGL because the EGL technology is already built on Eclipse, utilizes a number of Eclipse components (including BIRT), and because Eclipse still continues to be the #1 open source development site. The purpose of the project is to provide a base set of development tools for the EGL language. From here, other vendors can extend and create their own solutions while IBM continues to offer its own solutions. IBM will also develop/evolve the EGL language within the Eclipse project. This will ensure there is a common language, even if other vendors choose to build extensions and new generators on top.
Dr. Dobb's: What kind of open source plug-ins do you expect we'll be seeing?
Smythe: Having been in the EGL business for awhile, we have seen all kinds of requests for "complimentary" tools to the solutions already provided by IBM (in Rational Business Developer). For example, many large customers want to understand how changes to one EGL file will impact the rest of the system (i.e impact analysis). Others have asked for static source code analysis tools to help find potential performance issues or other problems that may result in some future runtime/production problems. We have also been asked about a JUnit-like unit test tools for EGL. IBM’s decision to open source EGL will help others better understand the technology and enable them to develop tools that compliment what's provided by the Eclipse project and by IBM.
Dr. Dobb's: Where do you see EGL eventually going?