System.WeakReference internals and side-effects

After discussing the uses of WeakReference, I decided to dig into the internal implementation in .NET a bit more.  I thought I’d write a short bit about how the WeakReference class works internally, and some side effects of using this vs. a standard strong reference.

Read more

Working with the GC instead of against it – System.WeakReference in .NET

While garbage collection isn’t the thing that sets .NET above development in C++ in my mind, it is a major factor.  The garbage collector in .NET is a wonderful thing.  It makes development much cleaner, safer, and more enjoyable in general.  Not only do you get great developer productivity boons, you also have a level of safety that just makes writing memory intensive code more fun.

The GC in the CLR is fantastic – until it isn’t.  As much as I love the garbage collector, it also can have some pretty nasty side effects, notably causing memory leaks that are sometimes difficult to trace and fairly painful to correct.

Read more

Visual Studio 2010 Beta

Microsoft just released Visual Studio 2010 Beta to the public at large.  Now we just have to wait for the final release…

Just keep repeating: “C# is not Java. C# is not C++.”

Vicente Cartas’s latest blog post on Singleton’s in C# (original post in Spanish) illustrates something very important for learning C# well – there are subtle, but very important differences in C# which are very valuable to learn if you’re coming from a Java or C++ background.  This is a classic example – the traditional C++ forms of the Singleton pattern are not appropriate in C#.

C# and .NET make life a lot easier, in a lot of ways… but it’s critical to understand the subtle nuances caused by the abstraction layers .NET provides. 

Read more

Great news on the parallel front for VS 2010

I just saw Daniel Moth’s latest post on new features in Visual Studio 2010, and I got excited and decided that I had to share.

Read more

IDisposable Part 5 – Using IDisposable Classes in C#

For part 5 of my series on IDisposable, I want to focus on using IDisposable objects.  We’ve seen many of the ways and reasons you might create an IDisposable class.  Now, we’ll use the classes we’ve created.

Read more

IDisposable Part 4 – Factored Types

For part 4 of my series on IDisposable, I wanted to mention one other place where this interface should be used – Factored Types.

Read more

IDisposable Part 3 – Encapsulating an IDisposable class

For part 3 of my series on IDisposable, I’m going to focus on ownership of other IDisposable resources.  In this series, we’re going to build on our LicenseAGenerator class from Part 2, encapsulating inside of a class which will use it repeatedly.

Read more

You know you’ve found a bad C# API when…

I’ve been evaluating a certain, unnamed 3rd party vendor.  They have a programming library API for integrating their product into OEM solutions.

I purposefully don’t want to point fingers, or name specific names, but this API is one of the worst C# API’s I’ve ever seen.  I don’t understand why they even bother providing a C# API and samples…

Read more

My company is a hiring UI Developer!

C Tech Development Corporation is hiring a UI developer.  C Tech rarely hires new developers, since we try to maintain a stable, long term relationship with our employees, so this is a unique opportunity.  Anybody with strong user experience skills, and a .NET development background, please feel free to check it out.

« Previous PageNext Page »