Bogotobogo
contact@bogotobogo.com
Bookmark and Share



Python Home

python logo
What is Python?

Before anything else, I'd like to introduce a wonderful essay on Python by Paul Graham:

THE PYTHON PARADOX.

In a recent talk I said something that upset a lot of people: that
you could get smarter programmers to work on a Python project
than you could to work on a Java project.



I didn't mean by this that Java programmers are dumb. I meant that
Python programmers are smart. It's a lot of work to learn a new
programming language. And people don't learn Python because it will
get them a job; they learn it because they genuinely like to program
and aren't satisfied with the languages they already know.

Which makes them exactly the kind of programmers companies
should want to hire. Hence what, for lack of a better name, I'll call
the Python paradox: if a company chooses to write its software in a
comparatively esoteric language, they'll be able to hire better
programmers, because they'll attract only those who cared enough
to learn it. And for programmers the paradox is even more
pronounced: the language to learn, if you want to get a good job,
is a language that people don't learn merely to get a job.

Only a few companies have been smart enough to realize this so
far. But there is a kind of selection going on here too: they're
exactly the companies programmers would most like to work for.
Google, for example. When they advertise Java programming jobs,
they also want Python experience.



A friend of mine who knows nearly all the widely used languages
uses Python for most of his projects. He says the main reason is
that he likes the way source code looks. That may seem a frivolous
reason to choose one language over another. But it is not so
frivolous as it sounds: when you program, you spend more time
reading code than writing it. You push blobs of source code around
the way a sculptor does blobs of clay. So a language that makes
source code ugly is maddening to an exacting programmer, as clay
full of lumps would be to a sculptor.

At the mention of ugly source code, people will of course think of
Perl. But the superficial ugliness of Perl is not the sort I mean. Real
ugliness is not harsh-looking syntax, but having to build programs
out of the wrong concepts. Perl may look like a cartoon character
swearing, but there are cases where it surpasses Python
conceptually.

So far, anyway. Both languages are of course moving targets. But
they share, along with Ruby (and Icon, and Joy, and J, and Lisp,
and Smalltalk) the fact that they're created by, and used by,
people who really care about programming. And those tend to be
the ones who do it well.



NamHaiBada2