Windows .NET Blog http://www.ddj.com/blog/windowsblog/ Copyright 2009 Tue, 01 Sep 2009 12:15:01 -0500 http://www.movabletype.org/?v=3.14 http://blogs.law.harvard.edu/tech/rss The Functional Era Language evolution is an interesting subject. At least to me. How languages experiment with concepts delivered as features and then find those features making their way into competitor languages because they worked (or ignored because they didn't). It's also interesting how so many of the great languages that we use everyday were designed by a single person or a small group - think about C, the original, pre-standards C++, C#, Basic, Java, and so on. It's also interesting what happens to great languages such as C++ once committees get ahold of them and tack on everyone's favorite wish list of features.

You could ask the question - should a programming language have a lifetime - a birth, middle age and then death, or at least obsolescence. Should C++ have stopped its trajectory of change before its syntax was garbled to the point of being an example of what not to do in language design? Should Java have added generics? Is C# complete enough now or do we need more LINQ style language additions?

One things these languages have in common is that they are within the imperative programming model landscape. That is, they are designed to allow the programmer to specify step-by-step how a task should be accomplished. They've served us well for decades now. However, there's a new kid on the block. The functional languages.

Actually, it's more of a kid who has been a kid for decades now.

For the vast majority of day-to-day programmers, we spend our days working in the imperative languages. Once in a while, we come across an odd article or two about functional, functionally oriented, or functional-object hybrid languages. Some of us may have even fiddled with academic functional languages during university days. But few use them everyday. They've seemed an oddity to programming-in-the-main.

However, with the launch of Microsoft's F# with Visual Studio 2010 next year, the world of functional languages will be upon us and I fear that many programmers will be in for as much of a culture shock as we had moving from DOS to Windows, or C/C++ to .NET. Possibly much more than may be in store.

Simply put, functional programming is unlike anything you do day-to-day in C#, Basic, Java, or any other similar language. A language that has been popular of late is Ruby through its use in the Ruby on Rails web development framework. Ruby has a functional syntax that is both very productive and very different than a C# or Java. The Microsoft entry into this world is F# and was created by Microsoft Research based upon the ML programming language. F# has been bubbling around the edges of .NET for awhile now, but next year it will be make its grand appearance along side C# and VB.NET as a premier language option for .NET developers.

Functional programming, to put it simply, is very, very different from imperative programming. You focus more on what you want to do rather than writing algorithms to make it happen. There are some basics though - in general, functional languages elevate functions (and methods) to first-class status alongside variables. They can be declared, defined, used, discarded and created dynamically. For an object-oriented developer used to imperative languages this can be the first hurdle - getting over the notion of data being the only thing that is dynamic.

There is much, more more to functional programming than what I've covered so far, but follow along with me this year and next as we take a longer look at F# and functional programming in general.

]]>
http://www.ddj.com/blog/windowsblog/archives/2009/09/the_functional.html http://www.ddj.com/blog/windowsblog/archives/2009/09/the_functional.html Freelancer Blog Tue, 01 Sep 2009 12:15:01 -0500
Windows Live! Lives... Microsoft is massively increasing its offerings under the Windows Live platform umbrella and it's worth a look if you're doing anything in the web space (who isn't these days).

]]>
http://www.ddj.com/blog/windowsblog/archives/2008/01/windows_live_li.html http://www.ddj.com/blog/windowsblog/archives/2008/01/windows_live_li.html Freelancer Blog Fri, 04 Jan 2008 17:09:57 -0500
Visual Studio.NET 2008 goes live! Well, the long wait is finally over for Microsoft-technology developers. Visual Studio.NET 2008 (formerly code-named Orcas) was released by Microsoft on Nov 19th 2007. Microsoft immediately made the release available for download from MSDN for users with a current subscription. In addition to the IDE and other developer tools, an enhanced Team Foundation Server was also released providing a series of new capabilities to users.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/12/visual_studione.html http://www.ddj.com/blog/windowsblog/archives/2007/12/visual_studione.html Freelancer Blog Fri, 07 Dec 2007 12:41:40 -0500
Scrum: Are distributed teams an oxymoron? As an Agile practice, Scrum puts great emphasis on frequent daily colloboration among the team members. As an example, the Daily Scrum is a 15-minute, daily, stand-up meeting where the Team comes together to discuss the all important 3 questions - what did I do/finish yesterday, what am I working on today, and what is holding me up? Often, Scrum teams work in large, open rooms where dedicated workspace is eschewed in order to work more closely together on common tables. Whiteboards are hung on the walls with notes, product backlog items (PBIs), impediments, the Scrum burndown chart, and so on. So it would seem that a team that needs or wants to be distributed outside of a single space is a no-can-do in Scrum, right?

Wrong.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/11/scrum_are_distr.html http://www.ddj.com/blog/windowsblog/archives/2007/11/scrum_are_distr.html Freelancer Blog Wed, 07 Nov 2007 12:50:27 -0500
TeamPlain v2.0 is unleashed You may recall that Microsoft purchased TeamPlain v1.0 from DevBiz Solutions earlier this year. This is the web based front end to the Microsoft Team Foundation Server. It's much simpler and easier to use that the Team Explorer that comes with Visual Studio. And it relieves end users from having to install Visual Studio to interact with a TFS project. DevBiz was in the middle of v2.0 when they were purchased. Since this, all has been quiet.

