. Here I write about many things. In the past I wrote about
. I write
for people to play with, I write about my life on , and I write here.
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 JavaScript/ASP/DOM guy is a very good coder 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. :)
osfameron
I was never a massive fan of IDEs, and I don’t feel the lack of one when programming Perl.
But when I’ve played with Java, using IntelliJ IDEA was an amazing experience: it flagged syntax errors like a spellcheck so you didn’t waste time compiling, had seamless integration with documentation and object model browsers, and the code-completion (that hardcore geeks seem to really dislike) is actually a useful supplement to documentation – for simple tasks, it’s as good as having a code snippet example. Refactoring support was brilliant too. In short, the IDE had powerful language aware features, it didn’t just give you fancy wizards to build pretty GUIs with.
Though I couldn’t quite find it in me to fork out the money for the license and went back to Vim when my trial expired, I’d thoroughly recommend giving a modern refactoring-aware browser a try.
sil
osfameron: I personally think that code completion is marvellous, and it’s in the editors I use. But that’s all I want from an editor; a “programmers’ editor” is not an IDE, I think..
Nick Fitzsimons
I develop web applications in ASP and ASP.NET, using (aat the moment) Visual Studio .NET. While such tools as the debugger are invaluable (both for server-side and client-side code), I am constantly driven up the wall by the assorted “tidying” VS.NET imposes on my code, and thus turn it all off (to the extent one can). As for the creation of projects or project components, once the IDE has done its work of creating the HTML and so forth, I go through it and rip the whole lot out, then replace it with standards-compliant code. I’d say that on average, I waste about 20 minutes on every single component of an application just tidying up; for code, there is a similar overhead in just establishing basics (database connection and so forth) using the .NET API. The only justification I have for this timewasting is that the debugger usually saves me much more time in the long run.
I think the problem is that the .NET framework is massively over-engineered for many of the things we do with web applications; it may be great to have that level of framework support for an enterprise-scale application running across multiple servers, but when you’re just getting a few bits of information from a database and displaying them on the page, which probably comprises about 80% of web apps work, it’s overkill.
The analogy that springs to mind is those people that use a 4 by 4 (SUV for the Americans among us) to go down to the shops to buy a pound of carrots. There’s an enormous amount of power and amazing capabilities that just remain unused in the majority of instances. We’d all be better off if these people used a small runabout, and that’s just what ASP is.
mrben
Aq – what editor do you use for Python?
Nick – nice analogy; agreed.
I have never really used an IDE for this very reason – too much bulk. GVim has been providing for my needs for a while :)
Schwuk
Aq,
In my defense, I was replying to your email when I checked your site and saw the ‘snarky’ post at which point I decided to respond in kind.
The answer is a resounding “4. something else” as you’ll see on my post. It’s funny you thought of my observations as “unreasonable” when Bob thought it was spot on (and he should know).
Maybe we should have an Aq v. Schwuk debate at LRL…
Schwuk
Nick,
You are dead right about Visual Studio .NET – I use it for it’s code completion, debugging, and solutions. Once I start editing an ASP.NET page in VS.NET switch into the HTML view and never go back to Designer unless I can possibly help it – especially if I’m working with standards compliant code.
If you make that many changes to the standard templates, you should look into creating your own.
I’m actually experimenting with ignoring .aspx pages and using HttpHandlers instead. Some (Aq) may say “why bother using Mono/.NET then?” but I’m simply ignoring one facet of a very powerful framework.
sil
Schwuk: “It’s funny you thought of my observations as “unreasonable” when Bob thought it was spot on (and he should know).”
Hence my mea culpa. I was wrong :)
Bill Donnelly
imo, all of the .net stuff is crappola!
I have recently given up on VB6 and moved to REALbasic. I was (am) an MS Certified VB Software Developer, but will probably never move to or use .net. Check out Rb for a more than viable alternative.
I was never a massive fan of IDEs, and I don’t feel the lack of one when programming Perl.
But when I’ve played with Java, using IntelliJ IDEA was an amazing experience: it flagged syntax errors like a spellcheck so you didn’t waste time compiling, had seamless integration with documentation and object model browsers, and the code-completion (that hardcore geeks seem to really dislike) is actually a useful supplement to documentation – for simple tasks, it’s as good as having a code snippet example. Refactoring support was brilliant too. In short, the IDE had powerful language aware features, it didn’t just give you fancy wizards to build pretty GUIs with.
Though I couldn’t quite find it in me to fork out the money for the license and went back to Vim when my trial expired, I’d thoroughly recommend giving a modern refactoring-aware browser a try.