55 lines
No EOL
1.8 KiB
Text
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] |