Web Development – Choosing Between CL and Python

lisppythonweb-development

I'm coming from a Java background and after I read this little essay by Paul Graham I started wondering about picking up a new language namely Common Lisp to speed up my work (I'm a web developer).

I'm writing pet projects currently but I have some business plans for the future. Paul speaks about LISP in his essay as a "Secret weapon". I don't know if this statement is true after 10 years but I dipped my toes into a nice CL tutorial and it looks like that LISP may be superior for web development.

Paul also mentions Python as a nice choice which I actually familiar with. My question is: which one should I choose for my future web projects?

What I was thinking about:

  • I'm not going to develop desktop applications so I can choose whatever language I prefer.
  • python seems to have a very large community thus a mutch more libraries / frameworks compared to lisp
  • I found out that lisp has some functionality (like macros) which cannot be found anywhere else
  • I mostly work alone or with 1-2 other programmers but finding someone with lisp knowledge can be hard

So what do you think?

Best Answer

You are coming from Java background, so why not checking Clojure programming language?
It is a modern Lisp dialect that lives on the JVM, so you have access to tons of JARs out there.

While you aren't going to find polished and production ready web frameworks like Django and Rails in Clojure universe (at least right now), but programmers are using Noir and Compojure web frameworks.
You can also deploy your Clojure web apps on Heroku platform.

Clojure is highly rewarding but the learning curve is really steep. Are you ready to learn functional programming (assuming you aren't familiar)? to live out side the OOP world?

Python is the safe side: it is mature, tons of books, many web frameworks, huge knowledge pool and easy to learn.

So the decision is really yours.

Related Topic