So, as programmers age, do they get set in their ways? Are they more afraid to learn new things? Are they old dogs that can't learn new tricks?
Nope. In fact, just the opposite, according to some intriguing new research from North Carolina State University. The study examined the profiles of more than 80,000 developers on StackOverflow. Their number-crunching revealed that as coders get older, their interests widen -- in fact, according to the press release, "the researchers found that there is a sharp decline in the number of subjects users weighed in on between the ages of 15 and 30 – but that the range of subjects increased steadily through the programmers' 30s and into their early 50s."
That extends even to the realm of the hottest programming area today -- mobile devices. Again, from the report:
"For two smartphone operating systems, iOS and Windows Phone 7, the veteran programmers had a significant edge in knowledge over their younger counterparts. For every other technology, from Django to Silverlight, there was no statistically significant difference between older and younger programmers."
This is an interesting phenomenon. I'm not sure how much weight I'd give to a one-source (StackOverflow) study, but it might at least help debunk the perception that older programmers are only interested in COBOL and Fortran.
Posted by Keith Ward on 04/30/2013 at 1:15 PM0 comments
Microsoft, which just days ago pushed out a Windows Azure SDK for Ruby developers, has released a substantially upgraded SDK for its army of .NET Framework developers.
Microsoft Corporate Vice President Scott Guthrie dropped the news on his blog today, calling Windows Azure SDK 2.0 for .NET "a major refresh of the Windows Azure SDK with some really great new features and enhancements."
The upgrades are concentrated in five categories, according to Guthrie:
- Web sites
- Cloud services
- Service Bus
Guthrie started with the improved publishing capabilities through Visual Studio. Now, right-clicking on any ASP.NET Web Project or Web Site brings up a dialogue that enables developers to publish to Windows Azure. He pointed out a difference between the 2.0 SDK and previous versions:
"Starting with today's release you can now associate your Windows Azure Subscription within Visual Studio – at which point you can browse the list of sites in Windows Azure associated with your subscription in real-time, and simply select the one you want to publish to (with no need to manually download anything). Then just select the Web Site on Windows Azure that you want to deploy your app to, hit ok, and your app will be live on Windows Azure in seconds. You can then quickly republish again (also in seconds) without having to configure anything (all of the publish profile settings are persisted for later use)."
Web site management is also improved through Visual Studio Server Explorer. One new tool, for instance, allows streaming of an Azure-based Web site's application logs directly into Visual Studio. This is handy for debugging issues that can only be discovered in a live Azure setting.
On the cloud side, the main change was a big increase in the size of the virtual machines (VMs) that Azure now supports. VMs as large as 8 cores and 56 GB of RAM can be utilized for cloud services.
The new SDK also adds more storage management within Visual Studio, including the ability to create and delete Windows Azure Tables, and add/edit/delete table entities in them from the Visual Studio Server Explorer.
The big news for the Service Bus is an updated client library that adds message browse support and a new message pump programming model that moves to an event-driven processing style.
The PowerShell updates are focused on new automation commands for things like streaming logs, cloud services, VMs, the Windows Azure Store and storage.
Similar to all the Windows Azure SDKs (including those for Ruby, Java, Python and PHP), the .NET 2.0 SDK is completely open source and hosted on GitHub.
Posted by Keith Ward on 04/30/2013 at 9:03 AM0 comments
Ruby developers now have a home on Windows Azure. Microsoft has released the Windows Azure SDK for Ruby, and provided tools and guidance as well.
Since Windows Azure was just released as an Infrastructure-As-A-Service (IaaS), as Microsoft Corporate Vice President Scott Guthrie announced on his blog, Ruby projects can be hosted there without an SDK. What the SDK adds is Windows Azure Data Management and the Windows Azure Service Bus. Data storage options include tables, blobs and queues; the service bus provides message queuing and topics and subscriptions.
Microsoft officially supports Ruby Web apps through Linux-based Virtual Machines; other methods can be used to host Ruby apps, but they're not supported, according to Microsoft's Silver Lining blog.
The Ruby SDK joins a growing lineup of Azure-integrated languages that include Java, Node.js, Python, PHP and mobile devices like iOS , Android Windows 8/Phone (along with Microsoft's .NET languages, of course). Microsoft is essentially saying that no matter what language you use, or what platform and devices you target, that Azure is the best place to host it.
Continuing another trend, the SDK for Ruby is fully open source and hosted on GitHub, which is also true of the other SDKs. Microsoft seems to be doing a 180-degree turn in this area; it's embraced open source to a degree that must be shocking to the open-source software (OSS) community that has bashed Redmond forever for its desire to remain a proprietary software company.
Posted by Keith Ward on 04/29/2013 at 1:15 PM0 comments
Microsoft has released a new version of its Enterprise Library, a collection of reusable software components for developers working in large environments, for the first time in three years.
The Library helps with "cross-cutting concerns" like logging, validation, data access, exception handling and so on. Microsoft calls these software components "application blocks". They contain not just source code, but also documentation and test cases. The latest version is called Enterprise Library 6; the previous full release, Enterprise Library 5, came out in April 2010.
The application blocks function like a best practices guide, only including a lot of software. In this MSDN document explaining the Enterprise Library, Microsoft says the blocks are easy to add to .NET Framework projects. For example, Microsoft says, "The Data Access Application Block provides access to the most frequently used features of ADO.NET, exposing them through easily used classes."
The goals of the Enterprise Library are consistency of design patterns and implementation approaches; extensibility through custom code; increased ease of use through functionality like a graphical configuration tool and better, more complete documentation; and smooth integration, since the application blocks are designed to work together.
Corporate VP of the Microsoft Developer Division S. Somasegar said on his blog that Enterprise Library 6 brings it up to speed with more recent technologies, integrating with ASP.NET MVC and ASP.NET Web API, for example.
Microsoft's Grigori Melnik, Principal Program Manager for patterns and practices, described "cross-cutting concerns" as tasks that need to be accomplished in several places in the types of large, sprawling line-of-business apps targeted by the Enterprise Library. "When trying to manage crosscutting concerns there is often the risk that you/different team members will implement slightly different solutions for each task at each location in your application, or that you will just forget them altogether," Melnik said.
Previous Enterprise Libraries included 4.1, released in October 2008, and retired versions 4.0 from May 2008, 3.1 from May 2007 and 2.0, from January 2006.
Enterprise Library 6.0, made available under the Microsoft Public License, can be downloaded through NuGet.
Posted by Keith Ward on 04/26/2013 at 1:15 PM0 comments
Visual Studio Tools for Git has "crossed a significant threshold of completeness and usability" with its latest release.
That’s according to Microsoft Technical Fellow Brian Harry, who announced the upgrade on his blog today. The key improvements, he wrote, are performance increases, better functioning for large code repositories and fewer merge and pull conflicts for developers working simultaneously on projects.
Note that the most important requirement to get the update is to have the latest version of Visual Studio, which is Visual Studio 2012 Update 2.
In terms of speed increases, Harry published a chart that showed dramatic increases between the Git client tooling for the new release (Sprint 46) and the previous public release, Sprint 44. For example, pulling 100 1KB files decreased from a typical time of 83 seconds to five seconds, and pushing 100 commits up to Git dropped from 76 seconds to 12 seconds.
Visual Studio Tools for Git is a Team Explorer add-on that provides source control integration for Git, enabling integration with any local Git repository and tools to work with third-party-hosted Git repositories. The last update of Visual Studio Tools for Git was in March.
The tools can be downloaded here
Posted by Keith Ward on 04/26/2013 at 1:15 PM0 comments
The most important fact about jQuery 2.0 for Web developers is that IE 6, 7 and 8 are no longer supported. Dave Methvin, president of the jQuery Foundation, blogged that for sites that need to maintain compatibility with older IE browsers, the 1.x versions of jQuery will do just that, including an upcoming 1.10 version (1.9.1 was the last version of jQuery officially released). The older browsers, through the 1.x branch, will be supported for "several more years," Methvin wrote.
The time had come, however, to update jQuery for the modern Web, including Windows 8 apps, Google Chrome, Firefox OS apps, Chrome OS apps, Microsoft WebBrowser control and more. One advantage of the 2.0 release is that it's 12 percent smaller than 1.9.1, owing to the removal of patches needed for IE 6, 7 and 8.
The major changes that needed to be made in jQuery 2.0 when it comes to Windows 8 apps were security related. Since all Windows Store apps have native access to the Windows Runtime, jQuery had to create a new security model, according to Microsoft's Olivier Bloch, a senior technical evangelist, in a blog about 2.0. Jonathan Sampson, director of Support for appendTo, a company that's contributed to jQuery, described the technical reasons:
"While jQuery meets the language criterion for Windows Store applications, Windows 8 exposes all the WinRT APIs within the HTML5 development environment, which comes with a new security model that made some code and common practices of jQuery flagged as unsafe in the context of a Windows Store application. AppendTo reviewed and re-authored portions of jQuery core to bring it into alignment with the Windows security model, as well as identified key areas where alternative patterns would need to be substituted for actually-used conventions."
Posted by Keith Ward on 04/19/2013 at 1:15 PM0 comments
Facebook today released the Facebook SDK for .NET, to enable Windows-focused developers to integrate their applications with Facebook.
The SDK was announced on the Windows Phone Developer Blog. The open-source SDK is C#/XAML based, and can be found at the Outercurve Web site. Most developers will want to install the SDK using NuGet (this page recommends having the latest version of NuGet; some features of the SDK won't work with older versions.)
Before you do any of that, however, you'll need to create a Facebook app. Once that's done, you can build any type Windows Phone 8 or Windows 8 app. Since the provided APIs for both Windows Phone 8 and Windows 8 are "very similar", reports Microsoft, code sharing between the platforms should be simple.
The two critical reasons to develop suing the Facebook SDK for .NET are spelled out in the Windows Phone Developer blog:
- It takes away all of the complexity of logging on with Facebook. Based on the provided samples, all you need to do is use a bit of boilerplate code, add your Facebook app ID to the mix, and voila! You can have people logging on to your app with Facebook.
- It allows you to focus on your Facebook-related scenarios by abstracting away the low-level details such as HTTP connections and query parameters. This way you can plan and develop around Open Graph APIs and objects, which is where you want to spend your development resources.
The SDK is supported as far back as .NET 3.5. Also supported is Silverlight 5 and Windows Phone 7.1, so you don't have to be building only for Windows 8/Windows Phone 8.
Outercurve is a foundation dedicated to bridging the gap between software companies and the open-source community by "providing software IP management and project development governance," according to the organization.
Posted by Keith Ward on 04/18/2013 at 1:15 PM0 comments
Agile is one thing, but this is ridiculous. Less than two weeks after Visual Studio 2012 Update 2 was released, Microsoft already has the first Community Technology Preview (CTP) of Update 3 ready to go. (Mary Jo Foley reported on the release first, as far as I can tell. )
The Update 3 CTP includes a few upgrades, but most of the work seems to be focused around fixing various issues. There are several bits of enhanced functionality in Team Foundation Server (TFS), as this KnowledgeBase article details:
- Build settings can be preserved when you upgrade a TFS 2012 instance.
- Improvements in the New Build Definition UI for the Continuous Integration (CI) build in Git-based team projects.
Most of the fixes relate to TFS as well. Microsoft lists 13 squashed bugs in CTP 1; they include Kerberos errors, SharePoint URL errors, backup and event log problems and more. Nothing looks too horrific.
With the final release of Update 2 earlier this month, that makes two releases in April. There were CTP releases of Update 2 every month in 2013, and Update 3 has now gotten its first CTP.
Microsoft says it's part of its new effort to push out updates much more regularly, but I'm interested in your feedback on this. Could it be that they're too regular? Do you have time to be updating Visual Studio this often? I know that many found it beneficial when Microsoft moved to a monthly "Patch Tuesday" update schedule years ago. Does the same thing hold for Visual Studio 2012? Let me know in the comments, or email me directly.
You can get Visual Studio 2012 Update 3 here. Remember to not put this on a production server. Doing so could be very bad.
Posted by Keith Ward on 04/17/2013 at 1:15 PM0 comments
The struggle continues. I was just reading an eWeek article about programming languages, and why some are less secure than others. This being eWeek, the article was aimed more at a general audience than a developer audience, so some allowances need to be made. But not allowances that are simply wrong, and by an alleged expert.
The article referenced a report by application security firm Veracode. Based on what I read, I'm not sure I'd trust Veracode at all. It has this accurate quote: "Languages such as C/C++ are not type safe languages," explained Veracode Vice President of Research Chris Eng. This is, of course, true.
But then came an error that startled me. Here's the quote:
"In C/C++, the programmer has to keep track of the type and space with no help from the language or compiler, allowing flaws to creep into the software," Eng said. "Languages such as .Net are type safe, so you will see a much lower occurrence of buffer overflow flaws."
"Languages such as .Net are type safe" -- since when did .NET become a language? .NET, as you know and I know -- and Veracode certainly should know -- is a framework, not a language. I don't know if Eng was simplifying it for a reading audience that may not understand the distinction between a framework and a language or not, or if he simply doesn't know the difference.
For the record, I have no problem simplifying complex ideas -- it's something we do here all the time at Visual Studio Magazine, and is very helpful. But simplification is ruined if mistakes are introduced in the process.
If, on the other hand, Eng doesn't know the difference, well, I don't know what to say. I would also hope that eWeek's editors would catch an error as blatant as this, in an article about programming languages. But I'm more shocked at Eng, since he's allegedly an expert.
So, to review: Microsoft's .NET Framework is a platform for building software. It is not a language itself. The primary (but not only) languages developers use to build software on the .NET Framework are C# and Visual Basic. The main tool used by .NET developers is Visual Studio, known as an Integrated Development Environment (IDE).
I'm glad we got that straightened out. I feel much better now.
Posted by Keith Ward on 04/12/2013 at 1:15 PM0 comments
Visual Studio 2012 Update 2 is out of beta and officially available. Among the biggest upgrades, according to a blog entry by corporate V.P./Developer Division S. Somasegar, are improvements to Agile planning, Windows Store development and line-of-business development.
Most of the Agile updates center around Team Foundation Server (TFS), Microsoft's chief collaborative tool. They include work item tags (more on that here), a Connect dialog box in Team Explorer to locate different team project connections and projects, and more customization of backlog items through the Kanban board.
Unit testing, especially for Windows Store apps, also gets enhancements. Probably the key change here is the addition of Web access to the Test Case Management tools in TFS. Developers can now author, edit, execute test cases and file bugs through the Web portal.
Visual Studio 2012 itself also gets some big improvements, including one that will likely appeal to the many developers still annoyed by Microsoft's decision to take out a lot of color in the IDE: a blue theme, to add to the current light and dark themes. In addition, the Blend UI design tool adds support for Silverlight, Windows Presentation Foundation (WPF) and Sketchflow. Efficiency improvements to IntelliTrace, XAML designer and debugging are also included.
The frequent release cycle of community technology previews (CTPs) of Update 2 is in line with Microsoft's increasingly Agile methods. It has pumped out one CTP per month in 2013, with January, February and March editions. Visual Studio 2012 Update 1 was released last November.
The update, which Microsoft has labeled VS2012.2, is available for download here. It doesn't require a restart to install, and is supported on both 32-bit and 64-bit processors.
Posted by Keith Ward on 04/05/2013 at 1:15 PM0 comments
It appears that Microsoft's upcoming Build conference in San Francisco is sold out -- again. But this time for real. This follows on the heels of a "technical error" on the Build Web site yesterday that mistakenly told developers that registration had filled up in about three hours.
Last year, Build sold out in about an hour. Many developers were stunned, and there was more than a little unhappiness that every slot was taken before some folks got back from lunch. Part of the reason is that the 2012 event was held at Microsoft headquarters in Redmond, Wash. This year, the event's being held at San Francisco's Moscone Center, a much, much larger venue.
Build will take place June 26 - June 28. Microsoft, as is typical for this event, has released very few details. However, I was fortunate enough to land an exclusive interview at our Visual Studio Live! conference last week with Steven Guggenheimer, who made the announcement on a blog. He was giving a keynote the same day, and agreed to speak with me on-camera.
Guggenheimer said Microsoft was "excited to have a space where more people could join us." He didn't go into details at that time, but did add that there might be "updates across a range of our platforms," and it could involve Windows products and Visual Studio. (Guggenheimer didn't say there would be definite announcements around those products, only that there could be.)
Certainly, speculation will revolve around what Microsoft will announce about "Windows Blue", the codename for the next version of Windows 8. Earlier today, Mary Jo Foley, who covers Microsoft and is a columnist for Redmond magazine, quoted a source as saying that Windows Blue will be officially named Windows 8.1 when released later this summer.
Given how quickly previous Build shows have sold out, it would be wise for developers to sign up as soon as possible. As Guggenheimer told me last week, "Even with Moscone, I'm pretty sure we'll sell out pretty quick."
The Build Web site is here.
Posted by Keith Ward on 04/04/2013 at 1:15 PM0 comments
Microsoft released an important new Kinect for Windows SDK today. Bob Heddle, director of Kinect for Windows, called it "our most significant update to the SDK since we released the first version a little over a year ago" in a blog posting.
SDK 1.7 is coming out at the same time as a developer toolkit and Human Interface Guidelines (HIG) for adding Kinect functionality to applications.
Heddle points to Kinect Interactions as the crown jewel of the SDK. The idea behind it, he writes, is to "save businesses and developers hours of development time while making it easier for them to create gesture-based experiences that are highly consistent from application to application and utterly simple for end users." The example shown on the blog is a woman at an optometrist's store, who's trying on various virtual pairs of glasses (sunglasses, to be specific).
Kinect Fusion is also part of the SDK, which creates 3-D models from multiple snapshots from the Kinect for Windows sensor. The sensor allows Kinect to build a virtual world around a person, object or environment.
Other upgrades in both the SDK and tools include Windows 8 support, Visual Studio 2012 and .NET Framework 4.5 support, a face tracking SDK, accelerometer data APIs, color camera setting APIs and an infrared emitter control API.
Microsoft has put Kinect for Windows code samples on the CodePlex repository. It's the first time Kinect has been open-sourced, Heddle says. It also demonstrates Microsoft's continuing efforts to make more of its software available, following on the heels of the late-January announcement that Visual Studio and Team Foundation Service would support Git source control.
The SDK and toolkit are available for download here.
Posted by Keith Ward on 03/18/2013 at 1:15 PM0 comments