11/29/2005

More Free Love for Lisp

Christopher Roach posted another installment about learning Lisp. This time he talks about how learning functional programming via Lisp made him a better programmer:

Now, I've never used Lisp in my professional life, however, I began to notice that some of the habits I picked up while programming in Lisp were creeping into my daily programming and were actually helping me out quite bit. In functional languages, side-effects are "generally" avoided. (I say "generally" here since, to my knowledge at least, some side-effects seem to be unavoidable—such as I/O operations, for instance). For anyone new to the term, a side-effect occurs when the state of your program is changed from within a function (procedure, method...whatever). This happens quite often in normal procedural and OO programming, but in functional programming it is avoided as much as possible. After programming in Lisp for a month or two, I noticed that in my daily life I had begun to avoid side-effects in my programs whenever I found it possible to do so. This allowed me to create programs that were much easier to unit test, since all I had to do was check the function's output to know that it worked correctly. Also, since no undesired changes occurred inside of my functions, my software immediately showed a vast reduction in bugs, not too mention that purely functional code is also immediately thread safe. Being able to test each function as I wrote it, and prove that it worked correctly without exception, meant that my programs would work almost the first time I integrated everything and r

11/18/2005

Lemonodor: Short Course of Lisp

Lemonodor: Short Course of Lisp is a reference to Robert Sayre talking about Yahoo 2.0. There's 2 nuggets here, the "syllabus" for learning Lisp and a link to Greg Linden's article about Sawzall.

W3C Web APIs Working Group

Came across the W3C Web APIs Working Group page today courtesy of Screaming Penguin. It looks like the W3C is putting together a working group to document existing web client APIs and develop new ones. Things like an API for a client interface, DOM Level 3 events, timed events, client persistence, network communication, etc.

In my dream world, the output of this group would become a series of open APIs that cross-platform GUI toolkits could be built upon.

ONJava.com: Ruby the Rival

The ONJava article/interview ONJava.com: Ruby the Rival is a good read. Chris Adamson talks to Bruce Tate, James Duncan Davidson, Robert Cooper, and Bill Venners about Ruby and Rails. I liked reading the different perspectives on Ruby and Ruby on Rails and its impact on the Java world.

If someone were to prove that it simplifies web development and it makes 80% of the applications easier to write, then I would say bring it on. We can use something else for the 20%.

11/14/2005

Learn Lisp From MIT--for Free!!!

Christopher Roach has a great article about the OpenCourseWare initiative at MIT and how you can take the Structure and Interpretation of Computer Programming (SICP) course for free. His article has some great links to sites that have supporting materials for SICP.

SICP is regarded in many circles as the ultimate introduction to computer programming. I've been meaning to read the book for a couple of years now and have never made time to do it. I've heard that even if you are not interested in Lisp programming you should read SICP. Now you can not only read the book, you can take the course, listen to/watch the lectures, and take the quizes - FOR FREE!

11/02/2005

New version of LW-ADD-ONS

Edi Weitz has released a new version of his LW-ADD-ONS package. From the LW mailing list:

Let me spam the list for a moment to notify those who use LW-ADD-ONS
that I've just uploaded a new version which adds a nifty Apropos
dialog (mimicking a Lisp implementation I won't mention here) and
several new features mostly submitted by Sean Ross.

<http://weitz.de/lw-add-ons/>

Note that you need the latest and greatest CL-PPCRE (1.2.12 or higher)
for this.
LW-ADD-ONS is very nice. It adds some Slime type functionality to the LW environment and some things that are not found in Slime.

I still end up using Slime some of the time, but LW-ADD-ONS really makes working in the LW environment much more pleasant. Also, Edi's documentation search function ROCKS!!!