ftp.nice.ch/pub/next/developer/languages/FIX/FIX.2.0.README

This is the README for FIX.2.0.NIHS.bsd.tar.gz [Download] [Browse] [Up]

Contact

  Ralf Suckow                  e-mail: Ralf.Suckow@snafu.de
  Koenigswinterstrasse 12      phone/fax: +4930 5030595 
  10318 Berlin
  Germany

----------------------------------------------------------------------

About FIX 2.0

FIX is a childrens programming workbench.

Here's the story of this program.

More than a year ago my son Maxim was 9 years old. He wanted to
learn programming for a long time, to program some kind of games
(he likes computer games very much), but it was too difficult to
use some existing programming languages. We tried BASIC, LOGO, C,
postscript (which BTW. was the easiest of them for him), but it
was too difficult for him to understand whats going on. Obviously,
the syntax and environment of these languages were too difficult
for him to understand, or better to say, he had not enough patience
to learn these languages.

Then, in a public library, he found a book called "Erstaunliche
Computerwelten" ("Amazing Computer Worlds") by Gerhard Saeltzer.
This book was published in 1988 by the east-german publisher
Kinderbuchverlag. You need to know that in 1988 there was no way
to get a computer for private use for east-german people, if they
had no source of western currency (e.g. relatives in Western
Germany). So this book was written to explain computers to children
that have no access to a computer. It introduced a hypothetic
language called FIX (let's assign it the release number 1.0) and
it even included a paper-based model of the computer. You had to
operate the CPU by hand, but Maxim managed to write a program and
to try it out manually. When he was done, I checked the program -
it was correct!

The main difference of FIX to the languages above was its very
simple syntactical and semantical approach. Children understand
what they are doing. It was in fact an assembler like programming
language to program a very simple CPU with accumulator, RAM and
ROM, input and output. While it is obviously much more difficult
to write large programs in assembly language, a simple assembler
variant is very easy to understand to children.

The logical result of his "dry run" of FIX was that Maxim asked me
if I could make this program run on our NeXT. Of course I could,
so I programmed FIX.app. Later on the language was extended a bit,
some commands were added for interactivity, and also it was extended
to work with texts (strings), additionally to numbers. This new,
2.0 version is upwards compatible to the original FIX. This upwards
compatibility is also the reason why the command set is a bit
irregular and non-canonic. Maxim just didn't want to loose his
existing programs.

Now that I'm cleaning up my hard disk, to see what programs I forgot
to publish, I thought that maybe somebody else might be interested
to use FIX. I added the source code, since there are improvements
possible (make the command set more regular, e.g. the D, P, F and I
command might have a data argument instead of value, the command names
are abbreviations of german words, also the software might be a bit
more flexible , e.g. ignoring blanks at the end of values when 
comparing them). 

So if you want to improve fix, go ahead. I will not
change it since Maxim doesn't want me to change the commands he 
already learned. Another point is that most of the examples (written
by Maxim) are in german, if somebody could translate them ...
Additionally Maxim is asking for graphics now ... If your children
are also asking for graphics, could you please add
them to FIX? Thank you.

Yours, 
Ralf Suckow

----------- LICENSE -------------------------------------------------

You can freely use the program for whatever purpose you want. You
can even change or extend its code, as long as you don't remove
the copyright and include a note about your changes.

Limited Warranty: This software is provided "as is" without warranty
of  any kind, either expressed or implied, including but not limited
to the implied warranties of merchantability and fitness for a
particular purpose.

No Liability For Consequential Damages: In no event shall Ralf
Suckow, Berlin, be liable for any damages, including any lost
profits, lost savings or other incidental or consequential damages
arising out of the use or inability to use this software, even if
Ralf Suckow has been advised of the possibility of such damages.

----------- INSTALLATION --------------------------------------------

You just take FIX.app and run it. The SAY command needs an extra
software package to convert text to speech, which you may obtain from 

ftp://peanuts.leo.org/pub/next/unix/audio/rsynth.2.0.NIHS.b.tar.gz

You need to enter the path of your "say" program into the preferences 
panel. If you don't have a say program installed, the SAY 
command is ignored.

---------------------------------------------------------------------

PS. Did you hear the latest news: MusicBuilder, the music creation
application for NEXTSTEP, is available for free now!

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.