| Paradigm | Multi-paradigm: procedural, object-oriented, generic |
|---|---|
| Designed by | Jérôme Jacovella-St-Louis |
| First appeared | 2004 |
| Stable release |
Ecere SDK 0.44.15 / 4 August 2016
|
| Typing discipline | Static, nominative, partially inferred |
| Implementation language | eC |
| OS | Cross-platform |
| License | BSD-3 |
| Filename extensions | .ec .eh |
| Website | ec-lang |
| Major implementations | |
| Ecere SDK | |
| Influenced by | |
| C, C++, Python | |
eC (Ecere C) 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.