October 13, 2007

October Calgary Lisp user's group meeting.

The next meeting of the Calgary Lisp user's group will take place on Wednesday, October 17th at 6:00pm at the University of Calgary in room Social Sciences 008 (map of the campus: http://www.ucalgary.ca/map/). Warren Wilkinson will talk about building web applications using continuations. In his own words: "It's my hope that by stepping you through what I've built, I can save you months of self-study. If I succeed, you'll find building web sites without continuations will seem hopelessly backwards, like starting a fire with two sticks."

October 8, 2007

Language features don't matter.

My personal philosophy on programming (what, you don't have one?) has lately veered towards the view that programming language features are completely irrelevant. The view doesn't stop there, because I think they are completely irrelevant only when you have a language with enough meta-/reflection/self-description facilities to allow you to implement those features yourself. In my opinion, such a language has a quality I like to call "not getting in the way of what you want to do," which I think is the only nice thing to be said about programming, programming languages, and computers in general.

That being said, programming language features sure are convenient. They are most convenient when they have developed as a result of real programmer experience. I think the pinnacle of such "features derived from sweat and tears" (programmers don't often bleed) is Common Lisp. The people that contributed to X3J13 (you can find a list in the HyperSpec: http://www.lisp.org/HyperSpec/Body/chap-0a.html) include some of the best programmers of their time, and collectively represent decades if not centuries of programming experience, drawing on systems like Maclisp, InterLisp and Lisp Machine Lisp and coming from institutions like the MIT AI Lab and Xerox PARC. So I was real glad to find this page by Abhishek Reddy this morning that does a very good job of describing some of the many features that come with Common Lisp. I think it's a pretty good overview for beginners and those interested in Lisp.