home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 May
/
chip-cd_2000_05.zip
/
05
/
aktualnosci
/
shareware
/
euphoria
/
README.DOC
< prev
Wrap
Text File
|
2000-01-13
|
14KB
|
301 lines
---> 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
for WIN32 + DOS32
January 14, 2000
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 several hundred registered users, located in 45 countries around the
world. There are several thousand non-registered users. Each year has seen
significantly more registrations than the year before. 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.