Why do you use python?

Simon Forman sajmikins at gmail.com
Thu Nov 5 18:48:35 EST 2009


On Sat, Oct 31, 2009 at 2:11 AM, sk <catchyouraakash at gmail.com> wrote:
> What would be your answer if this question is asked to you in an
> interview?
>
> a modified version might be:
> "Where would you use python over C/C++/Java?"
>
> (because my resume says I know C/C++/Java)?


Mark Miller has some adages posted on his homepage. [1]  One of my
favorites is this:

"A Computer's Perspective on Moore's Law:
Humans are getting more expensive at an exponential rate."

Python saves you human-time.

Python allows you to write software that runs, is readable, can be
maintained and modified easily, etc...  far better than any other
language I've ever used.

You can write working code, and read and understand already-written
code /faster/ in Python than any other language I've ever used.


Use Python.  I would use C (to write Python extensions) only where
profiling had shown a definite hotspot, and then only when there were
no better algorithmic choices available.  I would never use C++ or
Java.


(N.B. I've managed to be gainfully, and blissfully, employed
programming in Python for about six years now.  I've passed on
otherwise interesting jobs because the folks involved were using
something other than Python.)

I'm actually working at a startup at the moment that originally hired
me to "do python" and then decided to use PHP because more of the team
(two out of three) knew it and didn't know python.  I figured "what
the heck, it's been awhile, and it will look good on my resume" so I
have stuck with them.

PHP isn't as horrible as I remembered, but it's still horrible.
/Everything/ is horrible compared to Python.  WTF is wrong with
people?  (Disclaimer: Smalltalk and LISP are not horrible... *grin*)

Anyway, I wouldn't say all that in an interview, heh, but that's my $0.02.

My strong advice to you or any programmer is, don't bother
interviewing with a company that's not already committed to using
Python as their main language (modulo extraordinary circumstances.)

[1] http://www.caplet.com/adages.html



More information about the Python-list mailing list