EO (stands for Elegant Objects or ISO 639-1 code of Esperanto) is an object-oriented programming language based on 𝜑-calculus. We're aware of popular semi-OOP languages and we don't think they are good enough, including: Java, Ruby, C++, Smalltalk, Python, PHP, C#. All of them have something we don't tolerate:
- types (why?)
- static/class methods or attributes (why?)
- classes (why?)
- implementation inheritance (why?)
- mutability (why?)
- NULL (why?)
- global scope (why?)
- type casting (why?)
- reflection (why?)
- scalar types and data primitives
- annotations (why?)
- operators
- traits and mixins (why?)
- flow control statements (
for
,while
,if
, etc) - syntactic sugar (why?)
First, install Java SE, npm, and eoc.
Then, start with a simple EO program in app.eo
file:
[args...] > app
QQ.io.stdout > @
"Hello, world!\n"
Compile it like this (may take a minute or so):
$ eoc link
Then, run it:
$ eoc --alone dataize app
You should see "Hello, world!" printed.