[comp.lang.misc] The Icon Programming Language

gudeman@arizona.edu (David Gudeman) (01/12/88)

In article  <17327@topaz.rutgers.edu> mccarrol@topaz.rutgers.edu (<MC>) writes:
> ...
>	Since I just started reading some info on Icon this week, and
>you seem to be fairly interested in it, I have a couple of questions
>about Icon. It seems to be a language with a lot of excellent concepts
>(generators in particular strike me as being a great idea..). But it
>doesn't seem to me to be terribly useful in general. It seems like it 
>could do awk type jobs extremely well, but from what I've seen, it
>doesn't seem to be terribly good at much else...

I often get this feeling when I'm learning a new language.  The
problem is that you havn't yet learned to think in Icon.  Once you do,
you will be spoiled for any third generation language (Pascal, Ada,
Fortran, C, etc.).  Icon is practically a superset of such languages,
in the sense that an algorithm designed to be implemented in one of
the listed languages will trivially convert to Icon (and will be
easier to implement in Icon).  However, most algorithms designed for
implementation in Icon will not convert easily to third generation
languages.

Before everyone points out that algorithms are supposed to be
independent of the programming language, let me say that this is only
true if the algorithm and the programming languages use the same
paradigm of computation (eg.: procedures, functions, relations,
messages, etc.).  Icon's paradigm is a superset of the simple
procedural/functional paradigm of traditional programming languages.

There is a nasty rumor going around that Icon is just SNOBOL4 with the
syntax of C.  This is not true.  Icon _is_ a decendent of SNOBOL4, and
there are similarities, but Icon much more unified and is based on a
different paradigm of computation.  If no one knew that SNOBOL4 is an
ancestor of Icon, I doubt the comparison would ever have come up.
(Please don't get the impression that I think the comparison is an
insult to Icon.  In some ways I _prefer_ SNOBOL4 (although to be
honest, I do most of my programming in Icon.))

(The "syntax of C" part of the rumor is a little harder to argue
against...)