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

Reply via email to