Python is a dynamic, object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of better code.

Journal Entries

No entries yet. Link your entries with 'python' to include this project.


Ratings & Reviews

Community Rating
4.8/5.0

Based on 245 user ratings.

Your Rating

Click to rate this project.

about 1 year ago Avatar
Mature, Good OO

    by darrint

Python is an excellent language for getting all kinds of work done. For OO programmers it offers a dynamic object model.

It's not difficult to find good reviews of Python on the Internet, so I'll focus on it's weaknesses.

Out-of-the box Python lacks popular high-level concurrency support. There is no high level interprocess communication library, no lightweight processes, no transactional memory etc.

To address this one ... [More] can either "roll-their-own" or look into Twisted or Stackless Python. In the case of Twisted one must commit to an "unnatural" programming model. Stackless requires recompiling python.

One this commitment is made there are significant communities behind both projects, however, these communities are tiny in comparison to the mainstream python community.

Python also lacks a macro or similar facility. The official position of the Python maintainer is that python will never had such a facility.

Python also lacks out of the box support for "freezing" apps into bundles which can be run on machines lacking an os provided python interpreter, or an older version of one than desired. Assembling these bundles for the big three major desktop operating systems, Windows, OS X, and Linux, requires tracking down a lot of software all over the web and doing a lot of scripting if the app in questions is non-trivial.

Currently, popular python libraries for doing this are py2exe for Windows, py2app for OS X, and cx_freeze for Posix.

Buildbot (a twisted application, see above) is popular for running build farms and automating testing and app bundle building.

Despite these flaws, python is an practical language for getting work done in a timely manner and having a maintainable codebase when finished.
[Less]

11 of 11 users found the following review helpful. Was this review helpful to you? |

about 1 year ago Avatar
Python is great!

  by ThomasWaldmann

Python is the best general-purpose programming language I ever used (having studied CS and being a geek, I used or looked at quite a lot of them in the last 25 years).

It is new enough to be well-designed and high-level.
It is mature enough to be very useful and well-behaved.

Coding in Python is easy, fun and going fast.

You can easily read code (no matter if it is your own code or code of someone else), because it ... [More] is high-level and clean.

You can easily write code. The code volume you need to get something done is usually much less than in other programming languages (and this is not just about typing stuff, having less code means also less bugs, less maintenance costs).

Often you don't have to write code, as it comes with a good standard library that contains lots of useful and easy to re-use code. There are also lots of python modules available on the internet.

You can easily debug code. You can try code in the interactive interpreter. No need to compile the code, just run it.

There are great IDEs for Python, e.g. Eclipse/PyDev or Eric (plus many others I didn't use yet).

You can easily get platform-independent code (runs on Linux, Mac, Win32 and many others).

If you have questions, there is a big community of python coders (web sites, irc channels, mailing lists, news groups, user groups).
[Less]

9 of 10 users found the following review helpful. Was this review helpful to you? |

Links

4 links submitted so far. Submit your own links.

News

Edit RSS feeds.

    Python 2.6beta1 and 3.0beta1 released

    The first beta release of Python 2.6 and the first beta release of Python 3.0 are now available.

    SciPy 2008 - Conference for Scientific Computing

    The 7th annual SciPy Conference The early registration deadline is July 11, 2007. The Conference will be held at Caltech in Pasadena, California the week of August 19-24. See the Call for Papers if you'd like to present.

    EuroPython 2008 Registration is Open

    EuroPython 2008 registration is now open. A generous discount is available for early registrations until 31st May. Visit the registration page for further information!

    Python 2.6alpha3 and 3.0alpha5 released

    The third alpha release of Python 2.6 and the fifth alpha release of Python 3.0 are now available.

    PyCon FR May 17/18 in Paris

    PyCon FR, the French national Python conference, takes place at the Cite des sciences et de la Villette on May 17 and 18

Read all Python programming language articles…


Who uses Python programming language?

Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32

Who contributes to Python programming language?

Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32 Anon32
I'm a contributor

Where in the world?




People who use Python programming language also use:

WavPack, Django, Trac, SQLAlchemy, SQLite, Zope, IPython, Twisted, Zope 3, Vim, Pylons, mod_python


Project Cost

This calculator estimates how much it would cost to hire a team to write this project from scratch. More »
Include
Codebase 1,522,055
Effort (est.) 439 Person Years
Avg. Salary $ year
$ 24,127,934