EGL (programming language): Difference between revisions

Content deleted Content added
m Commercial Products: added an extra product to the IBM service offerings
FrescoBot (talk | contribs)
m Bot: link syntax/spacing and minor changes
Line 1:
'''EGL''' (Enterprise Generation Language), originally developed by IBM and now available as the [http://www.eclipse.org/edt/ EDT (EGL Development Tools)] Open Source project under the [[EPL (Eclipse Public License)]], is a programming technology designed to meet the challenges of modern, multi-platform application development by providing a common language and programming model across languages, frameworks, and runtime platforms. The language borrows concepts familiar to anyone using statically typed languages like Java, COBOL, C, etc. However, it borrows the concept of Stereotype from UML (Universal Modeling Language) that is not typically found in statically typed programming languages.
 
In a nutshell, EGL is a higher-level, universal application development language.
 
EGL is similar in syntax to other common languages so it can be learned by application developers with similar previous programming background. EGL application development abstractions shield programmers from the technical interfaces of systems and middleware allowing them to focus on building business functionality.
EGL applications and services are written, tested and debugged at the EGL source level, and once they are satisfactorily functionally tested they can be compiled into [[COBOL]], Java, or JavaScript code to support deployment of business applications that can run in any of the following environments:
 
Line 15:
'''Program'''
 
An EGL Program part is a generatable logic part with one entry point. Each Program part contains a main() function, which represents the logic that runs at program start up. A program can include other functions and can access functions that are outside of the program. The function main() can invoke those other functions. Program functions are composed of a set of EGL statements, variables, and constants.
 
<source lang="java">
Line 36:
'''Record'''
 
An EGL Record part defines a set of data elements. In this example, a record with the name '''''CustomerRecord''''' is defined with 6 fields.
 
<source lang="java">
Line 49:
</source>
 
EGL has a specialized type of record called '''''SQLRecord''''' that is used to exchange data with a relational database.
 
<source lang="java">
Line 142:
EGL is a target language for modernization of legacy applications because of the language semantics affinity with procedural languages and legacy [[4GL|4th generation languages]]:
* a set of conversion tools available within the [[IBM Rational Business Developer Extension|Rational Business Developer]] product provide automated the conversion from older and stabilized IBM and [[Informix]] [[4GL|4th generation languages]]
* a set of IBM service offerings and complementary products (Rational Migration Extension for Natural, Rational Migration Extension for System i, Rational Migration Extention for CA-products) provide the ability to convert from [[NATURAL|Software AG Natural]], [[IBM RPG]], CA Cool:Gen and CA Ideal/Datacom to EGL
 
Tools for searching large EGL code bases, comparing individual EGL files for changes, and detecting duplicated code are available from [http://www.semanticdesigns.com/Products/LanguageTools/EGLTools.html Semantic Designs]