Joe Cheng
Posts: 65
Nickname: jcheng
Registered: Oct, 2002
|
|
Re: Shipping the Prototype
|
Posted: Feb 18, 2003 1:42 PM
|
|
"Why would you ever want to switch from a codebase that is concise, malleable, and easily maintainable to one that isn't?"
The answer to this particular question is, of course, that you would rarely want to. However, I for one do not build prototypes that are more malleable and more easily maintainable than my production code. For example, in the prototyping stage I have no problem with cutting and pasting code. I have no problem using massive if-then chains and switch statements where, say, a Strategy or Command pattern might be more appropriate.
What Mr. Udell assumes is that the conciseness of a language like Python automatically implies better malleability and maintainability. I disagree. IMO, once you learn to to embrace the compiler, to structure your code in such a way that you maximize the compiler's exposure to your application's semantics, the malleability and maintainability of your code can go up an order of magnitude. Furthermore, in my experience, developer tools for compiled languages can do much more for you than tools for scripting languages, which dramatically narrows the finger-typing gap that Mr. van Rossum talks about. (However, if there is a tool out there that can do for Perl what IntelliJ can do for Java, I'd love to hear about it!)
Anyway, almost all of the smart developers I've ever met fall on one side or the other of the static-vs.-dynamic fence, and in my experience, never the twain shall meet. Obviously a guy who is deeply into scripting languages (footnote 4: "Full disclosure: I am a member of ActiveState's Technical Advisory Board") is not going to see the point in porting a working Python app into Java. I guess this is just another one of those instances where smart people can and will disagree.
|
|