kurt@fluke.UUCP (Kurt Guntheroth) (02/26/85)
Lets think about BASIC. What things make people want to use BASIC.
Simplicity: a minimum number of concepts to learn so you may begin to solve
simple problems in the language immediately. I learned enough BASIC to
program in BASIC in 45 minutes and it was my first programming language.
Sure the I/O isn't wildly powerful, but it is easy to use and understand.
And, for a variety of programs, it is quite powerful enough to get the
job done. Sure the single scope makes big programs a hassle, but for
small (and I don't mean toy) programs the power is sufficient. How much
of Unix is programs with less than 500 lines?
Strings as a fundamental type: Try to write simple programs in C or Pascal
that manipulate string data, search arrays of strings, catenate, find
substrings etc. You can't because these languages don't provide any
support for strings. Virtually all BASIC's have dynamically allocated
strings provided. You don't mess with the allocation, you don't mess
with defining the string type, you don't write your own string handling
library. It's all in the language.
I mostly use C. I write compilers and embedded software for test instruments.
I have to say I wish I had a tool more powerful than C. I also use BASIC.
BASIC is neat for not-too-demanding financial calculations, printing charts
and tables from data, prototyping little things like sorts. It is arguable
that there is another tool that would do the simple things I want to do
better than BASIC, but not a lot better. Logo is nice, I guess, but where
is the implementation? I like B too. Same question. BASIC is a USEFUL
LANGUAGE TO SOLVE CERTAIN IMPORTANT CLASSES OF PROBLEMS and anybody who
categorically refuses to recognize its usrfulness has condemned themselves
to a life of working too hard on that class of problems. (Or else is one of
the lucky few who has at his disposal one of the tools which is actually
better than BASIC for such tasks.)
--
Kurt Guntheroth
John Fluke Mfg. Co., Inc.
{uw-beaver,decvax!microsof,ucbvax!lbl-csam,allegra,ssc-vax}!fluke!kurtmwm@ucbtopaz.CC.Berkeley.ARPA (03/01/85)
["LISP is a local optimum in the space of programming languages."] In article <401@vax2.fluke.UUCP> kurt@fluke.UUCP (Kurt Guntheroth) writes: >BASIC is a USEFUL >LANGUAGE TO SOLVE CERTAIN IMPORTANT CLASSES OF PROBLEMS and anybody who >categorically refuses to recognize its usefulness has condemned themselves >to a life of working too hard on that class of problems. (Or else is one of >the lucky few who has at his disposal one of the tools which is actually >better than BASIC for such tasks.) Since I'm one of the people "categorically" refusing to recognize BASICs usefulness, I'll reply. First, *any* language is useful to solve certain classes of problems (otherwise, why build the thing in the first place?). If BASIC appears to be the best available tool to solve a specific problem I'll use it. That just doesn't happen very often anymore. What I've said (repeatedly) is that "There is no class of problems for which ANSI Minimal BASIC is the best tool." Maybe that's because I'm "one of the lucky few" you mention. Nearly every system I've worked on for the last five years has had a C compiler and a small LISP system. Those, plus a programmable calculator program of some sort (CALC, bc, or a spreadsheet) are better tools than BASIC over an incredible range of problem classes. Now, at this point I probably ought to bringup the old "higher-level" argument. A programming language as a tool is "better" than another only to the degree that it mimics your thoughts about the problem at hand. Since I tend to think in terms of recursion, small routines and structured programming constructs, translating solutions into BASIC is a burden. If you think in terms of sequences of simple operations and transfer of control, this is probably not true. So I get to amend my statement to: "For me, there exists no class of problems for which BASIC is the best tool." <mike