someone wrote:
I feel that BASIC is a bit of a kludge (i.e. poor choice) of a language for very small devices.
The 70's versions of BASIC (and Forth) were designed for small devices (when you needed to develop programs on the device). BASIC ran on 8k Altairs and 16k Apple II's, no C compiler could. cBasPad (the predecessor to HotPaw Basic) ran on a Pilot 1000. Where is the non-kludge C development system that ran on a Pilot 1000?
Small handheld devices are also personal devices; and Basic was designed as a language for people to use (as opposed to programmers :^)
Requiring a ~100K (99594 byte) runtime module is counter-productive.
The runtimes are this large to provide lots of library features. IIRC, the original runtime for cBasPad was under 16k. The Appforge runtime is larger than the HotPaw Basic runtime because it has more features.
I can write any program in C that can be written in BASIC, ...
Anyone can write a program in a language they are familiar with. You know C. Other people know Basic much better. Some know Pascal or Perl, etc better. Some people can write books in Latin. The whole point of something like AppForge is that the cost of buying handhelds with enough extra memory for their runtime is much smaller than the cost of sending all their application specialists to C programming courses and thus losing all the opportunity profits of getting apps into the field earlier.
... without the runtime.
Forth programmers used to claim something like this; but if you examined their programs, they ended up reinventing large portions of the runtime for any full featured application.
My programs will always be 100K smaller than BASIC ones
You must not be familiar with compiler research. Some applications are smaller when compiled into compressed bytecodes and run with a VM interpreter, even including the cost of the interpreter. For a very large application which uses most of the features in the library runtime, it's probably possible to construct it so that it's 100k smaller than a compiled C version. Of course, most researchers use Java instead of Basic these days for bytecode studies. The actual value of C is that it produces faster programs, since that's a language where most compiler optimization research has gone into. George Henne writes:
ANSI Standard for Minimal BASIC (X3.60-1978)There really isn't any such thing as standard Basic.
ANSI Standard for Full BASIC (X3.113-1987)
ISO Standard - Data Processing - Programming languages - Minimal BASIC (ISO 6373-1984 (E)
uncommon and obsolete, but a "Standard" in the legal sense.
IMHO. YMMV.
Ron Nicholson
HotPaw
<http://www.hotpaw.com/rhn/hotpaw >
--
For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
