E ♯ (programming language)

From Wikipedia, the free encyclopedia - View original article

E#
Paradigm(s)multi-paradigm: object-oriented, message passing
Appeared in2012
Designed byAdrian Punga
Typing disciplinedynamic
Major implementationsReference E# implementation in C++
OSCross-platform
LicenseMIT License
Websitehttp://code.google.com/p/esharp/
 
  (Redirected from E Sharp (programming language))
Jump to: navigation, search
E#
Paradigm(s)multi-paradigm: object-oriented, message passing
Appeared in2012
Designed byAdrian Punga
Typing disciplinedynamic
Major implementationsReference E# implementation in C++
OSCross-platform
LicenseMIT License
Websitehttp://code.google.com/p/esharp/

E# is an object-oriented programming language for embedding, created by Adrian Punga in 2012. E# is mainly based on ideas in SmallTalk, Python, Java and C# but it resembles the syntax of Java. E# combines message-based computation with Java-like syntax.

Philosophy[edit]

E# is an effort to create a programming language suitable for being embedded in various applications on various platforms. It aims to have a flexible architecture and a clean syntax while keeping the total size of the language under 1MB. E# is fully object oriented (anything is an object) with pure encapsulation (only private properties) and uses message passing to connect code actions.

Syntax and examples[edit]

E#'s syntax is most similar to Java, though it also bears some resemblance to Python and C#. Here is an extremely simple E# program:

 stdout.println("Hello, world!") 

Another more complex example is a class definition:

 class D {         readwrite a = 2.7182818311111;         readonly b = 2.71828183;         writeonly c = 1.3806504e-23;         d = 3.14159265;         printme(con) { """none <- D.printme(console <c>)         Prints all the properties for class D to console <c>. """                 con.println("a=",a);                 con.println("b=",b);                 con.println("c=",c);                 con.println("d=",d);         } } 

External links[edit]