On the advantages of Lisp

Lisp is a programmable programming-language. It has several high-level features which many “modern” or “contemporary” languages do not. Among its features are –

* the now very common garbage collection
* language level extensibility
* true support for macros
* the now somewhat popular dynamic typing
* a special condition system (exception-handing on steriods)
* true multi-paradigm programming support
* the somewhat common lexical closures
* more

More than the features themselves though, Lisp truly encourages bottom-up programming. Finally, the programmer can build up the language to meet with the problem domain, rather than try to express the solution (broken down, using a top-down approach) in a clunky syntax which has nothing to do with the actual solution or the domain. In other words, domain specific languages (DSLs) become easy – in fact, they are a very common way of solving problems with Lisp. This is good. Even domain experts (non-programmers) can be directly involved in the “coding” using the domain-specific-language. More importantly, small changes lower in the stack can significantly improve and expand the functionality available towards the upper part of the stack (which is the DSL) – which is also where the problem at hand, is actually addressed.

Finally, even if one doesn’t actually program in Lisp at their day jobs, it changes the mental models significantly enough to make one a better programmer for the rest of one’s programming life.

3 thoughts on “On the advantages of Lisp

  1. Hey terrific website! Does running a blog such as this take a lot of work?
    I have absolutely no knowledge of programming however I was hoping to start my own blog in the near
    future. Anyway, should you have any suggestions or tips for
    new blog owners please share. I know this is off topic nevertheless I just wanted to ask.
    Kudos!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s