June 09, 2004

James Avery invented the Internet

Now that I have your attention I’d like to talk about a pretty good article I just read in the new issue of MSDN Magazine. It’s called Ten Must-Have Tools Every Developer Should Download Now and it’s written by James Avery. I’m a regular reader of James’ .Avery blog. He’s the guy that does the “.NET Nightly” thing, where he spits out quick links to various tools and articles that interest him at the time. A few other bloggers that I read do this too. Sam Gentile does his own “New and Notable” thing and Mike Gunderloy has his Daily Grind.

His latest article does have a few annoying points, though. In three places (maybe more) he seems to believe that .NET invented something when it actually didn’t.

First, when talking about a cool regular expression tool called Regulator he says, and I quote, “There is renewed interest in regular expressions because of the excellent support for them in .NET Framework.” Say what? RE’s have been around for a long time and you either need them or you don’t. If you do, there were and are still plenty of good libraries out there. In the C++ world, we’ve always had Boost RegEx. Perhaps he’s talking about the Visual Basic programmer’s perspective? I’m not sure how VB programmers coped with regular expressions in the past. Yeh, perhaps he’s talking about them.

Second, he introduces us to a cool reflection tool called Lutz Roeder’s .NET Reflector. However, he goes and says, “The .NET Framework introduced the world to the concept of reflection which can be used to examine any .NET-based code, whether it is a single class or an entire assembly.” Are you joking? Java has had the Reflection API for years. They were the innovators there.

James also talks about the .NET build tool called NAnt and the .NET based unit testing tool called NUnit and doesn’t even mention the original Java-based projects these bad boys were based off, namely Ant and JUnit respectively. Quite expectedly, he does mention Microsoft’s upcoming MSBuild technology (which competes on a feature basis with NAnt) which will ship with Visual Studio .NET 2005.

In any case, the tools he talks about are very cool indeed.

Posted by Nick Codignotto at June 9, 2004 08:43 AM
Posted to Programming
Comments

Nick,
Thanks for the comments. Let me take a second to defend a couple of these points.

1) Maybe it is because all the VBers now have easy access to them, or maybe because of the excellent support in ASP.NET, but I have seen more interest in RegEx since support for it was built into the framework... that is all I was trying to say. I did not mean to imply that .NET invented RegEx in anyway.

2) Poor choice of wording on my part. I guess it would have been better to say .NET introduced reflection to the MS platform.

3) I chose not to tell the history of these tools, because when you are trying to stuff 10 tools into one article you have to cut out stuff that does not provide alot of benefit to the reader. While the history is interesting it does not really help a user better use the tools. (xUnit started with smalltalk anyway, right?)

And as for the mention of MSBuild, what do you expect when you are reading MSDN magazine? I am actually surprised I got away with what I did get away with, most of these tools point out inadequacies in VS.NET... and while MSDN did some editing, they left alot of it intact.

Thanks for the great feedback, I am glad you enjoyed the article.

-James

Posted by: James Avery at June 9, 2004 09:45 AM

Reflector does not use Reflection. It uses Reflector.CodeModel which reads the information right out of the assembly meta-data tables.

Code Model libraries and Type Libraries are around forever (Smalltalk was doing this type of stuff, COM supported TLB files) so I doubt .NET or Java invented something new.

However, Reflector is freaking cool :-)

Posted by: Adam at June 9, 2004 08:44 PM

Adam,

I have to start using Reflector, to learn more about how .NET works under the hood if nothing else. Thanks for the reply.

James,

Thanks for the response. I'm a big fan and I just had the urge to point some of that stuff out. Indeed, I didn't know about many of those tools (I think I only knew about NUnit, NAnt, and FxCop before I read your article).

Thanks,
Nick

Posted by: Nick Codignotto at June 9, 2004 11:41 PM

Java was the Reflection innovator? You have to be kidding me. Do some homework kid.

Posted by: James Smythe at June 11, 2004 03:09 AM

Jimmy,

I suppose you're talking about Smalltalk? Perhaps Lisp?

My bad.

Posted by: Nick Codignotto at June 11, 2004 03:16 AM
Post a comment









Remember personal info?






Valid XHTML 1.0!   Valid CSS!