notes.jays.net

...so complex that you need a large IDE to comprehend it

Originally posted to headrattle on 2010-02-06.

This is an excerpt from an Omaha.pm thread today.

We're discussing Eliminating Inheritance Via Smalltalk-Style Traits by Curtis "Ovid" Poe.

In his paper, Curtis wrote:
Anyone forced to use "vi" (not even "vim") while trying to create an emergency patch of broken code over a slow telnet connection at 2:30 in the morning is going to get very irritated if your codebase is so complex that you need a large IDE to comprehend it.

Trey wrote:
That is kind of silly. If you're shop is using IDE and developing under that sort of framework, your support people should be familiar with the code and the methods used to program it/maintain it.

Agreed. And have the capacity to perform emergency maintenance remotely via whatever means are necessary to do so.

I don't think he's arguing that slow Internet connections are a good idea. I think he's saying they happen.

Trey wrote:
That's sort of like saying that somebody is going to be irritated because they can't stoke up a hydroelectric plant with bellows...So what??

I love your analogy. :) So what? So your business is losing money in the scenario he describes.

I see this an indictment of relying too heavily on fancy developer tools to gloss over crappy code. If my code sucks in text form, but when I right-click on it a million lines of code in my IDE jumps to my rescue and explains it to me in pretty colors, then I'm helpless without that IDE. That sounds like a bad idea.

In the stack of technology ignorance and dependency I've planted my flag here:

Objectively, my gut-opinions about exactly where that line is are silly. Aren't they?

If you take me and my Apple laptop running Terminal.app to ssh into a server and run vi, and next to me you sit a .NET guy running the latest Visual Studio on a mapped drive; is the total complexity of my dependency stack much smaller than his? (OS X is how many millions of lines of code?)

I don't know. I've now spent an hour arguing with myself about it. :)

In any event, I don't thing it's the use or avoidance of an IDE that makes good or poor code. You can create beautiful or ugly code with the simplest or fanciest of tools.

I do think he has a point. If your "...codebase is so complex that you need a large IDE to comprehend it." Then you're doing something wrong. Use an IDE because you want to, not because it's impossible to survive your mess without it.

/me shakes his fist at XML Spy addicts

Ponder,

j