September 2005

15 posts

Dictionary Collections

The Base Class Library team silently introduced a new tree-based collection called SortedDictionary<K,V> into the framework. This collection is based on Red-Black trees, with guaranteed O(log n) operations for nearly all operations. For non-ordered dictionaries, Dictionary<K,V>, based on a hash table, is still a better bet, because most operations average
Read more » Sep 24, 2005, 9:24PM

From/Select and Select/From

Paul Vick writes about the debate over using FROM/SELECT (the FLWOR notation, which C# and XQuery use) versus SELECT/FROM (which VB and SQL use) for querying data. It seems that are a number of technical reasons why the FLWOR notation is preferable (intellisense, locality of sequence, order of execution), but
Read more » Sep 24, 2005, 8:38PM
.NET , C#

LINQ Syntax

Query expressions in C# 3.0 bear much more resemblance to XQuery than to SQL in many ways. Below is a sample XML query using XQuery’s FLWOR syntax. for $d in document("depts.xml")//deptno let $e := document("emps.xml")//employee[deptno = $d] where count($e) >= 10 order by avg($e/salary) descending return   <big-dept>     
Read more » Sep 24, 2005, 12:23PM

Late-Binding Suggestion for VB

Steven Lees, the group program manager for Visual Basic at Microsoft, wanted to hear more about my thoughts on Linq after reading my blog post on the same topic. I told him that I like the direction that Visual Basic is going, providing a friendly and accessible syntax for SQL
Read more » Sep 18, 2005, 2:57AM

VB 9

I looked at the VB PDC presentation and a recent team interview. Visual Basic 9 includes an impressive range of features, and the team is currently planning even more unannounced features. The difference in focus between the C# and VB team is becoming much more evident: The VB team is opting
Read more » Sep 16, 2005, 4:19AM

Form versus Function in Office 12

While I don’t think any of the Office 12 applications have gone managed, I do suspect that the new Office user interface (the ribbons, galleries, status bars and other elements of the windows chrome) is based on Avalon technology (aka Windows Presentation Foundation). If so, then Office 12 illustrates the dramatic
Read more » Sep 15, 2005, 2:15PM


I have been looking at the Linq Preview under Reflector, and the more I spend time with it, the more I realize how well thought out and practical it is. All queries are lazily executed. When queries are created, a tree of iterators or query objects are constructed. These queries
Read more » Sep 15, 2005, 8:56AM

Office Reinvention

I’m impressed with some of the strong, long-term and painful decisions that Microsoft has made regarding Office 12. Office is a twenty-year old product, dating back from the eighties (before Unicode, 32–bit, flat memory models, 32–bit color, object-orientation) and never really got the full rewrite that Windows did. It’s as if the
Read more » Sep 15, 2005, 4:29AM


Robert Scoble warned about “shock and awe” from the new PDC announcements. I must admit that I was shocked. I have been looking at the C# and LINQ docs available at MSDN. Language Integrated Query (LINQ) for the most part appears to have been designed well. Integration across multiple data
Read more » Sep 14, 2005, 4:22PM
.NET , C#

PDC Anticipation

For those who read my blog and aren’t developers, the PDC is the Microsoft’s Professional Developer Conference, currently going on now, in which Microsoft will announce a whole new set of futuristic technology. I will be writing more about that in future posts. For those readers who are developers, I
Read more » Sep 13, 2005, 10:06AM

Windows Vista UX Guidelnes

Microsoft just released a preliminary draft of the Windows Vista UX Guidelines, which provides a good indication of where Microsoft plans to take the user interface to in Windows Vista.
Read more » Sep 11, 2005, 11:38PM


Traditional shops will have programmers or architects produce a detailed thorough design of the software, before it is even developed. For a shop with several developers, this makes sense, because the cost of any design errors grows rapidly with time, especially when multiple developers are involved and code needs to
Read more » Sep 5, 2005, 6:46PM


I wrote earlier about a lecture by Jeffrey Richter called “The Art of Thread Synchronization.” Every one of his lectures is fascinating. Richter has just started a regular column called “Concurrent Affairs” in MSDN Magazine, which discusses concurrency in .NET.  Some of the content from his lecture appears in his first
Read more » Sep 5, 2005, 2:54AM

Doctors and Patients

An instructor in my business program, who happens to be a lawyer, remarked about why lawyers with engineering and science backgrounds were highly sought after and paid handsomely compared to their peers with liberal arts degrees. The problem with using lawyers as advisors is that, while they know the law,
Read more » Sep 4, 2005, 4:45PM

Programmer Myopia

Programmer myopia is what happens when a programmers become so fascinated with the interesting special properties and optimization opportunities of a data structure or algorithm that they have discovered that they fail to recognize its suboptimality in general. Anyone studying MS Word’s DOC file formats will be familiar with the
Read more » Sep 2, 2005, 7:46PM





Net Undocumented is a blog about the internals of .NET including Xamarin implementations. Other topics include managed and web languages (C#, C++, Javascript), computer science theory, software engineering and software entrepreneurship.

Social Media