I remember when I took French in H.S.; I didn't learn to speak French, and it made my Spanish even worse than it already was because I would sometimes insert French words into Spanish speech. The same thing would happen if you tried to learn both Factor and Forth. This is especially true because Factor didn't follow Forth very closely. For example, a comment in Forth starts with \, and in Factor starts with !. Why couldn't Factor have used the \ for compatibility? Differences like this trip me up all the time. I doubt that Slava is a Forth programmer; I think he derived Factor mostly from Joy, which is a Forth/Lisp hybrid --- so Factor is twice-removed from its Forth origins.
Factor has an emphasis on being idiomatic (similar to how in Python you are supposed to be "pythonic"). Forth has an emphasis on being minimalistic, which makes it easy to learn. The downside of Forth is that you reinvent the wheel quite a lot, as there aren't any built-in data structures (arrays, lists, etc.), but you have to develop these yourself. This is also why employers don't like Forth; they can't easily fire one Forth programmer and hire another to replace him, because the new guy will have a steep learning-curve before he can begin maintaining the existing program. The concept of idiomatic programming is pretty much unknown in the Forth community. Honestly, I had never even heard the term before I began learning Factor. On the other hand, the downside of Factor is that the built-in data structures may not do exactly what you want them to do. Programming in Factor is like buying a suit off the rack; it is not going to be a perfect fit for your application. Programming in Forth is like buying a tailored suit, except that you have to be your own tailor. Forth is stable. Here is the ANSI document describing the language: http://www.taygeta.com/forth/dpans.html. You will notice that OOP is not part of the standard. There are several incompatible implementations available, or you can write your own. The "Starting Forth" book is excellent (it is how I learned back in 1984 when I was a H.S. senior), but it is also obsolete as it covers Forth-83 rather than ANS-Forth (1994). There are several novice-level texts available but I am not familiar with any of them and can't make a recommendation. Novice Forth programmers don't really exist; you are expected to be an advanced programmer from day-one --- it is a minimalist language after all; there is not that much to learn. > Message: 7 > Date: Thu, 18 Jun 2009 15:40:42 +0000 > From: Emeka <emekami...@gmail.com> > Subject: Re: [Factor-talk] New here > To: factor-talk@lists.sourceforge.net > Message-ID: > <89c38c820906180840y43f21898kd1057ad8d23f0...@mail.gmail.com> > Content-Type: text/plain; charset="iso-8859-1" >>If you are new to stack languages or RPN, a gentle introduction might >>be Leo Brodie's "Starting Forth": <http://home.iae.nl/users/mhx/ >>sf.html>. Factor isn't Forth, but many of the concepts have been used, >>and Brodie's examples shouldn't be too hard to (re)write in Factor. > > So, I should first study Forth... It may be overwhelming for a mere mortal > like me. Is Forth a stable language? > > Regards, > Emeka ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk