Peter Stathakos - Stack Of Toast

Microsoft, .NET and Life in General

  Home  |   Contact  |   Syndication    |   Login
  367 Posts | 3 Stories | 1085 Comments | 457 Trackbacks

News


Technorati Profile

Email: pstathakos@hotmail.com
MSN: pstathakos@hotmail.com
Skype: Add me to Skype

Chipis & Pellitos. Get yours at bighugelabs.com/flickr



My guestmap


Locations of visitors to this page

Creative Commons License
This work is licensed under a Creative Commons License.

Tag Cloud


Archives

Post Categories

Image Galleries

Links

I was reading this post on threading by Tim Bray and I had a few reactions to it which I wanted to talk about. Even though a large part of the post is Sun heavy (not surprising since Tim works for Sun) the message is applicable to any modern complex computing system.

So basically, Tim is saying that processing speeds are going to be coming from the new multi-core processors coming down then line and that we really need to start thinking about how to best utilize this technology. It's not enough to take last year's code and plunk it into a multi-core system and expect it to run exponentially faster.

The line that really stood out to me was this:

First off, we agreed pretty quickly that there isn’t one “developer community”; there are infrastructure developers who totally have to think about threading and concurrency, and there are application developers who would totally rather not.

That's exactly the sort of thinking that got us garbage collection in .NET. Most developers just want to make their application work properly. They don't really want to worry about all of the extra overhead associated with managing memory, worrying about security and optimizing performance. They just want to write their code, make it work properly and move on to something else. This is where the big guys like Sun and Microsoft come in.

These are the companies that should be (and probably are) thinking about all the hard stuff like resource management. Hence the GC. Now all a .NET developer has to do is make sure they don't do anything stupid with the GC and the objects are managed for them. Simple.

The same goes for multi-threading and security. These are two big items that can be tackled by the real close-to-the-metal pros who totally grok threading. The components developed by these teams can then be presented to the average developer as a nice easy to use package that they just plug in to their projects and have all the well designed features at their disposal.

One group that is doing great work in this area in the Microsoft Patterns and Practices group, for example, The Enterprise Library Application Blocks. I haven't had a chance to dig too deeply yet but what I have seen so far is excellent work. I believe that we'll see multi core processing and multi-threading being handled in much the same way. What do you think?

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
posted on Friday, June 17, 2005 6:28 PM