Until now.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/10/teamplain_v20_i.html http://www.ddj.com/blog/windowsblog/archives/2007/10/teamplain_v20_i.html Freelancer Blog Fri, 19 Oct 2007 14:57:00 -0500
Windows Workflow Survey Kavita Kamani posted a link to a Windows Workflow Survey now being conducted by Microsoft's Connected System Division. They're looking for input on potential improvements for future releases, but they're also interested in hearing from developers who aren't currently using Windows Workflow. The survey takes about 30 minutes.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/10/windows_workflo.html http://www.ddj.com/blog/windowsblog/archives/2007/10/windows_workflo.html Freelancer Blog Fri, 19 Oct 2007 12:19:05 -0500
PowerGUI: get-beta –newest Recent MVP inductee Dmitry Sotnikov has released the latest beta of PowerGUI, the free admin console for Windows Powershell. PowerGUI.1.0.11.207 includes several improvements suggested by users, including the standalone mode script editor. Last August, Dmitry demonstrated PowerGUI for Microsoft's Jeffrey Snover on Channel 9. Jeffrey and Dmitry also contemplated future enhancements: Learn and Master Windows PowerShell with Quest Software’s PowerGUI. The PowerGUI site also features several additional screencam demos.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/10/powergui_getbet.html http://www.ddj.com/blog/windowsblog/archives/2007/10/powergui_getbet.html Freelancer Blog Fri, 12 Oct 2007 16:28:35 -0500
Bundles of Advice The Microsoft Patterns & Practices team has been busy bundling their advice. So busy in fact, they've decided to package the advice along with software bits including software components, test harnesses, guidance documents, How-To tutorials, and so on. And you guessed it. They're calling these things bundles.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/09/bundles_of_advi.html http://www.ddj.com/blog/windowsblog/archives/2007/09/bundles_of_advi.html Freelancer Blog Fri, 28 Sep 2007 16:34:59 -0500
Moving up the Food Chain The astonishing, and to me, profound thing about some the new .NET technology coming out from Microsoft is how we are now beginning to move away from low-level, implementation worries and toward enabling construction of applications from ever larger abstractions. In a way, and to me at least, this is what will get us to where we need to be to deal with ever larger amounts of complexity.

Time for bigger plates.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/09/moving_up_the_f.html http://www.ddj.com/blog/windowsblog/archives/2007/09/moving_up_the_f.html Freelancer Blog Tue, 04 Sep 2007 16:56:03 -0500
.NET Future Directions So you've gotten used to .NET 2.0, and are probably reading up on Windows Presentation Foundation (WPF), Windows Communications Foundation (WCF), LINQ, and so on. You're probably thinking that there's a lot of parts to .NET now, and you're drinking from the proverbial firehose.

Microsoft hasn't even gotten warmed up.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/08/net_future_dire.html http://www.ddj.com/blog/windowsblog/archives/2007/08/net_future_dire.html Freelancer Blog Tue, 14 Aug 2007 15:44:30 -0500
Scrum: How to be consistent about Team weighting Occasionally I'll return to the theme of Agile/Scrum and cover more detailed HowTo's that hopefully will give you additional insight into applying Scrum to your development practices. This time I'll cover issues around Team weighting of Product Backlog items for a Sprint, and the challenges of keeping consistency in the weights themselves.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/07/scrum_how_to_be.html http://www.ddj.com/blog/windowsblog/archives/2007/07/scrum_how_to_be.html Freelancer Blog Mon, 30 Jul 2007 12:54:35 -0500
Agile 2007 is near Hopefully you signed up for the Agile 2007 conference that is coming to Washington D.C. from August 13-17. If not, you're out of luck since it sold out. If you are going, be sure to attend the sessions on introducing Agile to a team and various means to ensure its success.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/07/agile_2007_is_n.html http://www.ddj.com/blog/windowsblog/archives/2007/07/agile_2007_is_n.html Freelancer Blog Wed, 11 Jul 2007 12:11:04 -0500
The Acropolis Leaks No, not the one in Greece.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/06/the_acropolis_l.html http://www.ddj.com/blog/windowsblog/archives/2007/06/the_acropolis_l.html Freelancer Blog Fri, 08 Jun 2007 15:48:22 -0500
Smart Client Software Factory V2 Goes Live The Microsoft Patterns & Practices team has released v2 of the Smart Client Software Factory which you can find here. This new release includes support for Windows Presentation Foundation (WPF), improved Offline support, improved guidance packages, newly enhanced support for Click-Once Deployment, VB2005 Support, and of course, many bug fixes.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/05/smart_client_so_1.html http://www.ddj.com/blog/windowsblog/archives/2007/05/smart_client_so_1.html Freelancer Blog Wed, 30 May 2007 14:38:39 -0500
Early Bird on Agile 2007 Conference Just a reminder to everyone that the Agile 2007 conference to be held on August 13 to 17, 2007 in Washington D.C. has a Super Early Bird discount on cost if you register by June 1.

]]>
http://www.ddj.com/blog/windowsblog/archives/2007/05/early_bird_on_a.html http://www.ddj.com/blog/windowsblog/archives/2007/05/early_bird_on_a.html Freelancer Blog Fri, 04 May 2007 12:08:26 -0500