---> Is this the latest version of Euphoria?
Visit: http://www.RapidEuphoria.com
---> To install Euphoria see install.doc
---> What's new in this release?
See relnotes.doc (after installing)
Euphoria version 2.2
Official Release for Linux
November 22, 1999
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 hundreds of registered users, located in 41 countries around the world.
There are also thousands of non-registered users. There is a Euphoria
newsgroup, alt.lang.euphoria, as well as an automated
mailing list with hundreds of users subscribed.
The Euphoria Web site contains
over 500 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
32-bit DOS version has been used to create
many exciting high-speed action games,
complete with Sound Blaster sound effects.
The 32-bit Windows version has been used
to create numerous GUI, utility and
Internet-related programs. 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 32-bit extended
DOS, 32-bit Windows and
now 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.
-
Variable types can be as rigid or as flexible as you like. You can specify
the precise set of legal values that may be assigned to any variable.
You can easily write generic code that works on any
type of data.
-
Euphoria is not a true object-oriented language, but has features that
support object-oriented programming. Euphoria is simple, but very powerful.
Problems that require dozens of obscure statements in C++, can often be
solved in Euphoria with just a few simple statements.
-
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 traceback and a dump of variable values - no mysterious
machine "lockups" or crashes.
-
Program execution speed is 10 to 20 times
faster than Microsoft QBasic, and
34 times faster than either Perl
or Python.
-
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.
-
A full-screen, multi-file editor with
color syntax highlighting and auto-completion of Euphoria statements is
provided, complete with Euphoria source code that you are free to modify.
-
A large collection of interesting demo programs written in Euphoria
is provided.
-
There is a large and rapidly growing collection of excellent 3rd party
programs and libraries, most with full source code.
-
The DOS32 implementation of Euphoria
on MS-DOS is full and complete. If necessary, you can access DOS
software interrupts. You can call machine-code routines. You can even
set up your own hardware interrupt handlers. Several high-speed action
games, complete with Sound Blaster sound effects have been developed 100%
in Euphoria, without the need for any machine code. Some of these games
are now in commercial distribution.
-
The WIN32 implementation of Euphoria
lets you access WIN32 API routines, as well as C routines in 32-bit
DLLs created by yourself or a 3rd party. With David Cuny's
Win32Lib and other free 3rd-party packages you can easily create
Windows GUI and Internet programs in Euphoria.
-
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.
Who Would Benefit from Using Euphoria?
| novices / students |
- |
Euphoria is one of the simplest and easiest of all languages
to learn. |
| hobbyists |
- |
Take a look at some of the games and
high-speed graphics demos we've written, then visit the Web site
and download some much better
games and demos written by Euphoria users. |
| professionals |
- |
You can develop a reliable, maintainable, fully-debugged
program in much less time
in Euphoria than in C/C++. |
| |
- |
Euphoria can be used as a sophisticated batch file language. |
| |
- |
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 program royalty-free as a .exe
file. |
Platforms and Editions
Euphoria runs on three different platforms,
DOS32,
WIN32 and
Linux,
and comes in two different
editions: a Public Domain Edition and
a Complete Edition.
Both editions will run any Euphoria program of any size at full speed,
and will report all "compile-time" errors such as syntax errors,
undeclared variables etc. The Complete (registered) Edition has these
extra features:
-
you can convert any Euphoria program into 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 get full diagnostic information for run-time errors in any size of
program. The Public Domain Edition provides full run-time diagnostics for
programs up to 300 statements in size.
For programs over 300 statements, a run-time error in this
Public Domain Edition will simply cause
your program to halt with a brief message. The usual fully-detailed
diagnostics, including a dump of all variable values and other debugging
information, will not be provided. However, the excellent
source-level debugger will remain fully
operational, and you can insert debug print statements the way you would
in C/C++ or other languages. Note that C/C++ and other compiled languages
do very little checking for run-time errors, and provide very little
diagnostic information when a run-time error occurs.
Your productivity will be much higher,
programming in Euphoria.
-
Regarding
Statement Count:
-
Blank-lines and comments are not counted, and the standard include files
in euphoria\include are
free (if not altered significantly).
Useful 3rd party files can be stamped by RDS, making them
free, provided they are not altered
significantly. You can put many statements on one line, or you can split
a statement across many lines -- it won't affect your statement count.
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 costs only $39 (DOS32+WIN32) or $25 (Linux), and
you can reduce or even eliminate this cost by contributing useful code
for our Web site. See
register\register.doc
for details, or run: ex how2reg.ex in the
register subdirectory.
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.
There's over 20,000 lines of free Euphoria source code in this package. We
encourage you to use it, copy it, modify it, distribute it, upload 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.
You may not distribute the
files ex.exe,
exw.exe,
exu,
bind.ex,
bind.bat,
bindw.bat,
bindu,
shroud or
shroud.bat that come with the
Complete Editions.
To run the WIN32 version of Euphoria
you need Windows 95, Windows 98, Windows NT, or (soon) Windows 2000.
To run the DOS32 version you need
MS-DOS (or PC-DOS etc.) on any 386 or higher processor.
ex.exe will use extended memory if it
is available, but can run in 640K of conventional memory if that is all
you have. It has been well tested under MS-DOS 4, 5, 6, 6.2 and 7.0, as well
as DOS-prompt windows under Windows 3.1, Windows 3.11, Windows NT,
Windows 95, Windows 98 and OS/2. Euphoria exploits the full 32-bit power of
your PC. A DOS32 Euphoria program will
run under DOS, or as a DOS application under Windows or OS/2 - just
double-click on the file name, or open a DOS prompt window.
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, 6.0 or later will work fine.
Getting Started
1. |
On DOS/Windows install Euphoria by typing:
|
|
install
|
|
Don't worry, it's easy to uninstall - see
install.doc.
|
|
On Linux see
install.doc.
|
2. |
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.
|
3. |
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.
|
4. |
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!
|
5. |
See
what2do.doc
for more ideas.
|
6. |
Visit the Euphoria Web site, download some files, and
subscribe to the Euphoria mailing list (see
web.doc).
|
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". There's a link to it from the
Euphoria Web site.
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 debug 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.
|