Could Python supplant Java?
maxm at mxm.dk
Wed Aug 21 19:13:27 CEST 2002
Steve Austin wrote:
> Code shouldn't 'evolve'. Your design 'evolves'. By the time
> you come to code your software you should be just implementing
> the design.
That is the one design philosophy, other ones that is quickly gaining
ground is those of agile development and extreme programming.
> You do design your software before you sit down to write...
> Right? ;-)
Not when you follow the above two methologies, no. Or rather you do it
to a far lesser extend. Naturally you plan as much as you are able to
do. But the idea is to get a minimal working implementation, and then
evolve that from user feedback.
> By 'linear approach' you mean I work out in advance how I
> am going to do things, rather than make it up as I go
> along, as my mood suits me? :-)
No but you change things according to the experience you get as the
project comes towards frutution. Agile programming tries to make it easy
to change the code in your project as you learn more, while the
waterfall etc. models tries to make one huge design effort up front.
Experience have shown that the "all design up front" way of working
often fails misserably. The agile method still has to prove it's worth
though, but at least it is a fresh look at the state of affairs.
Zope 3 is developed using extreme/agile methologies, so it will be
interresting to see how it pans out. So far they are pretty pleased with
the result I think.
> And as for static vs dynamic data types. I do find the
> attitude of *some* Python programmers on the newsgroup
> a little disappointing. They seem to advocate throwing
> the code together and then trapping all the errors
> by devloping test suites.
They are follwing the principles of extreme programming, and naturally
the whole idea behind it cannot be expressed in a short posting on a
newsgropup. But several books have been on the subject.
> Dynamic and static types have
> their place - but one of the nice things about static
> datatypes is that it provides just that little but extra
> checking that the compiler can do for you, if you provide
> it with such information like what type of data you
> expect to be holding in each variable.
You providing the compiler with type information has both costs and
The benefit is the errors caught during compilation.
The cost is code that is more verbose and harder to read. Therefore
increasing the probability of other bugs.
I don't know of any scientific reasearch saying which is best. I guess
time will show.
regards Max M
More information about the Python-list