Fabulous Adventures In Coding
Eric Lippert's Erstwhile Blog
Future-Proofing A Design
Last time on FAIC a user asked for guidance on the potential pitfalls of refactoring an automatic...
Author: Eric Lippert Date: 01/16/2009
Automatic vs Explicit Properties
Here's a question I got from a C# user last year, a question I get fairly frequently: User: With...
Author: Eric Lippert Date: 01/14/2009
The Future of C#, Part Four: Yet More Video
Mads, Chris, Sam and me on Channel Nine. Enjoy.
Author: Eric Lippert Date: 11/02/2008
The Future of C#, Part Three: On video, plus the dead-trees edition
Amazingly enough, it has happened again. Why does this keep happening to me? Anders, Mads and Eric...
Author: Eric Lippert Date: 10/29/2008
The Future of C#, Part One
An attentive reader pointed me at this long thread on a third-party forum where some people are...
Author: Eric Lippert Date: 10/08/2008
Boring Metablogging, Part Two
I try to not blog about blogging. Metablogging is boring. The last time I blogged about blogging was...
Author: Eric Lippert Date: 10/07/2008
Preventing third-party derivation, part two
If you find a class in a library that has all private/internal constructors, it is pretty clear that...
Author: Eric Lippert Date: 10/06/2008
Preventing third-party derivation, part one
In this episode of FAIC, a conversation I had with a C# user recently. Next time, some further...
Author: Eric Lippert Date: 09/26/2008
Arrays considered somewhat harmful
I got a moral question from an author of programming language textbooks the other day requesting my...
Author: Eric Lippert Date: 09/22/2008
Vexing exceptions
Writing good error handling code is hard in any language, whether you have exception handling or...
Author: Eric Lippert Date: 09/10/2008
High maintenance
The other day I went to buy some snack from the snack machine in the kitchen. The snack I wanted was...
Author: Eric Lippert Date: 09/08/2008
Tasty Beverages
“Diet Dr. Pepper tastes more like regular Dr. Pepper.” That was a previous advertising...
Author: Eric Lippert Date: 08/19/2008
What To Do When The Source Control Server Is Down
I have not forgotten about my series on method type inference; rather, the contrary. I have been...
Author: Eric Lippert Date: 07/30/2008
A Face Made For Email, Part Four
Good heavens, this just keeps on happening to me. If you're interested in what we're musing about...
Author: Eric Lippert Date: 07/14/2008
Method Type Inference Changes, Part One
I want to start this by discussing the purpose of method type inference, and clearing up some...
Author: Eric Lippert Date: 06/17/2008
Method Type Inference Changes, Part Zero
Back in November I wrote a bit about a corner case in method type inference which does not work as...
Author: Eric Lippert Date: 05/28/2008
Precedence vs Associativity vs Order
Raymond has written about this, I have written about Raymond writing about it, but I still...
Author: Eric Lippert Date: 05/23/2008
Method Hiding Apologia
Here's some back-and-forth from an email conversation I had with a user a while back. Why should one...
Author: Eric Lippert Date: 05/21/2008
A Generic Constraint Question
Here's a question I get fairly frequently: the user desires to create a generic type Bar<T>...
Author: Eric Lippert Date: 05/19/2008
Reading Code Over the Telephone
In my youth I once attended a lecture given by Brian Kernighan on the subject of code quality, which...
Author: Eric Lippert Date: 05/16/2008
Mutating Readonly Structs
Consider this program which attempts to mutate a readonly mutable struct. What happens? struct...
Author: Eric Lippert Date: 05/14/2008
Computers are dumb
A few short takes today, from questions I've received recently about LINQ in C# 3.0. The first...
Author: Eric Lippert Date: 05/09/2008
Protected Semantics, Part Five: More on immutability
I asked a second follow-up question back in Part Two: Suppose you wanted to make this hierarchy an...
Author: Eric Lippert Date: 05/05/2008
Yet More Book News
It's a bookish day apparently. I am pleased to pass on news of the availability of the book Eric...
Author: Eric Lippert Date: 04/28/2008
Why Can't I Access A Protected Member From A Derived Class, Part Three
Holy goodness, I've been busy. The MVP Summit was fabulous for us; thanks to all who attended and...
Author: Eric Lippert Date: 04/24/2008
Why Can't I Access A Protected Member From A Derived Class, Part Two: Why Can I?
This is a follow-up to my 2005 post on the same subject which I believe sets a personal record for...
Author: Eric Lippert Date: 03/28/2008
Translating intentions and mechanisms
Before I get into today's blogging, a quick note about my recent post on How To Not Get A Question...
Author: Eric Lippert Date: 03/25/2008
How to not get a question answered
Raymond has had lots of great posts over the years on how to not get a question answered. Some of...
Author: Eric Lippert Date: 02/20/2008
Why Do Initializers Run In The Opposite Order As Constructors? Part Two
As you might have figured out, the answer to last week's puzzle is "if the constructors and...
Author: Eric Lippert Date: 02/18/2008
Why Do Initializers Run In The Opposite Order As Constructors? Part One
Pop quiz! What do you expect the output of this program to be? using System; class Foo{ public...
Author: Eric Lippert Date: 02/15/2008
deque.cs
public interface IDeque<T> { T PeekLeft(); T PeekRight(); IDeque<T> EnqueueLeft(T...
Author: Eric Lippert Date: 02/12/2008
Immutability in C# Part 10: A double-ended queue
Based on the comments, the implementation of a single-ended queue as two stacks was somewhat...
Author: Eric Lippert Date: 01/22/2008
Immutability in C# Part Nine: Academic? Plus my AVL tree implementation
Good Monday morning all. I have received a lot of good comments on this series so far that I thought...
Author: Eric Lippert Date: 01/21/2008
Immutability in C# Part Eight: Even More On Binary Trees
Last year we declared a relatively simple interface to represent an immutable binary tree. We...
Author: Eric Lippert Date: 01/18/2008
Recent Book News, Part Two
Two additional quick notes about books: I am also pleased to announce the availability of the C# 3.0...
Author: Eric Lippert Date: 01/16/2008
Recent Book News, Part One
Good day and Happy New Year everyone, I hope you had a restful and joyous festive holiday season. I...
Author: Eric Lippert Date: 01/09/2008
He's Just Sayin'...
We interrupt our discussion of immutable data types to bring you this late-breaking news: my...
Author: Eric Lippert Date: 12/14/2007
Immutability in C# Part Five: LOLZ!
My sadly soon-to-be-erstwhile coworker Cyrus made me a lolgeek shirt to go with this series of blog...
Author: Eric Lippert Date: 12/13/2007