FORTH - DIARY.ZIP - DIARY.TXT

 
Output of file : DIARY.TXT contained in archive : DIARY.ZIP

AUGUST 13, 1989 7:40 P.M.

DIARY OF FORTH STUDENT
----------------------
INTRODUCTION/SETUP

DAY 1

After much effort I have gathered an arsenal of some of
the best, if not THE best books on forth programming language.
For a more complete bibliography see the file FORTHBIB.TXT
They are as follows:

1. THE COMPLETE FORTH by Alan Winfield
SIGMA TECHNICAL PRESS
5 Alton Road
Wilmslow,
Cheshire,
U.K.
( purchased at Software Etc. in Woodland Hills,CA.)

2. FORTH GUIDE by Glen Haydon
MVP-FORTH Series Volume 7
and
3. All About Forth , An Annotated Glossary by Glen Haydon
MVP-FORTH Series Volume 1
both of the above were ordered by phone with a credit
card by calling Mountain View Press, INC.
at (415) 961-4103 . Their mailing address is :
MOUNTAIN VIEW PRESS, INC.
P.O. BOX 4656
MOUNTAIN VIEW, CA. 94040
(for the newcomer, if you haven't guessed MVP-FORTH
was created by Mountain View Press (Glen Haydon) hence

the "MVP" in the name. It was donated to the public
domain to provide public exposure for the company and
also to encourage purchases of the learning materials
and the many software products they offer to go with
and enhance MVP-FORTH. The product list is much too
long to list here but let me say that I purchased the
above because the FORTH GUIDE was written specifically
with the beginner in mind and combines an intelligent
style of presentation with simplicity and easy to
understand examples and a clear teaching style.
I would also like to mention that I chose to
begin my adventure in the world of FORTH with the
three publications listed above because Forth has come
a long way since it's origins with Chuck Moore and the
Forth Interest Group's work to expand and enhance the
Forth language with it's FIG FORTH has had alot of in-
fluence on it's evolution. My decision to start with
79-STANDARD forth which the above were written for is
that 79-STANDARD forth followed FIG-FORTH and there is
just so much material in the public domain related to
these two versions that I felt it was important to get
a foundation in these OLDER versions of forth and
since MVP-FORTH conforms to the 79 Standard which im-
proved on the more primitive FIG FORTH I felt that if
I learned MVP-FORTH first , my education would be
historically and chronologically correct and thus when
I move on to 83-STANDARD forth such as F83 , PC/FORTH,
F-PC, etc. I would be following forth's evolution and
would thereby be able to see the differences and
similarities . After all, in school we study older
history first before moving on to modern history. I
didn't want to start with confusion so I chose to turn
back the clock and pretend it was 1979 so my
perception would match the experienced forth
programmer. I also didn't want to waste anyone else's
time by asking questions about some program only to
discover that I am the only one who couldn't recognize
a 79-STANDARD forth word. Why does it matter ? Well,
one way to look at it is that 79-STANDARD forth has
been around for 10 years while 83-STANDARD forth has
only been around for 6 years, and that means there is
alot of software ( programs ) out there in the public
domain that you can use if you are familiar with it
and that you probably couldn't use if you are not.
With regard to the Alan Winfield book listed
above, I chose that to supplement the Glen Haydon book
because it is a small book, only 130 pages long yet it
covers alot of material because it is perhaps one of
the most concise books on forth, which means there is
nothing confusing about it and yet the basics ARE
there.

4. STARTING FORTH [2nd Edition] by Leo Brodie/ FORTH INC.
PRENTICE-HALL, INC.
Englewood Cliffs, New Jersey 07632
( This is THE most widely recommended book on forth
for the reason that the author took great pains to
address the issue that forth is unique and totally
different from most other languages and consequently
requires special explanation and examples. Leo did
this by providing cartoon illustrations to supple-
ment the text and examples. THIS is also THE most
widely cited criticism of the book, although per-
sonally I fail to see how amusing cartoons could
be anything but helpful since there is no question
that they contribute understanding to the book so
I must assume those who object to the amusing car-
toons simply are embarassed to be seen reading a
book that looks like it was written on the assump-
tion that the reader is TOTALLY ignorant about both
programming and forth. Obviously this is one of the
few books that enable a person who has NEVER written
a program in their life to sit down and start pro-
ducing programs within weeks or a month if not within
a matter of days. Of course the seasoned Pascal
programmer or C programmer will probably hide this
book so his fellow programmers won't laugh at him.
Suffice it to say that unless you are on an ego trip
you will not object to the cartoons and will probably
find them helpful as I did. But then I never wrote
a single program in my life until I got the book so
I have NO fellow programmers to worry about.

5. THINKING FORTH by Leo Brodie / FORTH INC.
PRENTICE HALL INC.
Englewood Cliffs, New Jersey 07632
( very enlightening supplement to the first book which
delves into more advanced thinking of forth
programming, without the cartoons ( there are maybe
three or four cartoons in the whole book but they are
the type with a caption punch-line like jokes : for
example , one of them shows a programmer up on a
ladder measuring a stack of printer paper about 15
feet high while just to the right of him is another
programmer sheepishly presenting his boss with small
stack of listing pages while his boss yells at him
and says while pointing to the other programmer up on
the ladder "Why can't you write SERIOUS programs like
Wiggins here ?" with the caption at the bottom which
says "Conventional wisdom REVERES complexity". This
cartoon is in the chapter about how to write more
efficient code .

6. FORTH: A TEXT AND REFERENCE by KELLY and SPIES
PRENTICE HALL INC.
Englewood Cliffs, New Jersey, 07632
[ for ALL versions of forth ! ]
( EXCELLENT text book for learning forth which covers
COMPLETELY BOTH the 79 AND 83 wordsets, highlighting
their differences as well as examples of the enhance-
ments of an advanced dialect MMSFORTH ("MMS" stands
for Miller Micro Systems ) . Each forth word is in-
troduced by explaining it's forth-79 usage and then
explaining if the forth-83 usage is the same or dif-
ferent and if so , how. The glossary of FORTH words
in the back of the book is notated as to which version
79 or 83 is required in order to use the word as well
as notation as to weather the word is specific to
FIGFORTH,MVP-FORTH,F83 (Laxen and Perry),MMSFORTH, or
appears in various dialects. In addition, the glossary
also mentions if the word is an IMMEDIATE word or if
it may only be used in COMPILATION mode or EXECUTION
mode. If none of this means anything to you then just
wait until you download some forth program or get one
from somewhere which has a forth word in it you are
not familiar with and you discover you can't use the
program until you find out what the source code is
for the word and where it came from and what it does.
When that happens (I HATE when that happens!) if you
have this book you can look up the word and find out
if it is listed in the glossary and if so what it does
and which version it comes from as well as a stack-
effect comment. Of course it WON'T have the source
code but knowing which version it comes from puts you
alot closer to getting the program working than if you
didn't know where it came from.

7. FORTH the fourth generation language by Steve Burnap
of DATATECH PUBLICATIONS
TAB BOOKS Inc.
Blue Ridge Summit, PA. 17214
( this is the 83-STANDARD equivilent of THE COMPLETE
FORTH by Alan Winfield. That means it is concise, and
simple yet packed with solid material and provides a
very good beginning for the newcomer to forth , but
whereas Alan Winfield's book deals with the 79 forth
wordset, this book deals with the 83 forth wordset. )

8. DR. DOBBS TOOLBOOK OF FORTH VOLUME II
by the editors of DR. DOBB'S JOURNAL
M&T Books
501 Galveston Drive
Redwood City, CA. 94063
( you can order the accompaning diskette for
CP/M,APPLE,IBM, or MACINTOSH. )
This is one of those books that separates the MEN from
the BOYS in forth. I would imagine that most serious
forth programmers either have this book or would like
to have it for it's in depth coverage of a wide
variety of topics in forth and the source code printed
at the end of each chapter for those who don't have
the accompaning diskette. I would not say that this is
for beginners, but if you don't want to STAY a beginner
you might want to get this book since it deals with
topics written for the experienced forth programmer.
So if you are curious what kind of things experienced
forth programmers think about and discuss, this book
will help solve some of that mystery.

9. INSIDE F83 by C.H. TING PhD.
OFFETE ENTERPRISES, INC.
1306 SOUTH "B" STREET
SAN MATEO, CALIFORNIA 94402
TEL: (415) 574-8250
( for those who have Laxen and Perry's F83 either for
CP/M or MS/DOS or DON'T have ANY forth, this book is
probably THE book to have since it is written with
the purpose of functioning as a manual for F83 which
is probably THE easiest version of forth to obtain
since it can be found on almost any FORTH bulletin
board and downloaded with a modem. There are a wide
variety of programs in the public domain for F83
including programs for windows (one in chapter 20
of Dr. Dobbs Toolbook for windows in F83) and menus.

10. LIBRARY OF FORTH ROUTINES AND UTILITIES by James Terry
Plume/Shadow Lawn Press
Main Street
Neshanic Station, N.J. 08853
( After you have got the basics down and you know
your way around the standard wordsets, you might want
to explore the world of forth utilities ("tools") and
routines for special applications. When it finally
dawns on you that there is almost NOTHING that cannot
be done with forth you will realize that while you
were busy learning the basics there were people
writing forth programs to do just about everything.
IN FACT, for more than TEN YEARS there have been
people writing programs in forth to do just about
everything. So once you've learned how to walk you
may want to explore the world of custom wordsets,
extentions and applications , which would be a good
time to take a look at this book . Consider this a
supplement to Dr. Dobbs Toolbook since while Dr.Dobbs
Toolbook contains detailed essays and published
articles elucidating programming technique and
structure at the beginning of every chapter with the
printed source code at the end of the chapter, THIS
book by James Terry contains ONLY printed source code
for custom words , extentions and applications and NO
essays or articles. You won't be able to "read" this
book like all the others listed above since this is
primarily a source code reference.


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


WHAT DOES IT MEAN TO BE A FORTH PROGRAMMER ?
( WHY IS IT DIFFERENT FROM BEING ANY OTHER
KIND OF PROGRAMMER ? )

This is in MY opinion THE MOST IMPORTANT question anyone
could ask when contemplating a future in FORTH. It is equivilent
to asking "Why does anyone want to be a pioneer ?" Pioneer ? What
does learning forth have to do with being a pioneer ? According
to Webster's Dictionary , a PIONEER is : "A person or group that
originates or helps to open up a new line of thought or activity
or a new METHOD or technical development." Chuck Moore , the man
who invented/created FORTH is THE pioneer but obviously it is
all of the other people who USE forth who help to spread it since
if he were the only one using it , it would not be the same. It
is would be like Columbus discovering a new world that was of no
interest to anyone. It is the followers of the original pioneer
who in a sense validate the discovery. The influence FORTH has
had on the technological world and the impact it has had on
certain applications such as real-time programming and machine-
control leaves no doubt of its great value. Why does this make
you a pioneer if you use it ? Because it is NEW, not in terms
of how long it has been around but in terms of it's status as
being STATE OF THE ART. The fact that some of the most advanced
research facilities in the world are using it for things that
have NEVER been done before and acheiving results which sur-
passes anything else which preceded it and just to cite a few
of the MANY examples : exploration satalites put up by Goddard
Space Flight center and JPL (JET PROPULSION LAB). Some of
the most prestigious schools in the country are using it in
their advanced engineering classes. Stanford University's
Mechanical Engineering class has a "SMART PRODUCT" contest in
which the students design a "smart" product and compete with
the other students to win the contest. For the last three years
the students have chosen to use FORTH to program their products.
What does this mean to you in terms of USING forth ? First, IF
you can find any books on forth in the places you usually look
for books you will be lucky to find more than a few. The TEN
publications cited above were collected from a variety of sources
not the least of which is the FIG (Forth Interest Group) book
store from which I purchased "THINKING FORTH" because I was
tired of waiting for copy I ordered with a local computer book
store which didn't have it in stock. This is only the beginning
of the documentation shortage although I should make it clear
that the books that DO EXIST are usually so well written that
they are all you need. This is a question of can you ever have
too many books to choose from ? Suffice it to say there are not
that many books on forth and most of them are NOT carried by
most computer book stores and school book stores. You would be
really lucky to find a book on forth at someplace like B.DALTON
BOOKS or WALDEN BOOKS although I HAVE in fact done just that.
Like I said, lucky I was ! So if it is hard to find books about
it, what is it like trying to find someone who KNOWS FORTH to
answer a question ? If you don't have a modem, GOOD LUCK ! If
you DO have a modem then you will need it ! Why ? Because as
a member of the small (relatively) group of people using forth
you will be one of the elite who even knows what forth is !
Secondly, once you start learning it you will become one of
the EVEN MORE ELITE group of people who know how to do it !
Thirdly, once you become good at it you will become one of
the MOST ELITE group of people who are good at it ! WOW , you
are probably thinking, I never dreamed I could be a member of
such an elite group ! Well you can, and it will behoove you
to do so because it will place you in a category apart from
the masses and distinguish you as person who is on the CUTTING
EDGE of the software community ! If you doubt it just try to
get a job at a research facility currently using forth by
telling them how good you are at Pascal or C and see if they
don't laugh you right out the door ! By comparison you might
consider the number of issues of FIG's publication FORTH
DIMENSIONS that are printed currently (about 3500) and com-
pare that to the population of the U.S. or the world and
you will realize what I mean. Granted, that number represents
a percentage of all the forth programmers since alot of them
are not FIG members, but compared to any other programming
language, forth usage is indeed rare. So when you have a
problem with a program you are writing or a concept you are
trying to learn , who do you call ? The following list of
FORTH resources online will answer that question:

FORTH RESOURCES ONLINE ( BBS's )
---------------------------------

GENIE FORTH ROUNDTABLE - Call Genie local node and type
M710 or FORTH.

BIX Forth Conference - Access Bix via Tymenet then type
j forth

COMPUSERVE - information call 1-800-848-8990 or call
Compuserve local node if a member of
Compuserve and type GO FORTH.

Compuserve Computer Language Magazine
type GO CLM

WELL Forth Conference - access WELL via CompuserveNet
call 1-415-332-6106

WETWARE Forth Conference - call 1-415-753-5265

East Coast Forth Board - call 1-703-442-8695

North Coast Forth Board - call 1-612-483-6711

British Columbia Forth Board - call 1-604-434-5886

Real Time Control Forth Board - 1- 303-278-0364

Laboratory Microsystems Inc. BBS 1-213-306-3530 (for
LMI customers only.

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

Is it possible to solve your own problems if calling
the above numbers is not practical for you ? YES ! The only
catch is that you will have to learn to use your brain like
never before. You will have to learn to analyze your steps
and backtrack systematically and most important KEEP NOTES.
You may not have any problems at all if have a few good
books and read them carefully, but if you do get hung-up,
you will need to be patient and systematic and in your best
mental form. If you are unsuccessful in solving a certain
problem, set it aside, don't dwell on it ! Go on to some-
thing else and maybe it will come to you. My advice is pick
at least ONE of the above online resource numbers, such as
GENIE, and that way you can at least leave a message and ask
the sysop to forward (they call it "port" ) your message to
some other BBS if the SYSOP of that BBS calls the Genie
FORTH ROUNDTABLE from time to time.