E Sharp (programming language)

The correct title of this article is E# (programming language). The substitution or omission of the # is because of technical restrictions.
E#
Paradigm multi-paradigm: object-oriented, message passing
Designed by Adrian Punga
First appeared 2012
dynamic
OS Cross-platform
License MIT License
Website https://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

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

External links