home .. forth .. colorforth mail list archive ..

Re: [colorforth] objects and forth


On Mon, Feb 02, 2009 at 10:29:33PM -0700, vaded@xxxxxxxxxxxxxx wrote:
> Out of curiosity, given your justified lack of faith in academia, how
> would you recommend a young adult in today's world went about learning
> to program? 

There's this wonderful place known as the library :)  Actually, most of the best people programming in the Valley got their starts as children.  I started programming at the age of 7, with the aid of a few books my parents bought for me, and a collection of books borrowed from the library.

> Do you learn the new Forths and hope that somehow you will
> find employment with that, and thus not "sell out"?

Well, personally, I got my formal training in History, Mathematics, and Classical Languages.  I have found that this has been a positive boon when getting hired, as most of the companies I focused on early in my career were typically looking for people who had more skills than just programming.  That said, it isn't enough to just learn Forth, you do need to learn to hate mainstream languages for all the right reasons :)

> Should people still be learning assembly for the PC and going from
> there?  Is that the best starting point?  Should the PC be skipped
> altogether?  What books could even be recommended?  

Wow what a setup!  I've actually been writing a book that details exactly that strategy and process.  The book began because we've been having problems finding students who know enough about systems level programming and bare metal to even be trainable!  I'm currently working with an editor, a sympathetic academic, and a few willing test subjects who need to learn to program this summer.

The way I typically teach programming to newbies, and reteach people who've acquired a theoretical education, is I start off with the bit, and move up from there.  By the end a few days, they've learned enough to do basic assembler.  I then work with them to build a C or Lisp or Smalltalk.  At that point, if they're willing I introduce them to Forth.  There's no point arguing about the merits of Forth with someone who doesn't understand how C operates on the machine level.  Usually at that point, you end up with a novice programmer, who has a firm handle on what C does, and can read/write any C code.  They also are pretty easy to sway to the benefits of Forth, as the multi-level properties blow away the limited world view of C, and everything written on top of it.  Further more, because they typically understand OO programming on the low low level, they know when and how to break from the metaphor. 

As with all things, it will be announced when it is done.

Until then, I recommend reading in no particular order:

The Little Schemer
The Seasoned Schemer
On Lisp

Starting Forth
Thinking Forth

The C Programming Language

I think it is important not to forget that Chuck well aware of what McCarthy was doing in 1958 when Lisp was formulated, and the Germans and Americans developed Algol in a comittee that same year.  That was really the critical year in the history of programming, and we've basically been stuck with the idioms formalized in that year.  In many ways, we're still fighting that battle, and sadly the Algol people are winning. :)

Dave

PS. Lisp is just Polish Notation Forth, it about think :)



---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: colorforth-help@xxxxxxxxxxxxxxxxxx
Main web page - http://www.colorforth.com