Forth Classes

From Noisebridge
Revision as of 22:54, 24 October 2009 by LOOP-HOG (talk | contribs)
Jump to navigation Jump to search

Hi,

My name is Jason Damisch. I am the instructor of the Forth Class.

FORTH CLASS 8:00PM THURSDAYS EXCEPT WHEN 5 MINUTES OF FAME OCCURS.

I will strive to write useful and interesting information here.

I am involved with the The Forth Interest Group or FIG for short. It is the area Forth club, and has been around for many years. I was at the FIG meeting today ( 10-12-09 ) and was able to have a stack of Forth Books given to me which will go into the library at Noisebridge. These books are

Starting Forth - primer

Thinking Forth - read after Starting Forth or Mastering Forth, Teaches good Forth Style

Discover Forth - primer

Mastering Forth (2x) - primer

Forth Notebook - more advanced example code

Inside F83 - Explains the F83 Forth system, gives an overview of how a Forth system works inside.


Our copy of Starting Forth is falling apart. If anybody can have this book rebound I would appreciate it.

An online copy of the book Starting Forth can be found here.

http://www.forth.com/starting-forth/index.html


About 15 people showed up for the FIG meeting. The FIG website is here

http://www.forth.org/


The annual Forth Day will be held at Stanford University, Saturday November 21st

http://www.forth.org/svfig/next.html


I'll be at that meeting. Charles Moore, the inventor of Forth, should be there as well.

FIG holds meetings at Stanford University every third Saturday of the month. The one in November is Forth Day, which is special.


I'll be teaching out of the book "Starting Forth" by Leo Brodie. It is considered a classic in the Forth Community. It is a clear and easy to understand introduction to Forth, and kind funny too.

long time ago, I wrote an arcade game in Forth for the Atari ST called Skampy. It actually runs fast and is stable. It has everything a videogame is supposed to have, speed, sound, collision detection, levels, scoring. I will show it to anybody who is interested in seeing it. There is even an end cartoon for the people who get past the 10th level. LOL Good Luck!


WHAT IS FORTH?

Forth is programming in the extensible Macro Assembler of a very simple virtual machine, one which features two stacks, one for parameter passing, and one for holding return addresses. It also features Reverse Polish Notation, or RPN.


WHAT ABOUT FORTH?

Programming in Forth can be creative in that the language itself is malleable. There is no difference between built in keywords or words which you define yourself. Programming with Forth is programming with the fewest restrictions possible. Forth is malleable, one can invent their own syntax and craft how the names of the words appear together in phrases. Both are examples of what Forth code can look like.

A. FAUCET ON 25 SECONDS FAUCET OFF

B. *()=< 4123 @#!$

There is a good style to Forth code. Example B would probably be considered bad and unreadable Forth code, while example A would be considered good Forth code. If you learn good Forth style and good Forth practices then you can use the simple tool called Forth. Forth is like any simple too which a craft person uses to create something insomuch as one requires skill, style, and correct technique to use the tool well.

A Forth system in my mind is like a fine watch. All of the pieces of the watch fit together to form a beautiful machine which all function together in harmony. The insides of Forth are elegant.

A part of Forth style is to strive for the simplest solution which will work well.


FORTH EXTENSIONS

One writes a Forth application by adding named subroutines called Words. By doing so one forms and extends the language into something which best suits the need at hand. One in essence creates a language which describes the problem clearly. Here are some Forth extensions.

http://www.forth.org.ru/~mlg/mirror/home.earthlink.net/~neilbawd/index.html


FORTH CLASS LIBRARIES

yes it is object orientated and has inheritance.

There has recently been published a Forth Foundation Library.

http://code.google.com/p/ffl/


WHAT CAN FORTH DO?

In a nutshell, Forth can do anything that C can do, theoretically. Both are very flexible general purpose programming languages. These days Forth is mostly used in embedded systems which are resource constrained because Forth is very efficient. Here are some example of some applications which have been written using Forth.

http://www.forth.com/starting-forth/index.html


WHERE TO ASK QUESTIONS?

There is a Forth Usenet Group which has been around for ages.

comp.lang.forth