My Technical Focus Areas for 2008

12. February 2008 05:38

When it comes to my list of favorite technologies, it is no surprise to find WCF at the top of the list.  Ever since I first experimented with the bits of the early CTPs, I have been an avid supporter of the platform.  The design is so flexible and extensible that I suspect it will continue to be the communication goo of Microsoft .NET solutions for a number of years.  While I have no intentions of abandoning WCF, I have been feeling a desire to branch out a bit into some other areas.  After giving it quite a bit of thought, I have decided that I am going to focus my research/learning efforts in the following areas for 2008:

In case you haven't heard, Oslo is the codename for a concerted effort by the Microsoft Connected Systems Division to unify some of their products into a complete SOA platform.  For the most part, it will be manifested in the next major version of BizTalk, Visual Studio, and .NET Framework.  However, I suspect there will be some announcements within the next few months that unveil some of the pieces to the puzzle.  This is an area that greatly interests me, and I intend to follow the developments of Oslo very closely.  As a side effect, I anticipate becoming much more intimate with BizTalk this year.

Parallel LINQ (PLINQ)
I have always been fascinated by the complexities of parallel processing.  It has so much potential to provide truly scalable solutions that really harness the capabilities of the underlying hardware.  However, let's be honest.  Parallelism is not a simple programming endeavor.  It can quickly become very complicated, and a lot of developers have a hard time really understanding the intricacies of multithreaded execution.  Furthermore, the current state of the hardware is making it difficult to ignore the necessity of parallelism.  In seven years from now (maybe sooner) when there are CPUs with 128 cores, you will have a hard time taking advantage of the hardware if you are still programming in a single-threaded sequential fashion.  Fortunately, PLINQ has a lot of promise for making the lives of developers much simpler in regards to parallelism.  During the coming months, I intend to delve more deeply into PLINQ and it will likely be the subject of a number of posts.

Functional programming has recently received a lot of attention, particularly in the realm of Microsoft .NET.  Personally, I think F# has a lot to do with it.  While it is still considered an incubation project within Microsoft Research, it has been revealed that F# will become a featured language of .NET with full support in Visual Studio.  I'm really excited about the benefits this language has to offer.  While many of the concepts are still somewhat foreign to me because of my imperative programming background, there have been a number of "wow" moments from listening to podcasts from DNR and Hanselminutes that featured F#.  Within the next month or so, you should begin to see a few posts showing up here about F#.  I suspect there will be some good material to write about as I attempt to wrap my mind around many of the functional programming concepts.

Comments are closed

About Me

I'm a passionate software developer and advocate of the Microsoft .NET platform.  In my opinion, software development is a craft that necessitates a conscious effort to continually improve your skills rather than falling into the trap of complacency.  I was also awarded as a Microsoft MVP in Connected Systems in 2008, 2009, and 2010.

Can’t code withoutThe best C# & VB.NET refactoring plugin for Visual Studio
Follow jeff_barnes on Twitter

View Jeff Barnes's profile on LinkedIn


Shared Items


Anything you read or see on this site is solely based on my own thoughts.  The material on this site does not necessarily reflect the views of my employer or anyone else.  In other words, I don't speak for anyone other than myself.  So, don't assume I am the official spokesperson for anyone.