Python for large projects
gabor at z10n.net
Tue Mar 23 21:44:05 CET 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
More information about the Python-list