Ian Bicking writes about trust...
In general, Python requires you trust your programmers. People give Java grief about its restricted environment and static typing, but if you don't trust the programmer to do a good job, at least with Java they (maybe) can't mess things up as badly for everyone else working on a project. You can mess things up royally with Python...Having programmed serious systems (each with multiple developers) in several languages (at least six), I can say without a doubt that you can mess things up royally in *any* of these languages, whether the languages are rigid or agile.Python is not the language for companies who expect mediocrity in their programmers, and I think that outsourcing is for companies that expect mediocrity.
Ian comes around to this by the end of the piece...
...shitty code is always shitty (even in Java)
3 comments:
I guess I was thinking in terms of boundaries. Malicious code not withstanding, Java puts more boundaries up, especially using the design methologies that Java would encourage. So some bad programmer can do horrible work, but at least they will be doing it within some walls that keeps them from spilling out and getting everyone else's code all wet and moldy. It's one thing to waste money on a useless coder -- you can always fix that eventually, and suck it up until then -- but a programmer can be much worse than useless. And the programmer doesn't even have to be stupid or exceptionally sloppy or anything in order to have a negative effect -- simply with a lack of understanding of the domain and an improper design, an otherwise perfectly OK programmer can cause problems.
Having at least some good designers who can help the team establish boundaries can isolate the more detailed design problems. I've not found that Java per se, or any other language for that matter, establishes these boundaries well on their own. The experience of the designers has much more of an impact, and the language effects how quickly and easily that experience can get into running code.
I agree, good protocols make good neighbors.
One thing I've got the urge to add is that the real problem is not isolating badness, but finding ways to improve it.
Post a Comment