On 26/10/11 7:59 PM, Liam Proven wrote:
On 27 October 2011 00:41, Toby Thain<toby at
telegraphics.com.au> wrote:
On 26/10/11 6:17 PM, Liam Proven wrote:
On 26 October 2011 13:40, Toby Thain<toby at telegraphics.com.au> wrote:
On 26/10/11 3:36 AM, SPC wrote:
>
> Very interesting comment, Rich (and Toby, by the way).
>
Hi Sergio
Last night I came across (via Quora*) a piece by Paul Graham that tries
to
put McCarthy's early Lisp work into perspective.
http://www.paulgraham.com/rootsoflisp.html
(The article itself is linked here as a PostScript file.)
I haven't read it all yet.
Nice article - thanks for that!
The more I read about Lisp, the more I want to understand... but I
suspect I am too old&
That can't be true! Lisp's best-kept secret is that it is very simple to get
into. Pick up any introductory Lisp or Scheme book (e.g. Programming in
Scheme by Eisenberg and Abelson,
http://www.amazon.com/Programming-Scheme-Michael-Eisenberg/dp/0894261150 )
or How to Design Programs (online at
http://htdp.org/2003-09-26/ )
and you will soon prove this to yourself!
I don't currently have the spare budget for buying books, but I do
have a few PDFs:
* Common Lisp - A gentle introduction to symbolic computation book
* COMMON LISP: An Interactive Approach
... and some elderly text.
As I try to read them, I get this sinking feeling after half a dozen
pages where what started off making sense quietly and subtly turns to
word soup. ...
So, now, see, this is a list, but it's also an expression, but if we
call it as a function then the expression modifies the atoms in the
lisp, but it's still an expression, because all lists are expressions
but only some expressions are functions. Some lists are cons but cons
can be a list of things, but be careful not to muddle up atoms and
conss. You see? Perfectly simple!
There is a certain amount of UN-learning required, if your mind has been
entrained in the C-like ways. However, you quickly find that the core
concepts make a good deal of sense and strip away unnecessary mucking
about. (After a while, C's boilerplate for linked lists gets boring,
tedious and error-prone compared to manipulating them functionally.)
Learning Erlang (as I did a few years ago) softened up the mental
pathways for Scheme - it uses the same list representation, and has
similar primitives, and practically enforces looping via recursion.
While that may sound odd to imperative programmers, people frequently
say (of both Erlang and Scheme) that they put the fun back into programming.
I find this tends to happen before the page count is in double digits.
So tonight, I tried working through some of this with Stephane Tsacas
on chat. I tried installing Steel Bank Common Lisp, but every other
thing I type generates 10 lines of error messages and takes me into a
debugger. Stephane has recommended Allegro Common Lisp, but it doesn't
even seem to understand cursor up/cursor down.
I would advise not to begin with Common Lisp. Start with Scheme, and
those two texts I mentioned (one of which is online).
I also had planned to dive right into Common Lisp, but on the advice of
a wise friend (a CL programmer professionally and functional programming
expert) I began with Scheme instead, and I think that was a better method.
So, grab an introductory text, and _do the exercises_ :)
--Toby
And don't talk to me about Emacs. I tried and failed to follow the
tutorial in 1988 and I'm a lot grumpier and less flexible nowadays
than I was then.
We shall see. I shall have another try. If I bounce off again, a
friend has offered me some Python tuition. Perhaps C21 languages might
be less prone to making my aging brain do the 'splodey thing. ;?)