On Python, Clojure, and PHP

Bryan Lott published on
3 min, 523 words

So, I sort of fell into programming. When I was a kid, I learned QBasic because it was the only way I knew how to put games on my computer. At that point, my father wouldn't buy or install games on the 286 we had, so I had to do it myself.

Fast forward about 20 years and I find my first job as a data analyst. Needing to automate some trivial tasks, I turn to VBScript. Looks like the same syntax I'm used to and, hey, look! I can do things!

From there I learned SQL (specifically, Oracle flavored) and fell into a role as a sysadmin. Again, needing to automate things, I found Python. Que the angelic trumpets, harps, golden rays of light, etc. I can honestly say I've never been as productive as I am with python. For whatever reason, it clicks with my brain and whatever I conceive in my head just flows out into code. It's a beautiful thing (the code may not be, but the translation is effortless).

So one day, I'm having an issue with concurrency and Python (clearly, not one of it's strong points). I start googling for a better language for concurrency and I run into a fantastic blog post about Six Languages to Master (archive link). One of those languages is Clojure, well known to be fantastic for concurrency, it's also a Functional language which is a new paradigm for me.

Six weeks later, I finally have the "aha!" moment with Clojure, the parentheses fall away, and I can see the matrix. Can't find a job programming in Clojure, but it's definitely made me a better Python programmer.

A few months after that, and I find myself working for the best company I've ever worked for hands down. They ask me to learn PHP. "Okay... this'll be easy, I learned Clojure for godsake!" W.T.F. (periods for emphasis) Seriously? WTF?! Oh, and while we're at it... OMGWTFBBQ?!

What a "language."

While I won't extol its virtues or faults here, one thing I can say is:

"Web devs? My hat's off to you. You've managed to build some amazing websites, technologies, and make huge leaps forward. I just wish you didn't have to deal with such a mess of a language to do it."

Of course, the obvious question is, what if you didn't have to deal with such a mess of a language (javascript doesn't count, it's almost as bad)? What things could you build if you didn't have to constantly fight the language, memorize what parts are case sensitive and which aren't, have to look up equality and truthiness every time you wanted to compare something?

Maybe it's the complexity inherent in building a high-availability, concurrent, fault-tolerant system, but you would have thought that someone, at some point, would have come up with a better language that's at least as productive as PHP so you have one less thing to worry about!

You web devs need something better and I have NO idea what it might be.