renting at astron.nl
Fri Jul 1 15:38:43 CEST 2005
Adriaan Renting | Email: renting at astron.nl
ASTRON | Phone: +31 521 595 217
P.O. Box 2 | GSM: +31 6 24 25 17 28
NL-7990 AA Dwingeloo | FAX: +31 521 597 332
The Netherlands | Web: http://www.astron.nl/~renting/
>>> Tom Anderson <twic at urchin.earth.li> 07/01/05 2:50 PM >>>
>On Fri, 1 Jul 2005, Adriaan Renting wrote:
>> I'm not a very experienced Python programmer yet, so I might be
>> mistaken, but there are a few things that would make me prefer C++
>> Python for large (over 500.000 LOC) projects.
>Hmm. I don't know C++, but here goes ...
>> - namespaces
>Aren't namespaces basically the same as packages/modules in python?
Not in the way C++ uses them. In Python if would be something like this:
using namespace casa
def open(self, file):
a = os.open('something')
b = std::os.open('something')
using namespace std
c = casa::os.open('something')
d = os.open('something')
This is a realy stupid example. It's essentially an extra hierarchy
layer to avoid naming clashes. I don't know of a way to do this in
Python, how would you do this?
>> - templates
>These would be meaningless in python - they're part of typefulness,
>> - strong type checking
>Not that this is necessarily a good thing. I have to say that my Java
>roots do lead me to think that strong typing is a plus for big
>since it's a way of defining and enforcing interfaces between bits of
>written by different people (or by one person at different times!).
>Optional static typing in python would be nice for this.
Exactly what I my point is, see also my other post on this (the LOC
>> - data hiding
>Surely you can hide data in python?
Again, how? Is there a way to force that an external user of my lib can
not use my internal data/methods/classes, unless he uses odd compiler
>> - more available libraries and more advanced developement tools.
>True. The more advanced development tools are offset to a large degree
>the advanced crappiness of C++ as a language, though; i'd be surprised
>a C++ programmer borged up with all the latest tools was actually more
>productive than a python programmer with a syntax-colouring,
>auto-indenting text editor. It'd be very interesting to get some real
>numbers on that.
I think my point is: I would be, for large projects. Just comparing my
Borland C++Builder experience with my Eric3+QtDesigner experience. This
is not only because of differences between C++ and Python though, a good
IDE alone can make 50% difference but that's another subject.
For small simple projects where I am familiar with the libs I need, I
think I'd prefer Python.
>>> Ultimately, manageability of a project is far and away more about
>>> people involved and the techniques used than it is about any single
>>> technology involved.
>+1 getting to the crux of it.
More information about the Python-list