I agree wholeheartedly with many of Steve's comments about the "wimpiness"
(my word) and incompleteness of many commercial Forth systems.
On the other hand, I would like to present another viewpoint about the
economic considerations involved:
Quote:
> So...why SHOULD a commercial Forth vendor
> expect to be paid as much for his system as another vendor might
> charge for a C or Ada or Modula-2 compiler?
Because the commercial Forth vendor has to pay for his food, lodging,
office space, taxes, telephone, shipping, printing, and salaries at the
same rates as the commercial C vendor. The development effort is a fixed
cost, and is only a small component of the cost of doing business.
Also, since the market for Forth systems is so much smaller than the
market for C compilers, the Forth vendor amortizes his development
costs over fewer systems. On a per-unit-sold basis, the Forth vendor
may have higher development costs than the C vendor.
C compilers used to cost thousands of dollars before C caught on and
the market expanded.
Furthermore, it is not any cheaper to write the documentation for
a Forth system than for any other language. The only way to save
money on documentation is to do a crummy job. In order to show a
profit, considering the small market for Forth systems, you can't
spend too much money up front. Remember what Unix documentation
used to be like up until about 5 years ago, before Unix "caught on"?
You got a line printer listing of the man pages, and you were lucky
if that was up-to-date.
Quote:
> comments about CForth's shortcomings
Steve's comments about C Forth 83 are correct. It is missing some things
that would be nice to have. The cause of these shortcomings is rooted in
economics; I don't (and doubt that I could ever) make nearly enough money
from C Forth 83 to justify spending the effort on improving it into a really
great system. It is important to understand the "niche" that C Forth 83
fills. C Forth 83 is mainly for those people who use machines for which no
better Forth alternative exists. As such, it is important that I keep it
as portable as possible. This works against the inclusion of Unix-specific
things like curses (while many people use C Forth 83 on Unix machines, it is
also used under VMS, DOS, and MVS).
I am basically providing C Forth 83 as a service. The $50 price of C Forth
83 is just enough money to keep me doing it. You can't get very high on
the "economy of scale" curve when every customer has a different machine
with a different OS variant, different media requirements, and different
C compiler quirks. Consequently, the bang-per-buck of C Forth 83 will
never approach that of Turbo C (which, incidentally, is not getting cheaper).
I put most of my effort into products for which I can get a reasonable
aggregate return; namely my assembly language Forth products for Suns,
Atari STs, and SPARC boards. Those products have many (most?) of the
features which Steve identified as desireable. In order to justify the
considerable effort and expense of producing and distributing a product,
you have to be able to make enough money. That means you need either
enough bucks per copy or enough volume (and if you go for a volume market,
you have to slug it out with all the other competitors).
My prices are fairly low; $50 for the Atari product and $200 for the Sun
product. I would be hard pressed to make a living selling Forth systems
at those prices. That's why I have a full time job at Sun.
Steve argues that the demand for Forth systems might be higher if the
quality was higher. This is almost certainly true; on the other hand,
there's a chicken and egg situation in the creation of a market; you
need the volume to get the price down and the quality up, but you need
the affordable, quality, product to create the volume.
Quote:
> (Please folks, don't
> flame me for these comments--I'm trying to get you thinking and talking...
> I'm not trying to make an enemy of Mitch or anyone else.)
No offense taken; the specific complains about C Forth 83 are 100%
accurate. I'm just trying to communicate some of the lessons that
the marketplace has taught me.
Oh, by the way, I note that JForth for the Amiga is an excellent product
at an attractive price, yet the developer (Phil Burk) says that he hasn't
yet broken even on the product. He has to pay his bills with a real job.
Business is tough.
Cheers,
Mitch