Code Fast, Execute Faster
EveC is a new object-oriented programming language. It inherits a clear syntax from Java but it uses a classical static compilation technique to achieve optimal performance.
EveC is a very young project, initiated in 2012 as the master thesis of three computer engineer students, Luca Roverelli, Gabriele Zereik and Nicoló Zereik. The project represents the language specification, an optimized compiler and a set of basis library.
Nowadays, the language supports the following features (and also more):
- pure object-oriented model with classes, interface and polymorphism.
- method overloading.
- generics support.
- nested/inner classes and interface.
- exception system.
- memory safeness and a parallel garbage collector.
The compiler can perform state-of-the-art object-oriented optimizations that allow to build extremely efficient executables both in terms of execution time and especially memory usage.
Finally, EveC also includes an Eclipse Plugin in order to make the development of EveC applications in a friendly environment (if you prefer, you can still use the command line to compile and execute your application!).
No JVM needed.
EveC has a syntax extremely close to Java! An EveC program can be compiled for different architecture or operating system without any effort! At the same time, you don't need any additional software layer, like the JVM, to run the EveC application! This means better performance an lower memory consumption!
If you can program in Java, it's time to try EveC!
x86, x64 and ARM architecture fully-supported!
The EveC compiler uses a standard C compiler to produce native code. Since C is the most widespread programming language and a C compiler exists virtually for any architecture, you can use EveC in any architecture!
For example, we are able to run a multithreading application entirely written in EveC also in the Arduino Duemilanove board!
Runs on Linux, Mac OS X and Windows!
Instead of use operating system dependent API for threads, networking and even file access, you can use the EveC standard library! In this moment, an EveC program can be executed on Linux, Mac OS X and in any other posix-compliant operating system. We have already plan to port EveC also on Windows.
Built for speed!
The EveC compiler includes different state-of-the-art object-oriented optimization to produce the most efficient executable both in terms of execution time and memory usage.
The optimizations included in the actual version of the compiler are devirtualization, method inlining, escape analysis and bounds checks optimization.
Alongside this object-oriented optimization, the EveC compiler exploits low-level machine-dependent optimization of state-of-the-art C compiler to produce the final executable program.
Low memory consumption!
Without any need of additional software layer like JVM or other virtual machines, the memory usage of an EveC application is extremely low! Our tests indicate that EveC consumes less than 20% of the memory used by the same Java application!
In a world where gigas of RAM are available, there are situations where the consumption of memory is extremely important (e.g. embedded system and micro-controllers). In this case, EveC is the solution that you need to fast develop applications with an extremely low memory footprint.