Euphoria vs. other programming languages
- Posted by Critic Mar 04, 2009
- 1638 views
Euphoria is a very high-level programming language with several features that set it apart from the crowd:
Ha, ha, there is few that sets it "apart from the crowd", see below.
- Euphoria programs run on: o Windows o DOS o Linux o FreeBSD o Mac OS X
- Euphoria is free and open source
Most other languages do that.
- The language is flexible, powerful, and easy to learn.
Python and Lua are too. It sound like marketing fluff.
- There is no waiting for compiles and links - just edit and run.
There exist a thing called a "fast compiler" - interpretation is not needed for fast turn-around times.
- You can create and distribute royalty-free, stand-alone executable files.
So? Python and Lua can do that too.
- Dynamic storage allocation is fundamental to Euphoria. Arrays grow or shrink in size without the programmer having to worry about allocating and freeing chunks of memory. Elements of an array (Euphoria sequence) can be a dynamic mixture of different types and sizes of data.
Python has lists and Lua has tables for this. Both are more flexible.
- Euphoria provides extensive run-time error checking for: out-of-bounds subscripts, uninitialized variables, bad parameter values for library routines, illegal value assigned to a variable, and many more. If something goes wrong you'll get a full error message, with a call traceback and a listing of variable values. With other languages you'll typically get protection faults with useless dumps of machine registers and addresses.
Not with other languages, but with C and C. And for them there is Valgrind.
- The Euphoria interpreter is more than 30 times faster than either Perl or Python, and it's considerably faster than all other interpreted languages, according to the "Great Computer Language Shootout" benchmark (see demo\bench\bench.doc).
The official benchmark does not list Euphoria at all.
- If that isn't enough, there's a Euphoria To C Translator that can translate any Euphoria program to C, and boost your speed even more. Why waste time debugging hand-coded C/C++? You can easily develop a Euphoria program, and then generate the C code.
"Hand-coded C/C" is much more efficient than the generated code. Agan, this is marketing fluff and it is almost lying IMHO.
- Euphoria programs are not constrained by any 640K memory restrictions for which MS-DOS is infamous. All versions of Euphoria let you use all the memory on your system, and if that isn't enough, a swap file on disk will provide additional virtual memory.
It's 2009. Nobody cares .
- RDS has developed a flexible and simple database system (EDS) that is portable across all Euphoria platforms.
EDS is embarassing, if you ask me. The implementation uses binary search? Give me a break.
- The Linux, FreeBSD and OS X implementations of Euphoria let you access C routines and variables in shared libraries, for tasks ranging from graphics, to GUI programming, to Internet programming. The good news is, you'll be programming in Euphoria, not C.
There are other languages than C and most languages do interface with C pretty well.