David McClain wrote:
> ...
> But back to small, and fast. By choosing to do this work in Forth, you
> are trading off speed of development for speed of implementation. Size
> apart. Today, all machines that I work with, even embedded processors,
> have many GB of storage space, so size should no longer be a
> determining factor the way it was when all we had were KIM-1's,
> AIM-65's, PDP-11/35's and Nova 800's (typically memory sizes between 1
> KB and 32 KW).
>
Indeed, there are many microcontrollers that support lots of memory.
But there are also low-end MCUs with extremely limited memory: sometimes
small amounts of ROM but large RAMs, sometimes limitations on code space
rather than data space, etc. Applications for devices which will be
sold in very large volumes care very, very much about reducing unit
costs, and using devices with small memories can save a lot.
I do not necessarily agree, either, that Forth *necessitates* "trading
off speed of development for speed of implementation." I have seen too
many instances of big wins in both, although I understand such
situations are possible.
> There is no question that you can develop a small and highly tuned app
> in Forth to do what you want. But what you are finding is that for the
> barest support of language design tasks, e.g., symbols -- there are no
> such things inherent to the language Forth. So you have to roll your
> own. Lists do not exist as a native data type, so you have to roll
> your own, and so on.
>
I'm not familiar enough with Lisp to know exactly what you mean by
"symbols" (which I assume is some specific technical concept), but I
have certainly worked a lot with lists of various kinds in Forth. My
major point here is that generating application-specific objects is so
easy in Forth that most of the people I work with find "rolling their
own" data structures to be a matter of minutes, not hours, and the
result is exactly what they need, and not some generic approximation.
You indicate that your experience with Forth is from some years ago. I
urge you to try some contemporary Forths. Forth has advanced quite a
lot in recent years. You'll find that most widely-used commercial and
free systems include some form of OOP support, for example, even though
this hasn't been standardized.
...
>
> I still keep a keen eye open for the right place to use Forth in our
> embedded systems. But with all the memory available, and the
> increasing sophistication of embedded algorithms -- e.g., dynamic
> adaptive channel equalization in 10 Gbps radio links, it becomes ever
> more important to have higher levels of abstract reasoning. And all
> those low level details in Forth derail such efforts. But I'm sure
> Chuck would be the first to disagree with me, as usual... Heh!
>
In the meantime, I encourage you to pick up a free evaluation version
(full capabilities, just no facility to make a turnkey for distribution)
from FORTH, Inc. and/or MPE and familiarize yourself with the current
state of Forth technology. Be sure to look through the manuals to see
all the new stuff you may not be expecting!
Cheers,
Elizabeth
-- ================================================== Elizabeth D. Rather (US & Canada) 800-55-FORTH FORTH Inc. +1 310.999.6784 5959 West Century Blvd. Suite 700 Los Angeles, CA 90045 http://www.forth.com "Forth-based products and Services for real-time applications since 1973." ================================================== ---------------------------------------------------------------------- sftalk_at_forth.com The SwiftForth programming discussion email list To unsubscribe, send subject "unsubscribe" to sftalk-request_at_forth.com For list command help, send subject "help" to sftalk-request_at_forth.com Message archives are located at http://www.forth.com/archive/sftalk ---------------------------------------------------------------------- This list is a forum for SwiftForth users. For product support and bug reports, please send email to support_at_forth.com ----------------------------------------------------------------------Received on Sat Jan 30 2010 - 18:06:53 PST
Subscribe to our e-mail list service. It's free for all SwiftForth and SwiftX users!
This archive was generated 07-Feb-2012. Archive updated nightly.