Tuesday, February 07, 2006

Why write Lisp ?

When I can write Python instead ?

Because I am trying to adapt an existing piece of software which was written in Lisp. Well, Common Lisp actually, but hey, I have no problem with commoners, some of my best ...

Jokes aside - how many different dialects are there ? I seem to be entering a world where they take the "programmable programming language" bit seriously. Which is A Good Thing to my (wee) mind.

I also seem to be taking the first steps along a path which had a notice at the start saying "Senior Programmers particularly welcome". I didn't notice such a sign when I dived in from Google, but having been through three or four WWW sites, I'm glad I do know a few languages.

Ok, ok, caveats galore, and I have been choosing which links to follow (anyone whose first "I'll read that tonight"-site is here is not expecting to be talked down to !), but today I deliberately looked for lisp-newbie sites, and they are still talking to me as if I had a brain. And "while that might not mean jack-shit to you, it means a helluva lot to me"

I particularly liked "Hello World" according to Daniel Barlow:
  • It's pointless
  • Here it is anyway
  • Here's why it's pointless
  • "Happy? We won't be returning here."
and his general assumption that I am perfectly capable of making up my own mind. (In general, one of the more "helpfuel" sites I've seen today.)

The most recent new language for me was Python, before that Java, ... and they both have their good reasons for assuming very little about readers in their tutorial pages:
  • Python is a particularly good teaching language (lack of syntactic sugar, higher level constructs more easily available, easier to just try stuff)
  • Java is aimed low (market share seems to have been a consideration in design of the language)
so it was not a suprise that one has to wade through a lot of "an integer is a number..." stuff on the way to finding the good stuff.

All the more surprising for me then that such 101 stuff is either absent from Lisp tutorial pages, or so easily avoided that I didn't even notice it.

So, my lisping days have started, and I seem to have found good company already, Common Lisp is installed, I have the source I want to adapt, and I might even get it to run from within Python, this might be a fun trip...

=========

PS: is it possible to Google for stuff about "lisp" without turning up Paul Graham's site ?

4 Comments:

Anonymous Anonymous said...

Which compiler are you using?

I use CMUCL at work. If you can afford it, ACL is an awesome compiler (but it is outrageously expensive). LispWorks is probably the best value of the comercial environments. SBCL is good if you want to hack the compiler itself.

Have fun lisping!

11:31 p.m.  
Blogger Alan said...

I'm using GNU CLISP because it was easy (part of the standard Mandrake distro). All I need now is to get Copycat running and make some minor changes to it, so that should suffice.

Even if it were (more) serious programming I doubt that I would pay money for a compiler/environment until there was some very good reason to do so: Apart from Delphi I've never paid (nor asked my boss to pay) for an IDE, and remain a convinced "vi & a compiler" coder.

3:01 p.m.  
Blogger Richard Cook said...

What are you planning to do with copycat?

3:57 p.m.  
Blogger Alan said...

Long term: I plan to earn an MSc by investigating whether the (apparent) way I write programs can be automated:

Copycat does: "abc":"xyz"::"abd":?

I plan to try:
"((1,2),True)":"x < y" :: "((1,0),True)":?

i.e. given a (test data -> source code) production, and a new test, can a (copycat based) machine write code which passes the new test, by analogy with the original production

Short term: I plan to get Mitchell's code running on this PC.

4:17 p.m.  

Post a Comment

<< Home