eC (programming language)

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

"Hello, World!" program:

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

  1. "eC - Overview". Retrieved 7 January 2016.
  2. "Category:EC". Retrieved 7 January 2016.
  3. "新型的编程语言:eC". Retrieved 7 January 2016.
  4. "About OOC - Similar Projects". Retrieved 7 January 2016.
  5. "devmaster - The Ecere SDK and eC go Open Source". pp. 12–25. Retrieved 7 January 2016.
  6. "Software Developer's Journal Extra 2012/02 - Cross-Platform Development with the Ecere SDK" (PDF). Retrieved 7 January 2016.
  7. "Ubuntu Manpage: ecc - eC Compiler". Retrieved 7 January 2016.
  8. "GSOC 2015 Ideas - eC Compiler". Retrieved 7 January 2016.
  9. "eC - Installation". Retrieved 7 January 2016.

External links

This article is issued from Wikipedia - version of the Tuesday, January 26, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.