GNOME Platform Stormclouds
Posted Mar 29, 2004 23:31 UTC (Mon) by mly
In reply to: GNOME Platform Stormclouds
Parent article: GNOME Platform Stormclouds
If unit tests only test classes in isolation, then there's no way that they could be a good substitute for static type checking (as you claimed earlier). What about inter-unit errors?
I'm sorry if I was unclear. The purpose of the unit test is only
to test the unit under test. That doesn't mean that you typically replace
the calls to external units with stubs. You only use stubs when there is a good reason for it, e.g. when networking or database access is too slow, and then you can probably still have some simple test included that uses the interface.
In SystemSpecifyer for instance, I use ZODB's (non-persistent) dummy storage when I test my business logic. I access ZODB through the same module (kbase) to store things, but it's never saved to disk in these tests. On the other hand, the unit tests for the kbase module use filestorage, like my real application.
Another extreme programming practice that helps solve this problem is
continous integration, but this is turning into a full XP tutorial... :)
Python is definitely less verbose than C++,
Great! We agree on something! :)
but 90% is laughable.
I never claimed than a ten-fold productivity gain was typical.
I quoted a number of sources claiming from 2-3 and up to 10
times improvement. Your gain will depend on your use case.
I think that several times more code in e.g. C than in Python
is typical though, and that's what I wrote. That's my
personal experience after seven years with Python and fifteen
Remember that we're comparing langauge features here,
not programming environments.
I've just tried to explain why programming in Python will
typically lead to fewer bugs, not more bugs, than e.g. C,
even though Python lacks static typing. (But I guess
that's easier to experience from programming than to
convince others about in a comment thread on LWN...)
I'm not sure what you mean by "programming environment",
but Python's standard library is certainly a part of
Python, and a significant reason for Python's success.
to post comments)