Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

why is learning lisp so hard?

349 views
Skip to first unread message

der_gavio_fhurer

unread,
May 26, 2013, 10:00:30 PM5/26/13
to
gosh I have 3 books

and its still a beeeatch

:)

I guess its such a shift from shell programming.

wooo
weee

I dont dare crack my copy of let over lambda...

Zach Beane

unread,
May 26, 2013, 10:06:53 PM5/26/13
to
If only posting to Usenet were as challenging.

Zach

Antsan

unread,
May 27, 2013, 8:07:57 AM5/27/13
to
Maybe you shouldn't start with Let Over Lambda.

Norbert_Paul

unread,
May 27, 2013, 8:41:50 AM5/27/13
to

der_gavio_fhurer

unread,
May 30, 2013, 3:37:28 PM5/30/13
to
xach I like quicklisp

:)


der_gavio_fhurer

unread,
May 30, 2013, 3:39:47 PM5/30/13
to
On Monday, May 27, 2013 5:07:57 AM UTC-7, Antsan wrote:
> Maybe you shouldn't start with Let Over Lambda.

I have
ANSI common lisp graham
land of lisp barski
lisp winston horn
let over lambda
gentle intro to symbolic computation
successful lisp
sicp
little lisper

ccc31807

unread,
May 30, 2013, 7:27:05 PM5/30/13
to
On Sunday, May 26, 2013 10:00:30 PM UTC-4, der_gavio_fhurer wrote:
> gosh I have 3 books

Try writing some programs. It gets easier the more you write. Here are some milestones:

5 programs
50 programs
200 programs
1000 programs

One thing I have learned about learning programming languages -- you don't learn a language by reading a book, althought it helps, nor by watching someone else do it, nor by talking to people abouty it. You learn it by doimg it.

CC.

ara

unread,
May 31, 2013, 8:13:53 PM5/31/13
to
It might be the GUI proximity.

Slime and Common Lisp is where I've done much stuff. SBCL But I
have fond memories of Allegro.

So maybe Racket.

Its just that click boxes an GUI so much fun to progress with,
beyond text IO. Plus it looks more like a completed app.

So, which GUI with pull-down boxes etc for Common Lisp?

Antsan

unread,
Jun 5, 2013, 2:51:47 AM6/5/13
to
"Land of Lisp" is quite easy to understand and does some interesting stuff. Have a look into that and by all means program the games and try to expand on them.

Giorgos Keramidas

unread,
Jun 8, 2013, 12:04:32 PM6/8/13
to
Owning a bunch of books is one thing. Then reading them and putting them
to good use is quite another though, isn't it?

Giorgos Keramidas

unread,
Jun 8, 2013, 12:18:16 PM6/8/13
to
On Thu, 30 May 2013 16:27:05 -0700 (PDT), ccc31807 <cart...@gmail.com> wrote:
> One thing I have learned about learning programming languages -- you
> don't learn a language by reading a book, althought it helps, nor by
> watching someone else do it, nor by talking to people abouty it. You
> learn it by doimg it.

Amen to that! If there was /one/ thing I would add to this it would
/have/ to be this:

: Reading source code in that language helps you assimilate the common
: patterns and practices of the people who use it for real work. So go
: and read a program in that language and try to understand *all* of it.
: Then read a larger one. Then keep doing that as you write your own.

Back in 1994, I had a C instructor at one of the Greek Universities who
diverged from the common practice of assigning "toy tasks" to us in the
new language. His assignment to us before the Christmas break was:

"Find an open source program that's written in C, whose source
code includes at least 10000 lines of code. Your task is to
read all of it, and understand how all the parts fit together,
what it does, and how it goes about it. Be prepared to be shown
a random file, scroll down a random number of lines, and answer
questions like: 'What is this part of code about? How does it
work? Why does it work this way?' and so on."

I naively chose the GNU ed(1) editor, thinking along the lines of "What
the heck... it's a *line* editor. How complicated can it be?". Then I
bumped into the regexp matching and replacement engine that is standard
in ed(1) implementations. You can imagine my initial horror when I
realized I was about to learn not only how to use regular expressions,
but also how they are *implemented*.

I braced myself for long reading sessions, and sat down in front of a
printed copy of the entire source code, in 8pt Courier, two pages per
sheet of A4 paper, and started reading, taking notes on the paper copy,
and filling notebooks with extra stuff that wouldn't fit in the margins.

