Schwuk complains that my snarky note on not using .NET is unfair, as I’m blaming the tools and not the person wielding them. I did actually ask Schwuk by mail whether he felt that the original story came about because:
- the VS.NET guy is not all that good a coder
- JS/ASP/DOM is a better environment than VS.NET/ASP.NET
- something else
but we’ll continue the discussion here, I think.
Frankly, I do blame the tools rather than the person wielding them. This isn’t specifically a criticism of VS.NET, but of overarching programming environments in general, and shades back into the “do we need an IDE” debate on which Schwuk and I have commented previously. I am almost wholly convinced that big IDE environments and so forth are actually constrictive, and only make you more productive if you’re doing something that the environment designers anticipated you doing; as soon as you step off that beaten track you become a lot less productive. For example, knocking up a quick few-buttons application in VB is very fast indeed; much faster than doing it some other way. However, if you try and do complex things, I find that Python+Gtk+Sandino’s script is a much faster environment than contorting VB to do it. Now, you can accuse me of being no good at VB here, and blame me rather than the tool…and I won’t argue with your conclusion too much. Maybe I am just a bad coder. But you have to ask yourself: if VS.NET and ASP.NET are good things and make you work better, why is the other guy not using them?
I think that Schwuk’s comment that “Bob is (probably) used to
developing larger scale applications and hence much more likely to be
bogged down with all the trappings that come with such projects:
requirements, reviews etc” is pretty unreasonable; that suggests that
the reason that Bob can’t write stuff as fast as Frank is that Bob does
lots of “proper” project stuff and Frank just isn’t bothering. Now, I
doubt that that’s what Schwuk meant, but that’s how I read that comment,
and it seems a bit unfair. It’s entirely possible that all Bob’s .NET
trappings aren’t actually making him any more productive.
On the last hand, it’s also possible that Bob, while being less productive, is producing better code and that’s down to his use of a more modern environment. Frank might be faster because he’s not doing certain things (because they’re too difficult), while Bob is doing all that and more besides (because .NET makes it easy for him). Difficult to say. But just because Microsoft and lots of third-party suppliers talk about how .NET will make coding easier or better doesn’t actually make it the case. Anecdotal evidence suggests that some people find it so and some do not; quite probably that’s the case with Bob and Frank, which just makes it one more meaningless example for me to throw at Schwuk; no doubt tomorrow he will be able to find a mirror-image example to throw back at me. This is why conversations are fun, I say. :)