Fabulous Adventures In Coding
Eric Lippert's Erstwhile Blog
In C# it is illegal to declare a class D whose base class B is in any way less accessible than D....
Date: 11/13/2012
I am pleased to announce that Essential C# 5.0 by Mark Michaelis, and, new for this edition, yours...
Date: 11/09/2012
Last time I discussed how "dynamic" tends to spread through a program like a virus: if an expression...
Date: 11/08/2012
I'm implementing the semantic analysis of dynamic expressions in Roslyn this week, so I'm fielding a...
Date: 10/22/2012
Presented as a dialogue, as is my wont! Is C# a strongly typed or a weakly typed language? Yes. That...
Date: 10/15/2012
One of the most basic ways to think about a computer program is that it is a device which takes in...
Date: 10/10/2012
I missed the party. I was all set to be on that massive wave of announcements about TypeScript, and...
Date: 10/02/2012
I am super excited to announce that we have just released a third "Community Technology Preview" of...
Date: 09/17/2012
Before I get into the subject of today's fabulous adventure, I want to congratulate the whole rest...
Date: 09/12/2012
As I said last time, that was a pretty easy puzzle: either FooBar, or the type of local variable x,...
Date: 08/27/2012
I've written a lot about casting over the years in this blog, but always in the context of the "cast...
Date: 08/27/2012
It is possible for a program with some local variable x: bool b = x is FooBar; to assign true to b...
Date: 08/23/2012
No tech today, but this is too funny to not pass along, so consider this your fun for Friday. What...
Date: 08/17/2012
As you probably know, the C# compiler does flow analysis on constants for the purposes of finding...
Date: 07/17/2012
I'm asked a lot of questions about conversion logic in C#, which is not that surprising. Conversions...
Date: 07/10/2012
Just a quick link today: The super nice people over at InformIT (*) are running a series of short...
Date: 06/27/2012
Once again today's posting is presented as a dialogue, as is my wont. Why is var sometimes required...
Date: 06/25/2012
Rachel Roumeliotis, who amongst other things edits C# books for O'Reilly, recently did an interview...
Date: 06/21/2012
As I've mentioned several times on this blog before, C# has been carefully designed to eliminate...
Date: 06/18/2012
We decided early in the Roslyn design process that the primary data structure that developers would...
Date: 06/08/2012
Good afternoon all, I am happy to announce that we are releasing a second Community Technology...
Date: 06/05/2012
Let's recap: a GUID is a 128 bit integer that is used as a globally unique identifier. GUIDs are not...
Date: 05/07/2012
So how is it that a GUID can be guaranteed to be unique without some sort of central authority that...
Date: 04/30/2012
Returning now to the subject at hand: we would like to allow user-defined "overloads" of the &...
Date: 04/19/2012
Before we continue our exploration of truthiness in C#, a brief digression. I mentioned last time...
Date: 04/17/2012
In Raymond Smullyan's delightful books about the Island of Knights and Knaves -- where, you'll...
Date: 04/12/2012
The way you typically represent a "missing" or "invalid" value in C# is to use the "null" value of...
Date: 03/26/2012
UPDATE: Whoops! I accidentally set a draft of this article to automatically publish on a day that I...
Date: 03/09/2012
You're probably all familiar with the feature of C# which disallows reading from a local variable...
Date: 03/05/2012
I am super excited to announce that the beta release of Visual Studio version 11 (which includes the...
Date: 02/29/2012
The first time I ran my histogram visualizer I asked for a Cauchy distribution with a minimum of -10...
Date: 02/27/2012
My original version of the histogram-generating code that I whipped up for the previous episode of...
Date: 02/24/2012
When building simulations of real-world phenomena, or when generating test data for algorithms that...
Date: 02/21/2012
The standard way to teach beginner OO programmers about classes is to make a metaphor to the real...
Date: 02/13/2012
"Late binding" is one of those computer-sciency terms that, like "strong typing", means different...
Date: 02/06/2012
Last time I noted that any two usages of "the same" anonymous type within an assembly actually unify...
Date: 01/30/2012
Back in my last post of 2010 I said that I would do an example of anonymous types unifying within an...
Date: 01/23/2012
If you ask a dozen C# developers what a "local variable" is, you might get a dozen different...
Date: 01/16/2012
Here's an inconvenient truth: just about every "public surface area" change you make to your code is...
Date: 01/09/2012
Happy New Year all! It has just been brought to my attention that this blog and the Programmer Ryan...
Date: 01/02/2012
OK, let's finish up this year and this series. We have an algorithm that can compute what cells in...
Date: 12/29/2011
I hope you all had a pleasant Christmas and Boxing Day; we chose to not travel to see family this...
Date: 12/27/2011
Last time we saw how many different ways there were to get the calculation of the top cell based on...
Date: 12/22/2011