When I returned from the Christmas break, I had gained an immense amount
of useful knowledge, not only about the C language itself but also about
many other extreely important things. I knew how to read source code; I
knew how to mentally keep track of what the source is supposed to do,
what parts link with other parts of the source; how to structure a
medium-size, working C program in a modular fashion, etc. Quite
importantly, I felt *much* *more* *confident* in my grasp of the
language.

This is still the best project in C I've *ever* done myself, and it is
something I keep doing on my own when I have to learn a new language.

Marco Antoniotti

unread,
Jun 9, 2013, 5:43:12 AM6/9/13
to
On Saturday, June 8, 2013 6:18:16 PM UTC+2, Giorgos Keramidas wrote:
> On Thu, 30 May 2013 16:27:05 -0700 (PDT), ccc31807 <cart...@gmail.com> wrote:
...
Alethia! Ena ergo stin geia sou!

MA

Pascal J. Bourguignon

unread,
Jun 9, 2013, 7:24:15 AM6/9/13
to
Is that a private joke or logophasia?


/me concerned
--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
You can take the lisper out of the lisp job, but you can't take the lisp out
of the lisper (; -- antifuchs

Barry Fishman

unread,
Jun 9, 2013, 7:51:44 AM6/9/13
to

On 2013-06-09 07:24:15 EDT, Pascal J. Bourguignon wrote:
> Marco Antoniotti <mar...@gmail.com> writes:
>> Alethia! Ena ergo stin geia sou!
>
> Is that a private joke or logophasia?

It was misspelled. It should be:

Αληθεια! Ενα εργο στην γειά σου!

or: Really! A project in hello!
--
Barry Fishman

Pascal J. Bourguignon

unread,
Jun 9, 2013, 3:57:34 PM6/9/13
to
Barry Fishman <barry_...@acm.org> writes:

> On 2013-06-09 07:24:15 EDT, Pascal J. Bourguignon wrote:
>> Marco Antoniotti <mar...@gmail.com> writes:
>>> Alethia! Ena ergo stin geia sou!
>>
>> Is that a private joke or logophasia?
>
> It was misspelled. It should be:
>
> Αληθεια! Ενα εργο στην γειά σου!

Ah ok, I understand better.

> or: Really! A project in hello!

and google too :-)

Marco Antoniotti

unread,
Jun 10, 2013, 3:00:41 AM6/10/13
to
Well, I was just being playful. :) In any case, "geia sou" means, literally, "to your health" :)

Cheers :)

MA

Giorgos Keramidas

unread,
Jun 10, 2013, 3:11:08 AM6/10/13
to
"Ένα έργο στην υγειά σου"

means something like 'a projec in your health', so it doesn't parse in
Greek, but I appreciate the effort of Marco :-)

Marco Antoniotti

unread,
Jun 10, 2013, 6:26:04 AM6/10/13
to
Ευχαριστω :)

I meant to say that that project benefitted your health :)

Geia sou!

Marco

Giorgos Keramidas

unread,
Jun 10, 2013, 7:21:35 AM6/10/13
to
Grazie anche a vuoi, Marco!

It was indeed :-)

Marco Antoniotti

unread,
Jun 10, 2013, 8:39:18 AM6/10/13
to
Close enough :)

Mia fatsa, mia ratsa! :)

Ciao

Marco

der_gavio_fhurer

unread,
Jun 10, 2013, 5:00:10 PM6/10/13
to
shemales?

Dan Lentz

unread,
Jun 10, 2013, 6:26:35 PM6/10/13
to
This was a good anecdote about the ED editor... I think the most helpful thing to me has been printing and reading common-lisp source code. I echo the author's preference for 2-up printing at 8pt font :). I would say that I've printed many many many thousands of pages of source, which I have a technique of binding to a stiff cardboard backing with polyurethane cover. Collectively these volumes line just about any horizontal surface in my office. There are many brilliant authors of common-lisp software, and I think fondly of many of these readings. I refer back to them from time to time, still, as one might refer to great poetry or literature. I think that in time you may learn to enjoy the reading of these as a really transformative learning experience.

Best of luck, and don't give up!
Dan

der_gavio_fhurer

unread,
Jun 17, 2013, 5:20:31 PM6/17/13
to
asa unix guy I love command line

Milkman

unread,
Jun 17, 2013, 6:35:52 PM6/17/13
to
Can you give some examples of projects or authors you would recommend
for this? Also, your note about the "2-up" printing? what is that?

Milk

Zach Beane

