Skip to main content

Bad Snake Joke

·2 mins

Just between you and me, I’m getting a bit bored of writing Python all the time. It’s a good language: I can write code that’s functional or OO as the case may be; it has lots of libraries; it has Twisted, which is incredibly useful; it’s not too¬†hard to make a big project and keep it clean. It’s the least awful programming language that I know of. That said, I’d like to do something different.

I would like to play with something makes static typing rock (like Haskell), or that has what Rich Hickey calls “polymorphism a la carte” (again, like Haskell, or Clojure). I would like to make something that stands a chance of feeling snappy (perhaps PyPy?), a chance to use something with richer debugging and refactoring tools, or to get a feel for doing some serious concurrency work outside of an event loop.

But mainly, I’m just bored of Python.

Also, I increasingly suspect that Python doesn’t have legs. The Python 3 language change has increased the split between the core developer community and people writing code in the field. Python continues to be slow, both with start-up time and while running. The only people who seem to care are the PyPy developers, but I doubt I’ll ever get to use it for commercial development. It’s tricky to write code in Python that takes advantage of multiple cores, and even my phone has multiple cores now.

When I get the chance, I’m going to do more with Haskell and Clojure in my spare time. I’m not sure if there is something less “fringe” that I could recommend for use at Canonical. Go is a possibility, if a slightly disappointing one (interfaces are cool, but why oh why didn’t they do typeclasses?).