---> Is this the latest version of Euphoria?
Visit: http://www.RapidEuphoria.com
---> To install/uninstall Euphoria, see install.htm
---> What's new in this release?
See relnotes.doc
Euphoria Programming Language
version 2.4
Official Release
July 3, 2003
Welcome to
Euphoria! ... |
End
User
Programming with
Hierarchical
Objects for
Robust
Interpreted
Applications
|
Euphoria has come a long way since v1.0 was released in July 1993. There are
now well over a thousand registered users, located in 61 countries around the
world, as well as many thousands of non-registered users.
There's a Euphoria newsgroup, alt.lang.euphoria, as well as
an automated mailing list with over 400 users subscribed.
The Euphoria Web site contains
over 1100 contributed .zip files packed with Euphoria source programs
and library routines. Dozens of people have set up their own independent Web
pages with Euphoria-related content.
Euphoria has been used in a variety of
commercial programs.
The Windows version has been used
to create numerous GUI, utility and
Internet-related programs.
The DOS version has been used to create
many exciting high-speed action games,
complete with Sound Blaster sound effects.
The
Linux and
FreeBSD versions have been used to
write X Windows GUI programs, CGI programs, and lots of
useful tools and utilities.
Yet Another Programming Language?
Euphoria is a very-high-level programming language with several features that
set it apart from the crowd:
-
Euphoria programs run on
Windows,
DOS,
Linux, and
FreeBSD.
-
The language is flexible, powerful, and easy to learn.
-
There is no waiting for compiles and links - just edit and run.
-
You can create and distribute a royalty-free,
stand-alone .exe file.
-
Dynamic storage allocation is
fundamental to Euphoria. Variables 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.
-
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.
-
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).
And if that isn't enough, there's a Euphoria To C Translator that can
boost your speed even more. Why waste time debugging hand-coded C/C++,
when Euphoria programs are so much easier to develop?
-
Euphoria programs are not constrained by any 640K or 64K memory restrictions
for which MS-DOS is infamous. The
DOS32,
WIN32,
Linux and
FreeBSD
versions of Euphoria let you use
all of the megabytes of memory on your system seamlessly, and if that isn't
enough, a swap file on disk will provide additional virtual memory.
-
An integrated, easy-to-use, full-screen
source-level debugger/tracer is included.
-
Both an execution-count profiler, and a
time profiler are available.
-
There is a large and rapidly growing collection of excellent 3rd party
programs and libraries, most with full source code.
-
RDS has developed an extremely flexible database
system (EDS) that runs identically on all Euphoria platforms.
-
The WIN32 implementation of Euphoria
can access any WIN32 API routine, as well as C or
Euphoria routines in .DLL files.
A team of people has developed
a Windows GUI library (Win32Lib), complete
with a powerful Interactive Development Environment.
You can design a user interface graphically, specify the
Euphoria statements to be executed when someone clicks,
and the IDE will create a complete Euphoria program for you.
There are Windows Euphoria libraries for Internet access,
3-D games, and many other application areas.
-
The DOS32 implementation of Euphoria
on MS-DOS contains a built-in graphics library. If necessary, you can
access DOS software interrupts. You can call machine-code routines.
You can even
set up your own hardware interrupt handlers. Many high-speed action
games, complete with Sound Blaster sound effects, have been developed 100%
in Euphoria, without the need for any machine code.
-
The Linux and
FreeBSD implementations of Euphoria
let you access C routines and variables in shared libraries,
for tasks ranging from graphics, to X windows GUI programming, to
Internet CGI programming. The good news is, you'll be
programming in Euphoria, not C.
-
Euphoria is written in C.
The source code is available for just $49.
You can enhance it, give your source enhancements back to RDS,
or even sell your enhanced binary version.
See the Source License.
Who Would Benefit from Using Euphoria?
| novices / students |
- |
Euphoria is one of the simplest and easiest of all languages
to learn. |
| hobbyists |
- |
Visit the Web site and check out the huge variety of cool
games and other programs. Most were written by hobbyists.
Almost all Euphoria programs are open source, and you can learn
a lot by tinkering with them. |
| professionals |
- |
You can develop a reliable, maintainable, fully-debugged
program in much less time
in Euphoria than in C/C++. |
| |
- |
Euphoria is great for
quick, easy development of
file filters and other utilities. |
| |
- |
You can easily develop GUI and Internet
programs without needing a 6-week training course. |
| |
- |
You can distribute your Euphoria programs
royalty-free as a .exe file. |
| |
- |
You can get a copy of the Euphoria interpreter source.
You'll be certain that your Euphoria applications can be maintained
indefinitely, and you'll be able to modify the interpreter
to suit your specialized needs. |
| |
- |
RDS has been in business for 10 years, and
with hundreds of people on the Euphoria mailing list,
you'll be assured of a source of technical support. |
Platforms and Editions
Euphoria runs on four different platforms,
WIN32,
DOS32,
Linux, and
FreeBSD.
This is the main Euphoria Interpreter package.
There is also a Euphoria To C Translator
package on our Web site, which consists of a few
extra files.
This Euphoria Interpreter package comes in two different
editions: a Public Domain Edition and
a Complete Edition.
The Complete (registered) Edition has these
extra features:
-
You can shroud (encrypt) and
bind any Euphoria program
with the Euphoria interpreter to create a
single, stand-alone, tamper-resistant
.exe file for easy distribution. (See
bind.doc)
-
You can profile any Euphoria program to
determine the performance "hot spots" and to find logical errors. Both
execution-count profiling and
time-profiling
(DOS32 only) are provided.
-
You can use the trace (full-screen interactive debugger)
facility to help you debug any size of program. The Public Domain Edition
also provides tracing, but only for programs up to 300 statements in size.
(Blank-lines and comments are not counted as statements.)
With either Edition, you will always get a full error report,
with variable values and call stack, whenever you have a run-time error.
We want you to enjoy writing some great programs in Euphoria. Later, when you
decide that you like the language, and want to take advantage of the
enhanced features in the
Complete Edition, we hope you will
register. Registration of the Interpreter package costs
only $29 (DOS32+WIN32+Linux+FreeBSD), and you can reduce or even
eliminate this cost by contributing useful code for our
Web site. See
register\register.doc
for details.
There is also a free version of the Euphoria To C Translator
that you can download from our Web site.
The full version of the Euphoria To C Translator costs only $29.
See the Translator package on our Web site for details.
The documentation contained in this package comes in both plain text and
HTML form. The plain text (.doc) files can be viewed with any text
editor, such as Windows NotePad or WordPad. The HTML (.htm) files
can be viewed with your Web browser. A tool that we developed in Euphoria
allows us to automatically generate both plain text and HTML files, from a
common source. Thus the content of each file in the
doc subdirectory should be identical
to the content of the corresponding file in the
html subdirectory, aside from the
lack of links, fonts, colors, etc. See
doc\overview.doc
(or html\overview.htm) for a summary
of the documentation files.
You can freely distribute this Public Domain
Edition, in whole or in part, so anyone can run a Euphoria
program that you have developed. You are completely free to distribute
any Euphoria programs that you write, royalty-free, even if
you don't register.
To run the WIN32 version
of Euphoria you need Windows 95, or any later version of Windows.
It runs fine on XP.
The DOS32 version will run on
any version of Windows, and will also run on plain DOS
on any 386 or higher processor. Contrary to popular opinion, DOS is
not dead. You can run DOS Euphoria programs on Windows XP in a
command prompt window.
To run the Linux version of Euphoria
you need any reasonably up-to-date Linux distribution, that has libc6 or
later plus ncurses. For example, Red Hat 5.2 or later will work fine.
To run the FreeBSD version of Euphoria
you need any reasonably up-to-date FreeBSD distribution, that has ncurses.
Getting Started
1. |
After you install Euphoria, the documentation files will be in
the doc and
html directories.
overview.doc
gives an overview of the documentation.
refman.htm (or
refman.doc) should be read first.
If you want to search for information on any topic, type
guru.
|
2. |
Have fun running the programs in the
demo directory. Feel free to modify
them, or run them in trace mode by
adding:
|
|
with trace
trace(1)
|
|
as the first two lines in the .ex or .exw file.
|
3. |
Try typing in some simple statements and running them.
You can use any text editor. Later you may want to use the Euphoria editor,
ed, or download David Cuny's
Euphoria editor from the
Euphoria Web site.
Don't be afraid to try things. Euphoria won't bite!
|
4. |
See
what2do.doc
for more ideas.
|
5. |
Visit the Euphoria Web site, download some files, and
subscribe to the Euphoria mailing list.
|
If you are new to programming, and you find
refman.htm
hard to follow, download
David Gay's interactive tutorial called "A Beginner's Guide
To Euphoria". It's in the Documentation section of our
Archive.
If
you have any trouble installing, see
install.doc
-
Notice to Shareware Vendors:
-
We encourage you to distribute
this Public Domain Edition of Euphoria. You can charge whatever you
like for it. People can use Euphoria for as long as they like without
obligation. We make money from those who start to seriously develop
large applications, and want technical support plus
enhanced bind, profile, and trace support for large programs.
-
DISCLAIMER:
-
The Public Domain and Complete Editions of Euphoria are provided "as is"
without warranty of any kind. In no event shall Rapid Deployment
Software be held liable for any damages arising from the use of or
inability to use this product.
|