---> 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.htm
Euphoria Programming Language
version 2.3
Official Release
February 11, 2002
| 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 about
a thousand registered users, located in 59 countries around the world, as well as
thousands of non-registered users. Each year has seen more registrations than the year
before. There's a Euphoria newsgroup, alt.lang.euphoria, as well as an automated mailing
list with 370 users subscribed. The Euphoria
Web site contains over 900 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. 47 of these Web sites have joined together to form
the Euphoria WebRing. 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 version has 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, and Linux.
- The language is flexible, powerful, and easier to learn than BASIC.
- 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 10 to 20 times faster
than Microsoft QBasic, and 34 times faster than either
Perl or Python. And if that isn't enough, there's a Euphoria To C Translator that can
boost your speed even more (up to 5 times more on some applications).
- Euphoria programs are not constrained by any 640K or 64K memory restrictions for which
MS-DOS is infamous. The DOS32, WIN32
and Linux 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 implementation of Euphoria lets you access
C routines and variables in Linux 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 9 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 three different platforms, WIN32, DOS32, and Linux. 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.htm)
- 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, nor are "stamped" include files provided
by RDS.) 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 $39 (DOS32+WIN32+Linux), and you can reduce or even
eliminate this cost by contributing useful code for our Web site. See register.htm 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 overview.htm for a summary of the
documentation files.
There's well over 20,000 lines of free Euphoria source code in this package. We
encourage you to use it, copy it, modify it, distribute it etc.
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.
The DOS32 version will run on any version of
Windows, and will also run on plain DOS on any 386 or higher processor.
To run the Linux version of Euphoria you need any
reasonably up-to-date Linux distribution, that has libc6 or later. For example, Red Hat
5.2 or later will work fine.
Getting Started
| 1. |
After you install Euphoria, the documentation files will be in the doc and html
directories. overview.htm
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.htm for more
ideas. |
| 5. |
Visit the Euphoria Web site, download some files, and subscribe to the Euphoria mailing
list (see web.htm). |
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.htm
- 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.
|