C++ or Python

Dan Stromberg dstromberglists at gmail.com
Sat Jun 28 23:54:53 EDT 2008


On Fri, 27 Jun 2008 15:22:26 -0700, Kurda Yon wrote:

> I would like to know what are advantages of Python in comparison with C
> ++? In which cases and why Python can be a better tool than C++?
> 
> Thank you!

Python's automatic tracebacks on errors facilitate debugging very nicely.

Python doesn't have much in the way of stray pointer references or out of 
bounds array references (you'd pretty much have to use a poorly-written 
extension module to get them), making development in and maintenance of 
python code much less expensive in human time.

Python has garbage collection, which means you don't need to worry much 
about memory leaks.

Python isn't just another curly brace language - it reads more like the 
pseudocode you'd see scribbled on a white board, perhaps than any other 
language.

Python's a very dynamic language - so there are things where C++ would 
catch errors for you that Python wouldn't.  However, this also means that 
you don't spend time declaring variables over and over in Python.  Also, 
things like passing a method as a function parameter is a no-brainer 
(requires extra syntax in java because of the cautious type system - not 
sure about C++).  Python's dynamicity also means that you don't need a 
clunky mechanism like templates or have to use inheritance just to get 
type parameters.

In python, everything is an object.  Not everything has methods, but 
everything can be stuck into a variable - modules, pieces of code, 
whatever.  Just try to stick an arbitrary header file's expansion into a 
variable in C++.




More information about the Python-list mailing list