"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Friday, December 17, 2004

Programming Language and Trust

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...

Python is not the language for companies who expect mediocrity in their programmers, and I think that outsourcing is for companies that expect mediocrity.

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.

Ian comes around to this by the end of the piece...

...shitty code is always shitty (even in Java)

3 comments:

Ian Bicking said...

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.

Patrick Logan said...

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.

Patrick Logan said...

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.

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.