Elan 2.0

2.0.0-alpha1 - limitations and known issues

The Elan 2 IDE

The 10 commandments of good programming

There are many more than 10 widely recognised principles of good programming practice. These 10 have been singled out because the designers of Elan believe that anyone learning to program should never learn to break any of them in the first place, and that they should ideally be enforced by the programming language. Elan 1.0 was the first language, designed for education, that enforced all 10. Elan 2.0 enforces them, through its Code Editor, when writing Python, VB.NET, C#, and Java.

  1. Thou shalt not define any global variable
  2. Thou shalt not change any constant
  3. Thou shalt not change the Type of any variable
  4. Thou shalt not create any null reference
  5. Thou shalt not break out of any loop
  6. Thou shalt not exit any method before its end
  7. Thou shalt not create any impure function
  8. Thou shalt not access any private member
  9. Thou shalt not inherit from any concrete class
  10. Thou shalt not override any concrete method

The nature and rationale for each of these commandments will be more fully explained in future documentation.

Coding restrictions designed to guarantee portability

These restrictions exist to ensure that all code generated within the Elan IDE may be automatically translated with 100% correctness from any one supported language into any other.

It is not necessary to know these rules, because there is either no mechanism to break them or you will receive a clear message if you do. Each of these restrictions exists to prevent use of coding features that are supported in some languages, but have no equivalent syntax in at least one other. The surprising thing, we suggest, is how few such restrictions are necessary.