unread,
Jun 17, 2013, 7:09:29 PM6/17/13
to
I found the sources of cl-ppcre particularly interesting, because
cl-ppcre does something quite useful, it exercises many features of
Common Lisp, and it uses interesting (but understandable) techniques to
achieve high performance.

Zach


Giorgos Keramidas

unread,
Jun 18, 2013, 4:42:46 PM6/18/13
to
On Mon, 17 Jun 2013 18:35:52 -0400, Milkman <Mil...@yourdoor.com> wrote:
> On 6/10/13 6:26 PM, Dan Lentz wrote:
>> This was a good anecdote about the ED editor... I think the most
>> helpful thing to me has been printing and reading common-lisp source
>> code. I echo the author's preference for 2-up printing at 8pt font
>> :). I would say that I've printed many many many thousands of pages
>> of source, which I have a technique of binding to a stiff cardboard
>> backing with polyurethane cover. Collectively these volumes line
>> just about any horizontal surface in my office. There are many
>> brilliant authors of common-lisp software, and I think fondly of many
>> of these readings. I refer back to them from time to time, still, as
>> one might refer to great poetry or literature. I think that in time
>> you may learn to enjoy the reading of these as a really
>> transformative learning experience.
>
> Can you give some examples of projects or authors you would recommend
> for this? Also, your note about the "2-up" printing? what is that?

The "2 up" printing style refers to printing the source code in two
side-by-side columns, in a reduced font size to fit two 'printable
pages' in one physical sheet of paper, e.g.:

+---------------------------------------------------------+
| |
| 1 XXXXXXXXXXXXXXXXXXXX | 22 XXXXXXXXXXXXXXXXXXXX |
| 2 XXXXXXXXXXXXXXXXXXXX | 23 XXXXXXXXXXXXXXXXXXXX |
| 3 XXXXXXXXXXXXXXXXXXXX | 24 XXXXXXXXXXXXXXXXXXXX |
| 4 XXXXXXXXXXXXXXXXXXXX | 25 XXXXXXXXXXXXXXXXXXXX |
| 5 XXXXXXXXXXXXXXXXXXXX | 26 XXXXXXXXXXXXXXXXXXXX |
| 6 XXXXXXXXXXXXXXXXXXXX | 27 XXXXXXXXXXXXXXXXXXXX |
| 7 XXXXXXXXXXXXXXXXXXXX | 28 XXXXXXXXXXXXXXXXXXXX |
| 8 XXXXXXXXXXXXXXXXXXXX | 29 XXXXXXXXXXXXXXXXXXXX |
| 9 XXXXXXXXXXXXXXXXXXXX | 30 XXXXXXXXXXXXXXXXXXXX |
| 10 XXXXXXXXXXXXXXXXXXXX | 31 XXXXXXXXXXXXXXXXXXXX |
| 11 XXXXXXXXXXXXXXXXXXXX | 32 XXXXXXXXXXXXXXXXXXXX |
| 12 XXXXXXXXXXXXXXXXXXXX | 33 XXXXXXXXXXXXXXXXXXXX |
| 13 XXXXXXXXXXXXXXXXXXXX | 34 XXXXXXXXXXXXXXXXXXXX |
| 14 XXXXXXXXXXXXXXXXXXXX | 35 XXXXXXXXXXXXXXXXXXXX |
| 15 XXXXXXXXXXXXXXXXXXXX | 36 XXXXXXXXXXXXXXXXXXXX |
| 16 XXXXXXXXXXXXXXXXXXXX | 37 XXXXXXXXXXXXXXXXXXXX |
| 17 XXXXXXXXXXXXXXXXXXXX | 38 XXXXXXXXXXXXXXXXXXXX |
| 18 XXXXXXXXXXXXXXXXXXXX | 39 XXXXXXXXXXXXXXXXXXXX |
| 19 XXXXXXXXXXXXXXXXXXXX | 40 XXXXXXXXXXXXXXXXXXXX |
| 20 XXXXXXXXXXXXXXXXXXXX | 41 XXXXXXXXXXXXXXXXXXXX |
| 21 XXXXXXXXXXXXXXXXXXXX | 42 XXXXXXXXXXXXXXXXXXXX |
| - 1 - - 2 - |
+---------------------------------------------------------+

Many programs support this sort of printing, with the oldest one I have
used being a2ps[1]. Later I switcher to enscript[2], but there are many
many others to choose from :-)

[1] http://www.gnu.org/software/a2ps/
[2] http://www.gnu.org/software/enscript/

0 new messages