Why Python?

January 20, 2008 § 3 Comments

Among other programming languages, why choose Python?

Let’s go over the basics first, these traits also exist in other programming languages:

  • Python is interpreted Programming Language. It is also a high-level programming language. Therefore, just like Ruby or Perl, Python is easy to learn and easy to get up to speed on sizable projects.
  • Python is also object-oriented language. But that’s nothing new, most modern programming languages are object-oriented anyway.

Naturally, readers will ask, if Python can only do what MY programming language already can… Why do I have to learn it? Below is my reasoning why… and hopefully readers will convert to Python 😛

1. Python does not have funky sigils or special system_call functions. The only one you have to memorize is: __someDefaultMethods__ By not having too many special characters, programmers spend less time browsing documentation or mailing list on Google.

2. Python tabbed indentation actually contributes to highly readable code. Readable code helps especially when you are juggling many different projects every week, it allows you to remember quickly what you did last time.

3. Python’s power and scalability is proven not hype.

4. For Back-end Programmers, Database Designer, and System Engineers:

  • Look at Twisted[1]. It is one kick ass networking library. It supports many networking protocols that allows building web servers, email, or chat easier.
  • Look at SQLAlchemy[2][3], I never seen ORM so powerful and yet so easy to learn.

5. For Application Developers:

  • Django is a complete out-of-the-box Web Framework. Their slogan — “For Perfectionists with deadlines”
  • TurboGear is also another awesome complete Web Framework solution. But I suggest readers wait until they included SQLAlchemy as their new database stack.

6. For Javascript Developers:

  • Look at Mochikit, It is a complete javascript framework that’s very Pythonic. Mochikit is still just Javascript, but have Python’s sense of elegance.

Below are quotes from Eric Raymond on why he likes Python:

— “In Python, I was actually dealing with an exceptionally good design. Most languages have so much friction and awkwardness built into their design that you learn most of their feature set long before your misstep rate drops anywhere near zero. Python was the first general-purpose language I’d ever used that reversed this process.

— “It (Python) is compact–you can hold its entire feature set (and at least a concept index of its libraries) in your head. C is a famously compact language. Perl is notoriously not;

— “What I really wanted was code that would analyze the shape and members of the initializer, query the class definitions themselves about their members, and then adjust itself to impedance-match the two sets… …This kind of thing is called metaclass hacking… …Thirty-two lines, counting comments… …Brace yourself: this code only took me about ninety minutes to write—and it worked correctly the first time I ran it.

— “So the real punchline of the story is this: weeks and months after writing fetchmailconf, I could still read the fetchmailconf code…

Summary:

Hopefully I provided enough examples on why Python can be your next favorite programming language. Programming in Python is fun indeed.

Resources:

  1. http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions
  2. http://www.sqlalchemy.org/
  3. http://en.wikipedia.org/wiki/SQLAlchemy
  4. If you are new in Programming, this E-book can help
  5. Why use Python in Windows XP?
  6. Python Doc – String
  7. Python Doc – Common OS path manipulation
  8. If you are familiar with apt-get, Python have something similar for its modules: easy_install

What Others Said about Why Python:

Advertisements

§ 3 Responses to Why Python?

  • ericyung says:

    Great post. I am recently studying python and has same feeling on python as you.

    However, when I am really want to do some using python in my company? I find the deployment is quite an issue.

    Especially when it depends on other module / package. And it is not easy to ask our admin staff to install new package on other machine.

  • John says:

    I use python in my company (win32 and OSX) and deploy using py2exe and py2app. Most of my work uses wxPython and so far I have had no issues with roll-outs to either platform. Note that these platforms do not have python onboard.

  • […] My own opinion on Why Python “Python’s power and scalability is proven, not hype. See: Google, NASA, ILM, Phillips, Honeywell, EVEOnline, and YouTube.” Possibly related posts: (automatically generated)Python is all around – ode to pythonMonty Python and WowMonty Python Lego? […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

What’s this?

You are currently reading Why Python? at RAPD.

meta

%d bloggers like this: