in reply to Re: Re (tilly) 3 (misread): Perl debugging - a look at 'beta' mechanism
in thread Perl debugging - a look at 'beta' mechanism

I probably shouldn't respond to a thread which already has this much emotion. But I will try to clear up what I think are misreadings on your part.

Saying that it is no fun to work with careless people is not elitist. It is a simple observation of the fact that it is no fun to put out fires caused by other people, to have to fix bugs introduced by other people, to have to rewrite things because you cannot trust the work of other people, etc. These things are all true, and I can vouch for them from experience. To become elitist you need to cross the boundary to asserting that carefulness is a trait that the vast majority of unwashed humanity is constitutionally incapable of learning. And I don't see Linus Torvalds saying that.

Granted, Linus is ruthless about it. But he is ruthless for good reason. Linus develops and maintains a prominent software project. He has a lot of demands on his time, and has made the decision that it won't be his job to train potential developers from scratch. This is reasonable. It takes a lot of work to train people, and Linus has his pick of competent people who are willing to work with him. When you are in a position to cherry-pick people, it would be silly not to. Most of us do not have that luxury. But people who do, learn to do it like Linus does. Find ways to reject people, fast, just to get the list of candidates down to something you can manage.

Another thing you appear to be misreading is merlyn when he says, If you can't program careful enough to not need a debugger, then either slow down your rate of coding, or pick a different profession. Please This does not say that you should never use a debugger. It says that if you are producing software that is such a mess that the only way you can find your own way around it is to use a debugger, then you are doing something seriously wrong. You are creating nightmares for yourself and your maintainance programmers, and you should stop doing so in any way possible. If you can learn, do. If you refuse to even try, then you have no business working as a programmer. That may sound harsh, but based on where costs are in software, employers are being stupid if they let employees repeatedly create up front messes in software development.

The point is strongly made, yes. But ironically it is one you then came out with in your own words. As you nicely put it, Dependency is the hair I think we are trying to split here. You say it at more length in your elevator analogy. What you didn't say there, but is underscored by Linus, is that your actions affect co-workers and others who need to handle your code. If you aren't avoiding dependency upon the debugger, then you are doing something wrong. It is easy to avoid dependency upon the debugger by not using one. As you point out, it is possible to use one and be careful enough to keep vigilance. But it is very, very bad to turn code into a mess of spaghetti which can only be manipulated by poking and prodding until trial and error tells you that you have pushed the meatballs into the new pattern you wanted.

As for the central question of the thread, well I am not going to try to convince you one way or the other. The most that I will say is that it works well to read people as talking about themselves. What merlyn and I said is that we find it harder to remain vigilant about overall design while using a debugger. If your mileage varies, the more power to you. Like Linus says in his email, you can use a debugger if you want to, and we won't give you a cold shoulder. Results are what matter, and our limitations are not necessarily yours.

Now there is something very elitist said in that thread. It isn't in any of the things you are complaining about. It is in the final paragraph of On being a programmer. The rest of that post I agree with whole heartedly. Programming well is a different kind of activity than scripting out a set of actions. But in the final paragraph merlyn says that in order to learn to program you have to be wired the right way. That is elitist. If you had objected to that, I would have never disagreed with the objection. (My inclination is to disagree with merlyn on that point as well, but that is a question for another thread.)

But you didn't. Instead you objected to distorted versions of much more reasonable things that were said. Which is why I have tried to clarify the gap between what you appear to have interpreted people as saying, and what I read them as saying. And now that I have clarified that as best as I know how, I am going to let this thread drop.

  • Comment on Re (tilly) 5 (misread): Perl debugging - a look at 'beta' mechanism