A very simple to use programming language
ELENA Integrated Development Environment is a general-purpose, object-oriented, pure polymorphic language with late binding.
ELENA Integrated Development Environment promotes more object-oriented program design, reusable, laconic and more standardized code. The package includes compiler, IDE, ELENA libraries and samples. ELENA Integrated Development Environment is a simple to use programming language for any development environment.
Programs written in ELENA Language consist of a relatively large number of “tiny” objects where the level of interactions between objects is comparable with a level of inner-object calculations.
To prevent the system becoming too complex to deal with the number of possible interactions between objects is limited. This approach allows eliminate “super” objects which in many cases make the program design too specialized and hard to modify.
ELENA treats any program as a set of objects (class instances). The program flow is a process of interaction between objects by sending each other messages. A message may have attached information (a message parameter). An object may react on message if it has an appropriate message handler (a method).
If the object reacts on the message it is treaded as successful otherwise unsuccessful. In its turn the method sends messages to other objects and so on until the flow reaches the method written by external tools (meta method). So ELENA may be considered as a framework language defining rules for object interaction.
Usually the object sends chain of messages where executing of every next message depends on the result of previous one. When one of messages is failed the chain considered as broken. It’s possible to declare alternative chains which are executed if previous ones are broken.
Every object may be formed up with other objects characterizing its internal state. They in turn may be formed with others and so on until meta objects which internal states are considered as raw data.
Here are some key features of “ELENA Integrated Development Environment”:
· Pure polymorphic object oriented language
· “Horizontal” multiple inheritance
· Context dependent roles
· Dynamic “class mutation” (“annex / switch/ cast” handler) Multiple message dispatch
· ELENA Virtual machine (in developing)
· Command line 32-bit compiler
· GUI IDE & Debugger
· Unicode support
· Complete source code
· Number of samples, including a card game Up’N’Down (in development)
· Getting started tutorial
· Simple Assembler compiler
· Dynamic Self-Assembling Script engine
· ELENA Virtual Machine Terminal
· new class hint: sealed
· binary incompatible due to changes in ecodes / critical bug fix
· CRITICAL BUG: fixed bug in GC algorithm
· more user friendly syntax errors
· optimization:idle frames
· fixed bug with default vm client exception handler
· fixed bug with direct method call implementation
· method has duplicate parameter names
· clean up code reimplemented
· bug in branching implementation (^ operator works incorrectly)
· some code refactoring
· exception handler interface modified: the reference to exception is passed