EC (programming language)


eC is an object-oriented programming language, defined as a super-set of the C language.
eC was initially developed as part of the Ecere cross-platform software development kit project.
The goals of the language are to provide object-oriented constructs, reflection, properties and dynamic modules on top of the C language while maintaining C compatibility and optimal native performance.
eC currently relies on GCC or Clang to perform the final steps of compilation, using C as an intermediate language. There are, however, plans to integrate directly with LLVM to skip the intermediate C files.
eC is available as part of the ecere-sdk package in Debian/Ubuntu and other derived Linux distributions. A Windows installer also bundling MinGW-w64 is available from the main website. The free and open-source SDK including the eC compiler can also be built for a number of other platforms, including OS X, FreeBSD and Android.
It is also possible to deploy eC applications to the web by compiling them to JavaScript through Emscripten, or to WebAssembly through Binaryen.

Examples

Hello world

A "Hello, World!" program in eC:
class HelloApp : Application

Graphical user interface

A "Hello, World!" program programmed with a GUI:
import "ecere"
class HelloForm : Window
HelloForm hello ;