Russ P. a écrit :
On Jun 10, 11:58 am, Jonathan Gardner
(snip)
Who cares about private declarations, or interface declarations at
all? It is only a message to the developers. If you have a problem
with your users doing the right thing, that is a social problem, not a
technical one, and the solution is social, not technical. Yes, it is
work, but it is not coding---it is explaining to other living,
breathing human beings how to do a specific task, which is what you
should have been doing from the start.
You may be right to an extent for small or medium-sized non-critical
projects, but you are certainly not right in general. I read something
a while back about the flight software for the Boeing 777. I think it
was something like 3,000,000 lines of Ada code.
I can't obviously back my claim, but you could probably have the same
feature set implemented in 10 to 20 times less code in Python. Not that
I suggest using Python here specifically, but just to remind you that
kloc is not a very exact metric - it's relative to the design, the
language and the programmer(s). The first project I worked on
(professionaly) was about 100 000 locs when I took over it, and one year
later it was about 50 000 locs, with way less bugs and way more
features. FWIW, the bigger the project, the bigger the chances that you
could cut it by half with a good refactoring.
Normally, for a
project of that magnitude the final integration would be expected to
take something like three months. However, the precise interface specs
and encapsulation methods in Ada allowed the integration to be
completed in just three days.
By your recommended method of social interaction, that would be one
hell of a lot of talking!
Or just writing and reading.
I realize that Python is not designed for such large projects,
Clueless again. Python is pretty good for large projects. Now the point
is that it tends to make them way smaller than some other much more
static languages. As an average, you can count on something between 5:1
to 10:1 ratio between Java (typical and well-known reference) and Python
for a same feature set. And the larger the project, the greater the ratio.
but
don't you think certain general principles can be learned anyway?
Do you really think you're talking to a bunch of clueless newbies ? You
can bet there are quite a lot of talented *and experimented* programmers
here.
Perhaps the benefits of interface specs and encapsulation are not as
obvious for smaller projects,
Plain wrong.
but certainly they are not zero.
You still fail to get the point. Interface specifications and
encapsulation are design principles. period. These principles are just
as well expressed with documentation and naming conventions, and the
cost is way lower.
Russ, do yourself a favor : get out of your cargo-cult one minute and
ask yourself whether all python users are really such a bunch of
clueless newbies and cowboy hackers. You may not have noticed, but there
are some *very* talented and *experimented* programmers here.
--
http://mail.python.org/mailman/listinfo/python-list