John Topley’s Weblog

Learning Lisp

The title of this post is misleading because I’m not actually learning the programming language Lisp. Not directly, anyway. I have come across some of the more exotic and esoteric aspects of programming during the past year or so, some of which originated in Lisp. For example, discovering closures and using functions as first class data types in JavaScript. The reason I mention Lisp is that defmacro has written a really great article that goes some way to explaining Lisp in terms of familiar ideas.

Once you have a few programming languages under your belt, it’s easy to get into thinking that they’re all basically the same and that all you need to do to pick up a new language it to master its syntax. That’s not true at all though and sometimes you come across things in a new language that completely alter your computing world-view. For example, did you know that methods in Ruby can return multiple values? Coming from Java I find that quite odd! At the moment—and like many other people—I’m learning Ruby because that’s what Rails is on and I definitely feel like I’m only just scratching the surface of it. However, I already like Ruby’s terseness. Part of my frustration with Java comes from its verbosity and part of that comes from the design of the platform itself. It may use all the correct design patterns but sometimes all you want to do is open a file and read its contents quickly and easily.

The idea that there could be a winner in a World Cup of programming languages had fundamentally not occurred to me until I read Paul Graham, who is perhaps the most famous advocate of Lisp. That the winner should be a language that not only shares its name with a speech impediment, but that is also so old is doubly fascinating.

I would like to learn Lisp purely for academic pleasure if I ever found myself with lots of leisure time, but I wonder whether all roads in programming ultimately lead to Lisp anyway? I suspect they do if you keep travelling.

Comments

There aren’t any comments on this post. Comments are closed.

Once you have a few programming languages under your belt, it’s easy to get into thinking that they’re all basically the same and that all you need to do to pick up a new language it to master its syntax


Archives

  • Jan
  • Feb
  • Mar
  • Apr
  • May
  • Jun
  • Jul
  • Aug
  • Sep
  • Oct
  • Nov
  • Dec
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012

More Archives


Sign In