Windows .NET Blog /blog/windowsblog/ 2009-09-01T12:15:01-05:00 The Functional Era /blog/windowsblog/archives/2009/09/the_functional.html 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.

]]>
Freelancer Blog mbaker 2009-09-01T12:15:01-05:00
Windows Live! Lives... /blog/windowsblog/archives/2008/01/windows_live_li.html 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).

]]>
Freelancer Blog mbaker 2008-01-04T17:09:57-05:00
Visual Studio.NET 2008 goes live! /blog/windowsblog/archives/2007/12/visual_studione.html 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.

]]>
Freelancer Blog mbaker 2007-12-07T12:41:40-05:00
Scrum: Are distributed teams an oxymoron? /blog/windowsblog/archives/2007/11/scrum_are_distr.html 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.

]]>
Freelancer Blog mbaker 2007-11-07T12:50:27-05:00
TeamPlain v2.0 is unleashed /blog/windowsblog/archives/2007/10/teamplain_v20_i.html 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.

]]>
Freelancer Blog mbaker 2007-10-19T14:57:00-05:00
Windows Workflow Survey /blog/windowsblog/archives/2007/10/windows_workflo.html 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.

]]>
Freelancer Blog jdorsey 2007-10-19T12:19:05-05:00
PowerGUI: get-beta –newest /blog/windowsblog/archives/2007/10/powergui_getbet.html 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.

]]>
Freelancer Blog jdorsey 2007-10-12T16:28:35-05:00
Bundles of Advice /blog/windowsblog/archives/2007/09/bundles_of_advi.html 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.

]]>
Freelancer Blog mbaker 2007-09-28T16:34:59-05:00
Moving up the Food Chain /blog/windowsblog/archives/2007/09/moving_up_the_f.html 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.

]]>
Freelancer Blog mbaker 2007-09-04T16:56:03-05:00
IIS 6 is Tops in Server Survey /blog/windowsblog/archives/2007/08/iis_6_is_tops_i.html Port80 Software develops security and performance tools for Microsoft IIS Servers. It released the results of a recent survey of server usage in Fortune 1000 companies, which states that IIS 6 passed IIS 5 for the first time as the leading web server platform, with a ranking of 36.5 percent. This also puts IIS 6 ahead of the Apache server, at least among Fortune 1000 sites.

]]>
Editors Blog jdorsey 2007-08-16T19:31:43-05:00
.NET Future Directions /blog/windowsblog/archives/2007/08/net_future_dire.html 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.

]]>
Freelancer Blog mbaker 2007-08-14T15:44:30-05:00
Petzold Consulting on WPF for Wintellect /blog/windowsblog/archives/2007/08/petzold_consult.html Training and consultant services firm Wintellect has announced that noted author and sometimes U-Haul driver Charles Petzold is consulting for the company, working with clients on Windows Presentation Foundation projects. Charles' latest book, 3D Programming for Windows, was released in July. He's worked with the company previously, delivering the keynote at Wintellect's Devscovery conference last May. Visit Wintellect's site for more info on its collaboration with Charles.

]]>
Editors Blog jdorsey 2007-08-10T15:30:16-05:00
Cubicaller Add-in Products /blog/windowsblog/archives/2007/08/cubicaller_addi.html The Cubicaller cubicle door bell gives your workmates a way to announce their presence at your desk. (It also gives the manufacturer a way to announce that it was able to talk you out of $12.) I see the Cubicaller market really taking off after I invent the Cubi-Bag-of-Flaming-Dog-Poo.

]]>
Editors Blog jdorsey 2007-08-08T13:08:24-05:00
Silverlight Talks in SL and RL /blog/windowsblog/archives/2007/07/silverlight_tal.html Amanda Silver, Lead Program Manager for Visual Basic (and 50 Cent fan) is giving a talk in Second Life, Tuesday, July 31, 4 p.m. Pacific Time (which is also Second Life Time). The talk is being held on Visual Studio Island (Here's the SLURL). Amanda will be speaking in the Visual Studio Theater. Come early to get a good view -- the theater only seats about 60 avatars.

If you miss today's talk, Brad Abrams, GPM for the UI Framework and Services team is giving a talk on the Island on August 30, at 3:00 p.m. Brad will be discussing ASP.NET AJAX and Silverlight. If you're new to Second Life and want more info before signing up, check out www.visualstudioisland.com. Also if it's dark out when you get to the island, you can always Crtl-Shift-Y to force the sun to noon. For more online Silverlight training check out Dr. Dobb's Sparkleball tutorial.

As for Real Life training, Tim Sneath has posted a healthy list of Silverlight and WPF training courses happening in RL all around the globe. The courses are being held throughout August and September by Microsoft partners, including Wintellect, Dunn Training, Developmentor, and others.

]]>
Editors Blog jdorsey 2007-07-31T17:07:37-05:00
Scrum: How to be consistent about Team weighting /blog/windowsblog/archives/2007/07/scrum_how_to_be.html 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.

]]>
Freelancer Blog mbaker 2007-07-30T12:54:35-05:00