Python for large projects

gabor gabor at z10n.net
Tue Mar 23 15:44:05 EST 2004


On Tue, 2004-03-23 at 17:24, Cameron Laird wrote:
> >> JG> I feel honour-bound to point out that citing static typing (explicit
> >> JG> static typing, in particular) as a means of creating more correct
> >> JG> programs, to be one of the greatest contemporary myths of software
> >> JG> engineering.
> 			.
> 			.
> 			.
> >I'm not familiar enough with some of the more modern languages that use
> >explicit static typing to know if they offer other advantages beyond helping
> >the compiler be more efficient, but from experience I don't hesitate to say
> >that the explicit type systems of Pascal/C++/Java seem to do more harm than
> >good (meaning that if they provide some benefit, overall it's still a net
> >negative due to the extra burden they place on the developers). For large
> >projects in particular they seem to get in the way more and more as the project
> >increases in size.

> I want to call attention to this.  Dave and I appear to be in
> agreement that, while common wisdom in our field is that C++,
> Java, and so on, are serious languages that are the only 
> realistic choices for large projects, we are both saying that
> they're at a particular DISadvantage there.  If you have a
> big job, you *particularly* need to look at Python (or Erlang,
> or Eiffel, or ...)
> -- 

i wanted to use python for a project in our company... we wanted to
build a fairly big system/program.

but when i recommended python, i got a question like:
(previously all the programs were written in java)
"if one of our programmers changes a method in a class/interface, we
immediately will know about it, because the next program-rebuild will
simply fail. but if we would use python, we wouldn't find it out".

yes, i know that people usually recommend unit testing for this, but
imho it is not a good enough argument
(other thing is, that in the projects i work on, there seems to be very
hard to do unit tests... most of the parts of the system can't be that
easily be tested (how do you unittest a threadpool? a servlet?). yes,
i've heard that "if you can't make unittests, that means your
classes/modules/packages depend too much on each othere, and that means
you wrote bad code. but that's not that simple.

to make it short:
i would love to hear good counter-arguments again the
standard-argument-for-the-statically
typed-or-whatever-is-their-name-languages-like-java.

gabor





More information about the Python-list mailing list