Why Python?

python-programming-languagePython is by no means a new language – if it were a human it’d be old enough to legally drink. But over the last few years there has been a huge amount of buzz surrounding this high-level programming language. Websites and message boards across the Internet are littered with tips, questions and anecdotes from people who are learning, or already have learned, the language.

But why Python?

I asked this exact question when I was given the opportunity to visit the Quantopian office in downtown Boston. While I was having a discussion about the company’s practices and methodologies with its co-founder and CTO, Jean Bredeche, he noted that it had been a fairly simple decision for his company to build their tools using Python. I asked “why?”

In the video below, Bredeche explains his reasoning behind using Python to build his start-up’s algorithmic trading platform.

What do you think about Bredeche’s answer? Is Python as readable and easy to learn as it is made out to be, or is it just a buzzworthy trend that will fade into obscurity in the next few years? I’d love to hear everyone’s opinion, as well as more explanations as to why you chose to (or not to) use Python at your own company. 

See also:



  1. Why I <3 Python:
    1. It's clean. No frills, no curves.
    2. "batteries included". Most simple and complicated tasks are available in standard library.
    3. Easy to read. With only beginner knowledge, anyone can read a decent piece of code written in Python.

    • I really have only heard good things about it. Obviously there are people out there who will pick it apart just do to so, but it’s refreshing to have a language that (almost) everyone grokks.

      Thanks for the comment.

    • Alex Heyden says:

      “Batteries included” is the one thing I really disagree with that Python claims. It’s standard library is nothing compared to Java or .NET (Do you *actually* use urllib2? Do you need a tree structure?), and the documentation is…well, it’s better than most languages’, but that doesn’t make it good. The other notable missing piece is a good way to get the libraries you need. Easy_install is anything but easy unless the egg is flawless, and setting up pip is nontrivial.

  2. Iv’e been a pythonista for ~ 10 years. It’s what I taught myself how to be a programmer on and it’s a great language. Having said that for building services and large programs I no longer think it’s the best choice. The lack of typing and fluidity had bitten me too many times. I have donned the hair shirt and now consider haskell to be the best choice for me for this kind of thing.

    • With all of the languages we’ve covered on this blog, I don’t think we’ve ever done a post about Haskell. I’m not sure why. We’ll have to do something in the near future.

      Thanks for the comment!

    • I am leaning towards learning Ocaml for the same reasons, having a cloud python fork run for hours costing me money, but then fail at the last second gets old fast.

  3. My background is real-time embedded development using languages like Ada, Occam and Jovial, plus market data stuff in Pascal. Since moving sideways into testing, I still like to do a bit of coding when there’s something that’s a pain in the arse to do repeatedly manually.

    I’ve dabbled in Visual Basic and in Java and had some training in C++ (didn’t like it, never used).

    I started using Python about 3 years ago just to script something simple and got hooked.

    Indentation based scope, which I first saw with Occam, is just fantastic.

    While I use soapUI for one-offs, I don’t use it for complex stuff because (last I checked), Python isn’t supported, and I couldn’t see Groovy being much use elsewhere and there seemed to be a steep learning curve. Pretty sure I’d have bought the pro version by now if I could script in Python (hint!).

    I’d choose tools based on support for Python. Certainly that was key in recommending Squish from Froglogic for some UI based testing to my boss.

  4. Python has great value when you are developing ERP.

  5. Goran Begic says:

    Very nice post Ben, keep them coming. Really interested in learning all answers to why questions.

  6. The problem is , even thought I love and recommend python as a programming language, that same arguments you can use in favor of python you can use for other programming languages too. In the end Python is favored mostly because of its popularity.

Speak Your Mind