Making a fork of this topic, I want to show a new programming language... not so new, but, new, for windows....
ELENA is a general-purpose, full object-oriented, polymorphic language with late binding. It promotes more object-oriented program design, reusable and more standardized code.
The language features code mutation, ElenaScript, argument signatures and many others. It is under active development!
Features
[*]Pure polymorphic object oriented language
[*]Changeable object behavior
[*]Dynamic class mutation
[*]Command line 32-bit compiler
[*]GUI IDE & Debugger
[*]Unicode support
[*]Complete source code
[*]Getting started tutorial
[*]Simple Assembler compiler
[*]Multiple message dispatch
[*]Virtual Machine Terminal
[*]Dynamic Self-Assembling Script engine
You can download the compiler and source code in this link: http://sourceforge.net/projects/elenalang/ .or. in this: https://github.com/ELENA-LANG/elena-lang
Here a simple sample: ( hello world )
Code: Select all
// --- Program ---
#symbol Program =
[
system'console writeLine:"Hello World!!" readChar. // wait for any key
].
Code: Select all
#class IniHelper
{
#field fileName.
#constructor new &FileName:cFileName
[
fileName := cFileName.
]
#method SetFileName : cFileName
[ fileName := cFileName. ]
#method IniReadValue §ion:cSection &key:cKey
[
#var retValue := LiteralValue new &length:255.
#var bufRet := Integer new.
bufRet << system'external'KERNEL32 GetPrivateProfileStringW
&literal:cSection
&literal:cKey
&literal:0
&out'literal:retValue
&int:255
&literal:fileName.
^(retValue delete &index:bufRet &length:(255-bufRet)).
]
#method IniWriteValue §ion:cSection &key:cKey &value:cValue
[
#var(type:int) lRet := system'external'KERNEL32 WritePrivateProfileStringW
&literal:cSection
&literal:cKey
&literal:cValue
&literal:fileName.
(0 == lRet)
? [ #throw Exception new:"Impossible to create the file". ].
]
}