Historical SourceForgeArticle, Revision 14

SourceForge Article

Lee from SourceForge sent a request to the Euphoria community on September 1, 2009. The official time frame is "whenever" but we should act quickly instead of slowly. A response by September 4, 2009 would be nice.

Lee's request:

I noticed a big jump in activity for OpenEuphoria in the SourceForge.net statistics. We're looking for projects to highlight in our Community Blog (https://sourceforge.net/community/blog/). Want to answer a few questions about your software so we can write about your project?


Give us the 10,000-foot overview of Euphoria.

Euphoria started its life in 1993 as a commercial programming language developed by Robert Craig of Rapid Deployment Software. It is a very fast interpreted general purpose programming language that also comes with a translator to C.

Who ought to consider using it?

Euphoria is suited to both beginners and experienced programmers. The Euphoria community is very friendly to new users. There are many resources available to make learning Euphoria easy for those new to programming. Euphoria has also attracted professional programmers because of its powerful feature set, including a built-in interactive debugger.

What is it good for?

Euphoria is good for anything from simple command line tools to full-blown GUI applications, and because of its speed it can even be used to create action games. It is an excellent scripting language for web sites. It can be used to access standard shared libraries such as Windows DLLs and Linux SO. It can also create shared libraries.

Most of Euphoria is actually written in Euphoria. There is a small C-coded runtime portion, but all the front-end parsing, code generation and libraries are written in standard Euphoria.

What makes it special?

It is based on a few simple fundamental concepts. For example it has only two basic data types - numbers and lists, from which data structures of any complexity can be built. And for performance reasons, numeric variables can be declared as integer-only if you want. Lists are variable length in which each element can be a number or a list, and each element can have its data type changed during run time.

Another important concept is ease-of-use. The coder never needs to worry about pointers or RAM addresses, and garbage collection is automatic.

Why did you make it open source?

With the v3.0.0 release in October of 2006, Euphoria started its second life as open source software because it needed a large boost in resources to take it to the next level. It is now maintained by a group of developers with the help and input of its users. Euphoria is on the verge of its largest update ever, 4.0.

How did doing so affect its development?

The Euphoria Programming language went from two developers to many. Historically, the language had evolved somewhat slowly. There were many users interested in lots of ways to enhance the language. In the last year and a half, the pace of development has really accelerated.

What's new in recent releases?

The upcoming 4.0 release (currently in beta) has many new features: additional supported platforms (OSX, OpenSolaris), new flow control structures, improved variable scoping, default arguments, built-in regular expressions and cross platform socket support, routine inlining, improved and expanded standard library, user defined preprocessors and namespace and scoping enhancements.

Is there any especially useful capability users might overlook?

Once the user has their application running correctly using the interpreter, they should really consider using the translator to convert it to C code which is then compiled into a normal binary file, and with a significant performance boost.

What's a cool tip for people who use the software?

Check out the various ways that 'exit', 'continue', 'break' and 'retry' can be used inside flow control constructs.

What's coming up in future versions?

Performance enhancements, optimization of generated code, co-routines, nested functions, native threading, object orientation, better integration with external code, dynamic code evaluation, embedding euphoria as a scripting engine, improved Unicode support.

How frequently do you make releases?

The change from v3 to v4 is an huge one; the code base has more than doubled in size. So the gap in time since v3 has been unusually large too. Once v4 has been released, we expect that minor releases would be made every few months and major releases every 12 to 18 months.

What do you need help with?

Documentation of course. The development team has put together a good set of documentation but we acknowledge that this is not our area of expertise.

And what's the best way for people who want to help to get in touch?

Join the OpenEuphoria web forum: http://openeuphoria.org/forum/index.wc (forum and wiki all written using Euphoria, of course).

Anything else you'd like to ask or tell the SourceForge.net community?

Need Answer

Is there any suggestions for improving SourceForge.net?

Need Answer

Search



Quick Links

User menu

Not signed in.

Misc Menu