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);
}
}