RosettaCodeData/Lang/EC/00-LANG.txt
2023-07-01 13:44:08 -04:00

55 lines
No EOL
1.8 KiB
Text

{{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]