[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Functional Paradigm popularity and Maths




One of the problems with getting into any programming language
 -- unless it is similar to what one already knows --
is the availability of decent tutorials or other teaching material.
I am amazed by people like Keith Waclena (see "My Programming
Language Crisis" at http://www.lib.uchicago.edu/keith/crisis/),
who took about a dozen languages and whipped up some test programs
in each one...   I have been trying for a couple of years to get a
smattering
of Scheme, Haskell, Icon, ... , and never getting to the point that I could
write a program that did any useful work.

One problem is of course time, because I don't have much time to
experiment.  But lately I've been concentrating on Scheme, and making
some progress in spite of the lack of introductory texts and, as  Shriram
has
already noted, the lack of examples, of how-tos.

Another problem is that many texts that introduce Scheme presume that
the reader has some amount of mathematical sophistication.  I mean,
one goes quite literally from an example of how to add two numbers
to how to represent differential equations.  For some of you, differential
equations are as simple as addition;  for me, they are a vague, almost
Proustian memory.  Mathematical examples, such as one finds in
"Structure and Interpretation of Computer Programs" (online at
http://mitpress.mit.edu/sicp/full-text/book/book.html) ironically
do not contribute to the clarity and instructiveness of the text
to Joe Programmer.

On the other hand, there is the GNU implementation of Scheme, called
Guile, which I like, and it does have documentation... much of it
relating to the use of the libguile, which is a library for programming
in C, and I think devoid of interest for someone wanting to learn
Scheme.

In spite of this, I like Scheme.  I am frustrated by how difficult it was
to find out how to do file i/o, how to *stop* reading the contents of a
directory, and so on, but I like it.   I have been accumulating notes
as I learn, in the hopes of some day (but not any day soon) of writing
a tutorial for non-academic C-programming types.

Now I am taking a more empirical approach - trying to convert some of my
personal tools from shell scripts to scheme scripts, and making progress
"slowly but slowly" as Edward Lear put it.

Kevin Kelleher