Brett Rants

Python is the Perfect Programming Paradigm

Everything Else Sucks


To be fair, everything else doesn't actually suck, not in any objective sense, but for me it does (as a time suck, if nothing else).

To put it all in perspective, I learned to program with JavaScript.

From there, I tried a bunch of languages, including Python, but also some of the more esoteric ones: SmallTalk, Lisp, and a bit of Haskell. And in truth, there's nothing wrong with any of these... other than the fact that they suck (or more specifically, aren't Python).

OK. Sure, I'm just trying to get a rise out of the non-believers in the audience, of which there are many, and as it should be. So, let me state my case more, objectively.
And, maybe I could go on, but really, that's the important stuff.

Python is massive. It really is.
So, what was I saying?
Oh, right. Python is massive, so massive that there's almost no point in ever exiting the ecosystem.
Um, those really are the two big weaknesses of Python in my opinion. I suppose one could argue something about an operating system deficiency (unlike, say, Emacs/Lisp, which can take over one's world). But I'm going to go out on a limb and say I'm simply not aware of that OS System library, because I don't care about such things; and so, have never looked for it.

Anyhow, random rant aside. The real gist of this post is as a sort of self reminder. Oh, I like looking at other languages, the grass is always greener, maybe I should learn PHP...

But, no. No! Stop. No, you shouldn't. No, I shouldn't.

Money, power, efficiency, potential is built upon knowing one or two things extremely, overwhelmingly, awesomely well. Knowing how to say 'Hello World!' in 25 different languages is worthless. Knowing how to say 'Hello World!' on somebody else's computer after hacking through their firewall. Well, there's money in that. And that takes skill. As does a mastery of any number of secondary libraries (pandas, nltk, twisted, networkx, ete2, and on and on), which confer different skill bases and tool sets.

Of course, if you can hack it, I've heard great things about Lisp. With emacs, it really is a world unto itself. And I mention it again at this point, as it probably is the ONLY other language with an ecosystem half as large as Python (that isn't hampered by a syntax that's not insanely verbose, such as C, Java, and it's derivatives).

Me, I'm not smart enough for Lisp (or simply became interested in computers after the glory days of Lisp had come one gone). But if I was. Heck, I'd be hacking this out in emacs, post that sucker on line without leaving the framework, and have my coffee pot set to brew the next cup when I hit C-X-C. Yeah, I have every confidence there is a Lisp guy out there that does just that.

But he's not me.
For me, there's Python.

And while the rest of the world is off learning Go, Closure, or whatever the cool language is at the moment, I'll be studying another library, tokenizing ['Hello', 'World', '!']; and when they all say, learn a functional language (or more likely logical programming in this next go round), well, I've have been there, done that, and realize the whole exercise can be re-framed as give up for/next loops for a week and make all your variables immutable (or for logical, I'm thinking, 'give trees a chance). But whatever, the experience with the language, as such, doesn't really matter. It's the exercise in thinking a certain way that matters: the sort of thinking that makes you a better programmer (i.e. a better Python programmer).

So, you see, there really is no reason to leave the Python Language Ecosystem for, well, any reason... any more than you're going to convince that Lisp guy to close Emacs, step outside, and smell the roses.

Just saying.


next Brett Rants entry


Home Brett Rants Index


Eh, maybe not the rant you wanted. But trust me, it's the rant you deserved.


copyright 2015 Brett Paufler
Brett@Paufler.net