Welcome to MSDN Blogs Sign in | Join | Help

March 2004 - Posts

A good author writes better than a good developer

So here's a recent MSDN article that I actually had the chance of reviewing several months ago. They've done a much better job at capturing the good new stuff in C# than I could ever do. http://msdn.microsoft.com/vcsharp/default.aspx?pull=/msdnmag/issues/04/05/c20/default.aspx

Warning Levels

It's not documented very well, but the C# compiler actually has 4 levels of warnings. I like to think of them this way: Level 1 - These warnings are cases the compiler is 99.9% sure you did something wrong, but the code is syntactically and semantically

Some Cool New Features

I've been looking over some of my last few posts and they could easily come across as if I thought iterators and anonymous methods were the worst language features every added, and will never serve a good purpose. If anything I think the opposite (or
Posted by grantri | 6 Comments

Anonymous Method Identity Crisis

Delegates, like strings, have done some work so that == behaves as expected, rather than as it should. A delegate can be thought of as a tuple of the instance (or lack-of-instance in the case of delegates to static methods) and the method it invokes.
Posted by grantri | 0 Comments
Filed under:

Recursive Iterators (aka Perf killers)

Technically this isn't specific to iterators, but its so much easier to do with iterators that I thought I'd mention it. Some languages are smart enough to 'flatten' iterators, such that if an iterator is called insde of another iterator, only one iteration
Posted by grantri | 3 Comments
Filed under:

Why I'm a software engineer...

I'll be the first one to admit I'm lazy. I purposefully avoid meaningless manual labor. Things done solely to look better or or impress others generally fall into the category of meaningless. In high school I was socially adept enough to realize I wasn't
Posted by grantri | 3 Comments
Filed under:

Inform Me!

I'm rather new to blogging (in case you haven't noticed). This web site has “posts” and “articles”. What's the difference? Should any of my past posts been articles? Does anybody care? --Grant
Posted by grantri | 2 Comments

Anonymous method (and Iterator) perf

probably a few of you hav asked how to make iterators and anonymous methods fast. Well hopefully if you understand how the compiler translates them, it should be relatively easy to optimize them. The first thing to remember is that for all practical purposes
Posted by grantri | 0 Comments

Anonymous Methods: Alternate Syntax

A few of you have suggested alternate syntaxes for anonymous methods or just complained about their syntax. Believe it or not syntax is very heavily discuess by the language design team (of which I am only an occasioanlly invited guest). Iterators almost
Posted by grantri | 2 Comments
Filed under:

To optimize or not to Optimize?

So with the CLI all compilers suddenly have a great code-generator. However, the code-generator is generally where most if not all optimizations occur. Now some of those optimizations should only happen in the code generator because they are machine specific.
Posted by grantri | 4 Comments

Error Number Trivia

Have you ever wondered how we come up with the error and warning numbers? Well if you've looked at the SSCLI source for the C# compiler, you'll see that we use a file full of macros to define the error numbers, their severity, and the resource ID that

Anonymous Method Part 2 answers

I think the winner is Jerry Pisk. His final comment I think does the best job of explaining, what I was trying to explain. Thanks Jerry. I also partially agree with Jerry's first comment, namely anonymous methods can be confusing and lead to poor readability
Posted by grantri | 0 Comments
Filed under:

Anonymous Methods, Part 2 of ?

A lot of people seem to have trouble grasping how anonymous methods affect the lifetimes of locals. SO hopefuly I can clarify that a little. Previous to anonymous methods, the lifetime and the visibility of a local were identical for all practical purposes.
Posted by grantri | 9 Comments
Filed under:

Compiler Error Messages Clarification

First of all, I am not acutally talking about decreasing or removing any errors (unless somebody can prove that a given error is a total duplicate of another one, but I seriously doubt that). I'm really talking about how big an error message can be before
 
Page view tracker