I will I guess try trouetskys gentle intro or the gigamonkeys book,
but the gigamonkeys boks kinda scares me because it uses franz inc.'s
stuff. I love free software.
> I will I guess try trouetskys gentle intro or the gigamonkeys book,
> but the gigamonkeys boks kinda scares me because it uses franz inc.'s
> stuff. I love free software.
The examples from the gigamonkeys book work perfectly fine with a free
Lisp like SBCL or Clisp: the Franz stuff is only mentioned to avoid you
having to install a Lisp of your own to get started at a REPL.
If you can get a hold of David Lamkins' "Successful Lisp" I'd *highly*
recommend it. "Practical Common Lisp" is excellent, but it was much
easier to follow after reading Lamkins' book.
Cheers,
Danny.
> do you use lisp for web at all?
Not really. I've tinkered a little with Hunchentoot, but when it comes
to the web I've yet to find something that matches Seaside (a web
framework written in Smalltalk).
Cheers,
Danny.
>> Not really. �I've tinkered a little with Hunchentoot, but when it comes
>> to the web I've yet to find something that matches Seaside (a web
>> framework written in Smalltalk).
>>
>> Cheers,
>> Danny.
>
> I have heard of it. Why is it nice?
It effectively allows you to write a web application in a manner that
feels more like a desktop application. You don't need to worry about
the request/response cycle, or fetch parameters from query strings
(parameters are associated with blocks (roughly synonymous with lambda
functions) that are invoked with field values when a form is submitted).
The objects you need can be live and complex, without needing to store
them in a session object between requests.
It's particularly nice with the GemStone object database, is
available as a VMWare appliance (through
http://seaside.gemstone.com/downloads.html), and is free provided your
database doesn't grow above 2GB, IIRC.
But that's enough Smalltalk advocation: this is a Lisp forum :-)
Cheers,
Danny.
Gavino, I had the same experience three years ago. ANSI CL was the
first Lisp book I bought, and it's ABSOLUTELY NOT (!!!) written for
self instruction. I put it away for three years, and only last week
started to work through it again. Now, I have a very high opinion of
ANSI CL -- it's actually a good book with lot's of good explanations
and a good exploration of Common Lisp.
My approach was to read as many Lisp books as I could. Here is my
opinion based on my experience:
BOOKS I'VE READ
Wilensky, Common LISPCraft - Old and cranky, but possibly the best
self-tutorial. Make sure you get the solutions manual.
Winston and Horn, Lisp - Also a good self tutorial. The answers to the
exercises are included in the book.
Seibel, Practical CL - I don't really think that this is a good
introduction for a complete novice. As a second book after an
introduction it's very good at showing how Lisp can be used for
writing real software.
Graham, ANSI CL - Not for beginners, but really does fill in the gaps
for someone who already knows Lisp. I think it's as 'practical' as
Seibel, if not more so, but it's not as user friendly as Seibel.
Keene, OO Programming in CL - An illuminating book on OO
programming ... I've read the first three chapters three times with
worthwhile results each time, and I'd recommend it for programming in
any language.
Lamkins, Successful CL - I purchase this and read through it, but I
can't say it did me any good. This isn't to say it's not a good book,
just that I didn't connect.
OTHERS
Norvig, Paradigms of AI - Some say that this is in the very top
category of computer boo. I'll eventually get around to it.
Barski, Land of Lisp - Not yet published, although 'Casting SPELS' is
available online. I am impressed by it and look forward to reading it.
Levine, Lisp Outside the Box - Not published yet, but eight chapters
are available in draft. I think this will be a good book in the
typical O'Reilly fashion, which is to say tough sledding for the
novice but good for the apprentice Lisper.
Miller, Lisp: Style and Design - It doesn't seem to be available at
all, but from its reputation a profitable book to study.
Best advice: write an hour of Lisp every day. Hope this helps.
CC.
I am quite surprised by this. I found ANSI CL extremely good for
learning, provided you are very careful and don't skip any word of it.
It follows a very rigorous sequence, everything is first explained and
then used (PCL, on the other side, has some forward references in the
initial chapters which I found a bit confusing at that time). But since
ANSI CL is a slim book and nothing is repeated, it is easy to overlook
details and get lost. I studied it with an highlighter in hand, marking
the symbol names where they were first introduced, and I liked the result.
On the other side, if one prefers the "huge and redundant" approach,
Wrox-like, then ANSI CL is definitely not recommended.
Anyway, I suggest the following sequence, which worked for me:
Touretzky -> Graham(ACL) -> Seibel.
After that: Graham(OnLisp) for macros; Keene for CLOS.
The first sentence in chapter 2 reads as follows: "This chapter aims
to get you programming as soon as possible." It then immediately
refers to something called 'toplevel'. What is 'toplevel'? Where does
it come from? How do you access it? If you come from the Java
environment, you download the SDK and minimally write, compile, and
run your programs on the command line. If you come from the .NET
environment, you write, compile, and run your programs in the IDE. If
you come from the C/C++ environment and use the gcc or similar, you
write, compile, and run your programs from the command line. Graham
assumes that the reader has Lisp up and running and has the
interactive environment in hand, a spectacularly bad (and stupid)
assumption for a person entirely ignorant about Lisp.
Several pages later on, he mentions something about depending on your
Lisp implementation without bothering to explain it.
The teacher needs to do a certain amount of hand holding for the
beginner, and Graham doesn't do this. In my case, after searching the
internet, I was able to get and install clisp, and run it from the
command line (same way I learned Java and C and Perl). Have you ever
tried to write Lisp in a command line environment (using edit for
example on Windows or gedit on Linux)? I spent most of my time
counting and matching parentheses before giving up in disgust.
As good a book as ANSI CL is, and I agree that it is a good book, it's
not for the complete beginner who doesn't have a clue that he must
find, download, and install, and become familiar with a Lisp
environment before he can get started.
CC.
It seems to me, instead, that *you* are assuming that a up-and-running
environment is necessary for any learning. And I agree that if one is
looking for an interactive approach, and for writing software in the
practical sense, ACL does not suit.
But I studied ACL like one can study any other formal topic, and I liked
it. In fact I read it all on the beach, without any computer in sight. I
loved lisp way before I learned how to install an implementation, how to
throw the correct curse to ASDF, etc.
The "toplevel": it was pretty obvious from the text that it is the place
where you type things and you get the results, that is a CLI. Maybe this
concept did not sound strange to me at all because I used to type "LET
A=1" in my commodore 64, way before I even knew what a compiler was. :-)
True, I did not have a clue for some time on why the "toplevel" was
called this way, but I did not find it a serious problem. After all, I
am not so sure of the reason even now...
Different textbooks for different backgrounds / learning styles, it seems.
g
I'd be astonished if there didn't exist at least three such frameworks for
Smalltalk.
> the request/response cycle, or fetch parameters from query strings
> (parameters are associated with blocks (roughly synonymous with lambda
> functions) that are invoked with field values when a form is submitted).
> The objects you need can be live and complex, without needing to store
> them in a session object between requests.
Hunchentoot exposes these things because, it's not a web application
framework but a media server.
Hunchentoot is the thing if you want a small, tight web server in your app,
with a lot of low-level control over the interaction with the client.
Grapefruits, oranges.
> Hunchentoot is the thing if you want a small, tight web server in your app,
> with a lot of low-level control over the interaction with the client.
>
> Grapefruits, oranges.
Indeed, and I'm neither comparing Hunchentoot to Seaside nor suggesting
that one is universally better than the other. As you point out, they
are entirely diffrent beasts, and in my case, my programming background
and freedom to choose lead me to personally favour Seaside.
Cheers,
Danny.
If you read *carefully* you'd realize that it is explained, this is
what the beginning of chapter 2 of ACL *really* says:
"It is particularly true of Lisp that you learn it by using it,
because Lisp is an
*interactive* language. Any Lisp system will include an *interactive*
front-end
called the toplevel. You type Lisp expressions into the toplevel, and
the
system displays their values".
ACL is a very good book. It's just not for absolute beginners. My
learning started with books of Lamkins, Touretzky and Graham
simultaneously.
Heh, that was exactly my experience with the resources available before
PCL: a great feeling of 'why is everyone going on about how great this
primitive POS is?' Then I read PCL, and it all clicked.
--
Robert A. Uhl
Democracy consists of choosing your dictators, after they've told you what
you think it is you want to hear. --Alan Coren
Hi all,
I am a long-time reader, occasional poster. I was wondering if any of
you had seem this account [1] of a guy who decided to write his web-
app in Common Lisp and what you thought of his critique of Common
Lisp.
-deech
[1] http://blog.postabon.com/why-i-chose-common-lisp-over-python-ruby-and
UnCommon Web (UCW) started life as almost a direct port of Seaside to
CL. It has diverged somewhat, but i still keep abreast of what's going
on in the seaside world.
Give it a try if you like Seaside, you will not be dissapointed.
Cheers,
drewc
>
> Cheers,
> Danny.
I think he is correct. Not sure about "the high barrier to entry" though.
Sure it might be hard to get through warts of implementation and to
pick libraries which actually work, but it is probably a matter of luck.
I don't think that there is something in Common Lisp itself which
makes it particularly hard.
thanks!
I have a copy of winston+horn.
I found lamkins online.
I might also read touretsky gentle intro.
will keep this list of books on my blog
I would say I am always ok until mid chapter 2 about p23, then there
is a mass of seemingly undefined terms, that grow so much so that by
ch3 my head hurts.
The explanation of and and or I guess is assumed to be memorized, for
example.
The set setf stuff also gets boggling.
core server, cl-weblocks, teepeedee2 ?
ah yes, cool, it is still maintained?
I am also curious about happstack.com or www.prevayler.org, the in
memory idea with log of each change, for massive speed? not sure if cl-
prevalence was ever given a go..or if ti is maintained?
> Danny Woods <danny...@yahoo.co.uk> writes:
>
>> Not really. I've tinkered a little with Hunchentoot, but when it comes
>> to the web I've yet to find something that matches Seaside (a web
>> framework written in Smalltalk).
>
> UnCommon Web (UCW) started life as almost a direct port of Seaside to
> CL. It has diverged somewhat, but i still keep abreast of what's going
> on in the seaside world.
>
> Give it a try if you like Seaside, you will not be dissapointed.
Thanks for the tip, Drew. I've never seen UCW before, but I'll
certainly try it out.
Cheers,
Danny.
is UCW maintained still?