February 19, 2004

Why I love Anders Hejlsberg

I love Anders Hejlsberg because it is such a rare pleasure to see someone in such a powerful and responsible position step out in public and say proudly, "I'm a fool! Look at me! I don't know shit from sugar!". But in this interview Anders does just that.

No, Anders, we don't find ourselves having to catch EIGHTY DIFFERENT EXCEPTIONS when we write deeply layered software. That's because some of us can spell A-B-S-T-R-A-C-T-I-O-N. Some of us have also realised that exceptions are just part of your API, like your parameters. And no, we don't expose every freaking exception we depend upon; we have another tool called E-N-C-A-P-S-U-L-A-T-I-O-N. So you might as well remove method parameters from C#, too, because surely if you write deep layers you'll need EIGHTY DIFFERENT PARAMETERS on your methods, won't you? You absolute barking mad fruitcake! I fart in your general direction!

I also love Anders Hejlsberg because his astounding comedic performance inspired me to finally hop onto the blog bandwagon. So you can heap atop the pile of woes attributable to this certified crack smoking monkey from Redmond one more little trophy.

Posted by james at February 19, 2004 09:06 PM
Comments

Well said James. I still can't find anyone that agrees with Anders' comments.
I now have a cool career plan that involves class A narcotics and ultimately achieving a high position at Microsoft. Cheers Anders, you showed us it was possible,

Posted by: Mike Melia at February 19, 2004 10:05 PM

I don't remember having laughed out loud while reading a blog before, but I did today while reading this. Great work.

-- Marty

Posted by: Marty Andrews at February 20, 2004 07:10 AM

Best, exception blog entry, ever.

Posted by: Jon Eaves at February 20, 2004 12:04 PM

do you also feel that artima has slowly becoming a .Net, C# lick *ss place?

Posted by: aaa at February 21, 2004 12:46 AM

Nah, Artima is cool, if only for their series of interviews with the creator of Ruby, Yukihiro Matsumoto - http://www.artima.com/intv/ruby.html.

Posted by: Tom Copeland at February 21, 2004 12:53 AM

I still have a lot of time for artima...I guess Bruce and Bill were just a bit overcome by being in Redmond...

Posted by: James Ross at February 21, 2004 07:53 AM

James, I for one think you should read an entire article before commenting on it; Anders' comment on the 80 exceptions is a little literary device called R-E-D-U-C-T-I-O A-D A-B-S-U-R-D-U-M. If you had read the part of the article prior, you would see that capturing exceptions at each layer and rethrowing as a layer-specific exception is often just an idiotic waste of a developer's time--if you can't handle the specific exception then you're just rethrowing it or generically dealing with an abstract error for which you have no idea what the real cause is (or you _would_ be dealing with 80 exception types).

Besides, you _can_ declare and layer and wrap runtime exceptions if you want to. Why make the compiler force you to when 90% of the time you don't want to or have to?

Posted by: Kristopher Schmidt at February 22, 2004 01:57 AM

Good

Posted by: Lisa at February 23, 2004 06:42 AM

James, you have brightened my day.
I dread the thought of you taking issue with me next :)

Posted by: Shane Clauson at February 24, 2004 08:54 PM

Love the blog James. I saw that interview a while ago and the thing that made me squirm was indeed his explanation of exception throwing in the method declaration. That was my biggest problem with C# in the early days especially when trying to understand the .Net framework, but I must say it hasn't been much of a problem for me in 1.5 years of .Net development. However, it does increase the amount of unstructured documentation that is needed for each method and therefore the amount of reading a developer has to do before using a particular method.

Posted by: Chris Garty at February 28, 2004 11:46 AM


James,

Obviously you sound like never had real world experience writing layered Java code with checked exceptions. What Andres said made great sense. Checked exceptions has pontential problems such as a junior programmer can rethrow exception at deep libary layer and lose the orginial exception. It has been fixed in Java 1.5 with some tweaks.

Get some real experience before you comment on a great programmer like Andres.

Posted by: Victor at May 27, 2004 09:13 AM

Victor,

ALL progarmming language constructs have potential problems when "junior" programmers are involved. The problem is not neccessarily with the construct but the level of expertise of the developer. That, IMHO, was James' point.

James has more experience writing software than you and I put together so think of something more creative to say when you want to have a go at him. He's pretty thick skinned. Give it try :-)

Posted by: Simon Harris at June 20, 2004 12:50 AM
Post a comment









Remember personal info?





Please enter the security code you see here