recentpopularlog in

mcherm : c#   17

C# in Depth: Implementing the Singleton Pattern
Threadsafe ways to do lazy initialization of a singleton in C#.
c#  programming  concurrency  concurrentprogramming 
february 2013 by mcherm
In managed code we trust, our recent battles with the .NET Garbage Collector
A real interesting analysis by the StackOverflow guys how they tamed severe garbage collection delays caused by large structures making it into generation 2.
programming  garbageCollection  profiling  c#  via:twitter  StackOverflow 
october 2011 by mcherm
A C# compiler bug - and the response
Now THIS is how the maintainers of ANY compiler, language, or ANY other tool ought to behave. Eric Lippert responds to a valid report of a bug in the C# compiler.
programming  c#  EricLippert  via:EricLippert  compiler 
april 2011 by mcherm
L-peer in the software world: Switching from C# to Java
Successfully converted a large, mature project from C# to Java using code conversion tools.
programming  softwaredevelopment  mono  java  c#  via:HackerNews 
april 2010 by mcherm
The Stack Is An Implementation Detail: Fabulous Adventures In Coding
The real difference between a value type and a reference type in C# is NOT that reference types go on the heap and value types go in the stack. The real difference is that value types are passed by value and reference types are passed by reference. (For some definition of those terms.)
c#  programming  languagedesign 
april 2009 by mcherm
Double Your Dispatch, Double Your Fun : Fabulous Adventures In Coding
A review of the decisions in the design of C# about how the == and .equals() methods should be handled. Symmetry and single vs. multiple dispatch were issues. And curiously, the two had DIFFERENT answers; Eric explains why.
languagedesign  programming  c#  via:EricLippert  EricLippert 
april 2009 by mcherm
Fabulous Adventures In Coding : Representation and Identity
Some rather thoughful details about how the "cast operator" behaves in C# (and similar reasoning applies in most C-derived languages). It does two different things: assert to the compiler that a thing has a certain type (even though the compiler wasn't sure on its own), or tell the compiler to perform an operation to change something from one type to another. It's pretty much two opposite operations in one operator. Messy!
programming  languagedesign  c# 
march 2009 by mcherm
High maintenance : Fabulous Adventures In Coding
An example of poor design and improved design in a simple utility method. Amazing how very wrong it can be in just a few lines. Well explained.
programming  c#  bug  EricLippert 
september 2008 by mcherm
Mutating Readonly Structs: Fabulous Adventures In Coding
Peculiar behavior possible when a mutable data structure is stored in a read-only field in C#.
programming  c#  mutable 
may 2008 by mcherm
Fabulous Adventures In Coding : Immutability in C# Part Eleven: A working double-ended queue
Description and implementation for 2-3 finger trees in C#. Explains their advantages rather well.
programming  functional  datastructures  c#  immutable 
february 2008 by mcherm
Yet Another Language Geek : The Marvels of Monads
Another Monad tutorial. This one is particularly close to being comprehensible. It also discusses the interesting idea that LINQ is essentially monads for C#.
monad  programming  tutorial  c#  linq 
january 2008 by mcherm
Yet Another Language Geek : In Case You Haven't Heard
An interesting language feature now apparently being added to c#: "partial functions". This is for use with the template method pattern; its special behavior is that if the method implementation is left blank then the compiler avoids generating a call to
c#  programming  languagedesign 
december 2007 by mcherm
Yet Another Language Geek : Extending the World
Talks about the "extension method" feature of c# 3.0. Shows how this allows c# to use idioms resembling Python or Haskell. There are some problems with it (which he doesn't discuss), but it's an interesting idea nevertheless.
c#  languagedesign  programming  blogentry 
december 2007 by mcherm
C# From a Java Developer's Perspective
A comparison between C# and Java by someone who should know.
parallelprogramming  c#  java  languages 
may 2007 by mcherm

Copy this bookmark:

to read