[net.lang] Good Things About BASIC

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!kurt

mwm@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