answered question

answers (2)

kevinberna...
0
Votes
BEST ANSWER  decided by votes   |  kevinbernard31  |  April 04, 2009 09:26 AM
Python is used in many application domains. Here's a sampling.

* The Python Package Index hosts thousands of third party modules for Python.

Web and Internet Development

Serving the Web using Python

Serving the Web using Python

These short screencasts will walk you through the basics of several of the more popular web frameworks for Python.

* Learn Django: Create a Wiki in 20 minutes
* TurboGears 20 Minute Wiki
* Zope 3 Intro - Installing on Windows (3-min)
* Zope 3 Intro - Hello World (4-min)
* Plone CMS Authoring (3-min)
* ChefPlone Overview (2-min)
* Plone CMS Collaboration (2-min)
* Introduction to Silva (Zope) (2-min)
* Walkthru of a Twisted Webserver (16-min)

Python offers a wide range of choices for web development:

* Writing basic CGI scripts.
* Frameworks such as Django and TurboGears.
* High-end solutions such as Zope.
* Advanced content management systems such as Plone.

For custom web solutions and other internet-based applications:

* Extensive support for HTML and XML.
* E-mail processing.
* Processing RSS feeds.
* Support for many other Internet protocols.

Database Access

* Custom and ODBC interfaces to MySQL, Oracle, MS SQL Server, PostgreSQL, SybODBC, and others are available for free download.
* Standard Database API.
* Object databases such as ZODB and Durus.

Desktop GUIs

* The Tk GUI development library is included with most binary distributions for Python.
* wxWidgets
* GTK+
* Qt
* Microsoft Foundation Classes through the win32 extensions
* Delphi

Scientific and Numeric

Python is widely used in scientific and numeric computing:

* Bioinformatics
* Python course in Bioinformatics
* Physics

Education

Python is a superb language for teaching programming, both at the introductory level and for more advanced courses.

* Education Special Interest Group is a good place to start.
* pyBiblio links to many different resources.
* The Software Carpentry Course, funded by the Python Software Foundation.

Network Programming

In addition to the web and internet support described above, Python also provides support for lower level network programming:

* Easy-to-use socket interface.
* Twisted Python, a framework for asynchronous network programming.

Software Development

Development Environments for Python

Development Environments for Python

Check out these screencasts for an introduction to the capabilities of a few of the many IDEs available for Python. How many you ask? Take a look at the roster of IDEs for Python.

* Using Wing IDE Professional
* Introduction to Komodo IDE
* PyDev (Eclipse) on a Mac
* Introducing the PyDev IDE for Eclipse

Python is often used as a support language for software developers, for build control and management, testing, and in many other ways.

* SCons for build control.
* Buildbot and Apache Gump for automated continuous compilation and testing.
* Roundup or Trac for bug tracking and project management.
* Roster of Integrated Development Environments.

Game and 3D Graphics

Python is widely used in commercial and hobby game development:

* A partial list of games is on the Python Games wiki page.
* PyGame and PyKyra are two of the game frameworks available for Python.
* List of 3D rendering libraries available for Python.
* PyWeek is a semi-annual game programming contest.

Comment
pythoughts
0
Votes
pythoughts  |  June 27, 2009 06:37 AM
When building a web application, you want your code to be as clean and re-workable as possible. That's because as your web app grows, you're going to need to scale effectively, you're going to be bringing more people in to work with you, and you're almost never going to start a piece of work from scratch (like digg had to when coming out with their rework after becoming so successful).

For this, Python is best for your back-end work, because it's by far the most readable and comfortable code. It's also being featured by companies like Google as one of the best languages to use in web applications today - they supported Python first in Google App Engine. HOWEVER, good Python programmers are hard to find and are in demand, and so think about this when starting a web app - are you going to be able to find programmers, who should be better than you, to work with when your application gets bigger?

C# is certainly a bit faster than Python, which is a factor in building web apps today - however I would write C# off as being a bit outdated for building quality web apps.

Also, think about which types of languages you're comfortable with, because the web app you build will be your baby and you'll be spending a lot of time working on it in this language. You don't want to be sitting writing Perl for hours every night when you're more comfortable in Python.
tags: python
Comment

Voted "No best answer": bbrookin, hcp56,


140

ask any question

Top of Page
Buy Mahalo Dollars
WITH CREDIT CARD OR PAYPAL

Please log in to use this function.