[comp.sys.amiga] Language Wars Aaaaugh

hadeishi@husc7.HARVARD.EDU (Mitsuharu Hadeishi) (04/21/87)

Re: Acrimonious words on C vs. Modula-2

	In the interests of reducing net-traffic I held a private email
discussion with mmw about this language debate, and I think the main
point of it all came down to this:

	There seem to be something like five generations of languages,
and each should really be judged within it's class.  First: assembler,
second: Fortran, Basic, etc., (no data structures of any kind, except for
kludging with arrays), third: C, Pascal, Modula-2, etc. (procedural languages
that require a lot of programmer bookkeeping (especially in the realm
of memory management), nice generalized data structures, but no
data type extensibility or easy way to add new operators, however they
make great high-level assemblers), fourth: Object LISP, C++, CLU, Flavors,
Smalltalk, etc. (object-oriented languages which allow property
inheritance, etc., quite easily and with a streamlined, consistent
syntax), fifth: Prolog (logic programming).  I, for one, think logic programming
has certain disadvantages, not the least of which is the paradigm of
problem solving which invovles assignment of discrete truth values and
labels to objects, a method which I think will not lead to true AI.
(I would personally favor a different fifth-generation language,
perhaps the "cousin" of the logic-programming generation, which
is heavily based on a massively-parallel description of problem
solving involving pattern-recognition and generation of new abstract
categories in a "fuzzy", "neural-net" kind of way, which has been shown
to be quite successful in test cases, in particular, in coming up with
new "concepts" and recognizing relationships that were not originally explicitly
laid out, recognizing new, never-before-seen cases and so forth.)

	The upshot of this is that from a fourth-generation perspective,
C is highly deficient, but this is natural, since it is a third-generation
language.  Mike had no problems with the idea that C is a very useful
and elegant language for handling assembly-language type problems;
in fact, he felt C was the best of that generation of language.  It just
isn't an AI language, which need to be fourth-generation or above.

				se ind