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.
	

	