eC (programming language)
| 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.[1][2][3][4][5][6]
eC currently relies on GCC or Clang to perform the final steps of compilation, using C as an intermediate language.[7] There are, however, plans to integrate directly with LLVM to skip the intermediate C files.[8]
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.[9]
It is also possible to deploy eC applications to the web by compiling them to JavaScript through Emscripten.
Sample code[edit]
class HelloApp : Application
{
void Main()
{
PrintLn("Hello, World!");
}
}
GUI "Hello, World":
import "ecere"
class HelloForm : Window
{
caption = "My First eC Application";
borderStyle = sizable;
clientSize = { 304, 162 };
hasClose = true;
Label label
{
this, position = { 10, 10 }, font = { "Arial", 30 },
caption = "Hello, World!!"
};
};
HelloForm hello { };
References[edit]
- ^ "eC - Overview". Retrieved 7 January 2016.
- ^ "Category:EC". Retrieved 7 January 2016.
- ^ "新型的编程语言:eC". Retrieved 7 January 2016.
- ^ "About OOC - Similar Projects". Retrieved 7 January 2016.
- ^ "devmaster - The Ecere SDK and eC go Open Source". pp. 12–25. Retrieved 7 January 2016.
- ^ "Software Developer's Journal Extra 2012/02 - Cross-Platform Development with the Ecere SDK" (PDF). Retrieved 7 January 2016.
- ^ "Ubuntu Manpage: ecc - eC Compiler". Retrieved 7 January 2016.
- ^ "GSOC 2015 Ideas - eC Compiler". Retrieved 7 January 2016.
- ^ "eC - Installation". Retrieved 7 January 2016.
External links[edit]
- Official website
- Ecere SDK
- GitHub Repository hosting the compiler and run-time library source code
- Debian Package
- 3D chess web app written in eC (requires WebGL)
- 100 Languages Quine Relay featuring eC
- Ecere Project on Launchpad
- Ecere Tao of Programming (eC Programmer's Guide)
| This computing article is a stub. You can help Wikipedia by expanding it. |
- C programming language family
- Canadian inventions
- Class-based programming languages
- Cross-platform free software
- Low-level programming languages
- Object-oriented programming languages
- Procedural programming languages
- Programming languages created in 2004
- Statically typed programming languages
- Systems programming languages
- Computing stubs

