No subject

Roy Smith roy at panix.com
Fri Jul 1 15:20:17 EDT 2005


Skip Montanaro  <skip at pobox.com> wrote:
>    Adriaan> - strong type checking
>
>Python has strong type checking, it's just dynamic.  Writing proper test
>cases (which you should be doing anyway) will catch most issues.

Not to mention that it's almost farcical for a language which supports
reinterpret_cast<>() (let alone C-style casts) to claim to have strong
type checking.  Or for that matter, data hiding.  "I promise to
protect you from yourself, unless you ask me nicely to let you do
whatever you want".

>    Adriaan> - more available libraries and more advanced developement tools.
>
>C++ has had a lot longer history of being a mainstream language and has had
>the resources of quite a few major corporations behind it, so I would be
>surprised if there weren't more libraries and advanced development tools
>available.  I suspect the complexity of C++ sort of demands more
>sophisticated tools.

Yes, and no.  Both languages need good text editors and source control
systems, but I suppose those aren't really language-specific (except
in the weakest sense that there are language-aware text editors).
But, let's look at the real language-specific tools my company uses
with C++.

We've got performance analysis tools that do run-time profiling
(i.e. how much time is spent in each function).  So does Python.  For
big projects, it's pretty near essential for either language.

We've got code coveage tools.  This is a testing tool.  You keep
running tests and it keeps track of which lines of code are executed
(i.e. which logic branches are taken).  One theory of testing says you
should keep writing test cases until you've exercised every branch.  I
don't see any reason such a tool wouldn't be useful in a big Python
project, but I'm not aware of any.

We've got memory leak and corruption detection tools.  This is one
catagory of tool which is absolutely essential on a big C++ project
and makes no sense at all for a Python project.

We've got core dump analysis tools.  These are really handy for
telling us where we screwed up when we tried to use the memory
corruption detection tools :-)  Again, no parallel in the Python
world.



More information about the Python-list mailing list