Peter Miller

Musings on Technology and Programming
in

It's the Framework, stupid

Careful readers of this blog have probably noticed that despite working for a company that specializes in custom software development using Microsoft technologies, I have not posted much about Microsoft or .NET technologies. Instead I have focused on general software development topics, plus a smattering of exploration into non-Microsoft languages, such as Python, Ruby and Erlang.

Python, Ruby and Erlang have all been wonderful to learn about and work with, and I continue to plug away at all of them in various capacities. General topics, such as my last post about versatilists and technicians are fun ways to provoke some debate. And in general, I haven't found there to be a dearth of .NET related blogs to comb through.

Nevertheless, I wanted to venture back into the crowd to talk about what I think .NET does right (despite being too popular and widely used to ever be called "sexy"). Put simply, what .NET does right is to shift the focus away from particular language features and to the environment that the developer works within.

Let's put some meat on those bones. What I'm suggesting is that Microsoft has put a lot of effort into taking away any excuse a developer has for not creating a successful application by surrounding this developer with a vast array of supporting tools.

The first of these tools is the .NET Framework itself, an embodiment of the "batteries included" philosophy, which is composed of a giant number of classes designed to make your life easier as a developer. Than there is Visual Studio, oft criticized for its bulk, which provides you with IntelliSense (to find you way through that big framework), a web designer and a forms designer (to easily create GUI's), an nicely integrated debugger, and with some editions, a profiler, nicely integrated source control, etc. Then there is the documentation, represented officially by MSDN, which is expansive and nicely uniform. Finally, there is the community, which owing to the popularity of .NET is somewhat a self sustaining advantage in that so many people are using .NET and writing about it that a well phrased Google search is a .NET programmer's best friend.

So, as a .NET developer, a lot of the job of programming is done for you. This does not mean that developing applications in .NET is easy or for dummies. It just means that the challenges of programming in .NET usually arise not from algorithm design or harnessing obscure language features, but in finding, understanding and customizing the right set of components and tools for your particular application.

In fairness, this approach is not unique to .NET, but the .NET ecosystems size and structure puts this approach to the front and center. And like all generalizations, this one is not entirely accurate as there is a lot of creative effort being put into the .NET languages themselves. Nevertheless, I think it is accurate to state that .NET is distinguished just by how it is described, as .NET, a full environment for developing applications, not just a specific language.

Posted: Jan 20 2008, 06:56 PM by pmiller | with 1 comment(s)
Filed under: ,

Comments

Kiss my shiny metal… » Blog Archive » It’s the Framework, stupid said:

Pingback from  Kiss my shiny metal…  » Blog Archive   » It’s the Framework, stupid

# January 21, 2008 8:29 AM
Leave a Comment

(required) 

(required) 

(optional)

(required)