EC

{{language|eC |strength=weak |safety=unsafe |express=explicit |compat=nominative |checking=both |parampass=both |gc=no |LCT=yes}} eC (Ecere C) is an [[object-oriented]] language derived from and compatible with [[derived from::compatible with::C]] designed and developed by Ecere Corporation. It aims at being fast, light and easy to write.

It is supported by a cross-[[platform]] runtime [[Ecere|library]] including its own [[GUI]] toolkit, 2D/3D graphics engine as well as networking support.

The Ecere SDK is completely free and includes a full-featured [[Ecere IDE|Integrated Development Environment]] as well as a compiling tools for the eC language.

''Some of eC Features''

  • Full C compatibility (Only exception: few additional reserved keywords such as 'class')
  • Object-oriented class definitions supporting single inheritance
  • Per instance virtual methods
  • Import feature removing the need for header files
  • Properties
  • Automatic conversions
  • Context sensitive enumerations
  • Component object model enabling dynamic lookup of classes, methods, objects serialization and broking, runtime code class aggregation

== Sample Code == ''Properties & Conversions in eC''

'''class''' Pen { Color color; '''public''' '''property''' Color color { '''get''' { '''return''' color; } '''set''' { color = value; } } }

// Example Usage Pen pen { red }; Pen pen { color = red }; pen.color = ~pen.color; pen.color += 10; pen.color.r = 255; pen.color = 0xFF0000; pen.color = { 255, 0, 0 }; pen.color = ColorHSV { 0, 100, 100 }; pen.color = ColorLab { 53, 79, 66 }; pen.color = ColorCMYK { 0, 100, 100, 0 };

==External links== *[http://ec-lang.org/overview Description of eC language on official web site] *[http://ecere.ca/ Ecere Corporation's web site] *[http://freshmeat.net/projects/ecere/ Ecere SDK project on FreshMeat]

Tasks