E Sharp (programming language)
Paradigm | multi-paradigm: object-oriented, message passing |
---|---|
Designed by | Adrian Punga |
First appeared | 2012 |
Typing discipline | dynamic |
OS | Cross-platform |
License | MIT License |
Website | https://code.google.com/p/esharp/ |
Major implementations | |
Reference E# implementation in C++ |
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
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
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); } }