An important message for all C/C++ programmers...
24 Reasons Why You Are Going to Write Your Next Program in Euphoria!
-
because you are tired of having to re-invent dynamic storage allocation
for each program that you write
-
because you have spent too many frustrating hours tracking down malloc
arena corruption bugs
-
because you were once plagued for several days by an on-again/off-again
"flaky" bug that eventually was traced to an uninitialized variable
-
because no matter how hard you try to eliminate them, there is always
one more storage "leak"
-
because you are tired of having the machine "lock up", or your program
come crashing down in flames with no indication of what the error was
-
because you know that
subscript checking would have
saved you from hours of debugging
-
because your program should not be allowed to overwrite random areas in
memory via "wild" pointers
-
because you know it would be bad to overflow your fixed-size stack area
but you have no idea of how close you are
-
because one time you had this weird bug, where you called a function,
that didn't actually return a value, but instead fell off the end
and some random garbage was "returned"
-
because you wish that library routines would stop you from passing
in bad arguments, rather than just setting "errno" or whatever
(who looks at errno after every call?)
-
because you would like to "recompile the world" in a fraction of a second
rather than several minutes -- you can work much faster with a cycle of
edit/run rather than edit/compile/link/run.
-
because The C++ Programming Language 3rd Ed. by Bjarne Stroustrup is
911 very dense pages, (and doesn't even discuss
platform-specific programming for DOS, Windows, Linux or any other system).
-
because you have been programming in C/C++ for a long time now, but there
are still a lot of weird features in the language that you don't
fully understand
-
because portability is not as easy to achieve as it should be
-
because you know the range of legitimate values for each of your variables,
but you have no way of enforcing this at runtime
-
because you would like to pass variable numbers of arguments, but
you are put off by the complicated way of doing it in C
-
because you would like a clean way
of returning multiple values from a function
-
because you want an integrated
full-screen source-level debugger
that is so easy to use that you don't have to search through the manual
each time, (or give up and recompile with printf statements)
-
because you hate it when your program starts working just because you
added a debug print statement or compiled with the debug option
-
because you would like a reliable, accurate
statement-level profile to
understand the internal dynamics of your program, and to boost performance
-
because very few of your programs have to squeeze every cycle of
performance out
of your machine. The speed difference between Euphoria and C/C++ is not that
great, especially when you use the Euphoria to C Translator.
Try some benchmark tests. We bet you'll be surprised!
-
because you'd rather not clutter up your hard disk with .obj and
.exe files
-
because you'd rather be running your program, than wading through several
hundred pages of documentation to decide what compiler and linker options
you need
-
because your C/C++ package has 57 different routines for memory allocation,
and 67 different routines for manipulating strings and blocks of memory.
How many of these routines does Euphoria need?
Answer: zero.
In Euphoria, memory allocation happens
automatically and strings are manipulated just like any other
sequences.
|