Some cool things I’ve encountered over the past couple of weeks…
Code Contracts for .NET
This is a preview from the visual studio developer labs group that implements Design by Contract (DBC) principles as espoused by Bertrand Meyer in the Eiffel language. Code Contracts provide a language-agnostic way to express coding assumptions. The contracts take the form of pre-conditions, post-conditions, and invariant object states. The preview uses a small class framework and some compiler hooks to perform runtime and static compile time DBC rule checking. The preview will work with VS 2008 and the CTP of VS 2010. I’m a huge fan of DBC and from what’s said in the interview, it looks like DBC will be integrated into the 4.0 release of the .NET framework. Wohoo!
Top 25 Most Dangerous Programming Errors
Experts from more than 30 US and international cyber security organizations jointly released this consensus list of the 25 most dangerous programming errors that lead to security bugs and that enable cyber espionage and cyber crime. Shockingly, most of these errors are not well understood by programmers; their avoidance is not widely taught by computer science programs; and their presence is frequently not tested by organizations developing software. Every member of your development staff needs to read this bulletin.
UI Design for Developers Video Series
Building an application with a good user experience is about more than pretty pixels and is every bit as important as the business logic in most applications. Here’s a link to some outstanding tutorials on the principles of graphic design produced by the Microsoft Platform & Tools Team. They’re short, very informative and cover the essential elements of graphic design.
Five Step UML: OOAD for Short Attention Spans
I’m a huge fan of UML and I was thrilled when we announced UML support in Visual Studio 2010. If you’d like to get a head start, this book excerpt will wet your appetite. FYI - I’m planning a series of screen casts that show the basics of OOAD using UML in VS 2010 and will highlight the architectures described in the recently updated Application Architecture Guide 2.0 book.
Modular Data Centers
This is just plain wild and for those of you who don’t think cloud computing is coming, think again. Data centers are becoming more and more modular and pluggable as the industry evolves towards a utility computing model (which I think is the right direction) and ALL the major players are banking on it. This article showcases one of the first offerings from HP.