Increase in developer productivity has been a key driver for all product innovation at Microsoft. The shift from command based DOS environment to a more friendly GUI based Windows; from writing lines of code in a word processor to the drag and drop environment given by integrated development environments (IDEs); switch over to component based development; object oriented programming model etc. have in some way or the other touched a developer's life moving him to hassle free development.
Emphasizing the 'increase in developer productivity', yet again, Vineet Gupta and Janakiram M. S. V. (Jani for friends), technology evangelists at Microsoft addressed queries from a group of software architects from various companies in a deep-dive session called 'The Road Ahead: Where is Microsoft Going with its Products and Why?' at
Microsoft Tech.Ed
2006.
Watch out for the WinFX
The latest Windows SDK includes content for the APIs in Windows
Vista, including the WinFX
technologies: .NET Framework 2.0, Windows Presentation Foundation, Windows Communications Foundation, and Windows Workflow Foundation. "The next generation WinFX layer is a consolidation of, Windows Presentation Foundation (formerly codenamed Avalon), Windows Communications Foundation (formerly codenamed Avalon), and Windows Workflow Foundation," informed Jani.
Elaborating the advantage of Windows Presentation Foundation (WPF), Jani said, "designers are typically not great at development; great developers are bad designers. This API clearly separates the UI or the presentation layer from the programming API, freeing developers from the task of designing the user interfaces and concentrate on their code and giving complete freedom to designers to build world class user interfaces." The Windows Presentation Foundation, will initially ship only on Windows Vista but will soon be extended to Windows XP, mobile devices, micro devices etc under Microsoft's 'WPF Everywhere' initiative, informed Jani.
Windows Communication Foundation
Web-Services support in Windows Communication Foundation provides secure, reliable, and transacted messaging along with interoperability. The service-oriented programming model of Windows Communication Foundation is built on the Microsoft .NET Framework and simplifies development of connected systems. Windows Communication Foundation will be available for Windows Vista as well as for Windows XP and Windows Server 2003.
Currently available in beta versions for client and server versions of Windows, Windows Workflow Foundation (WWF) is the programming model, engine and tools for quickly building workflow enabled applications on Windows. It includes support for both system workflow and human workflow across a wide range of scenarios including workflow within line of business applications, user interface page-flow, document-centric workflow etc.
Languages to watch out for...
On the language front, Vineet spoke about LINQ, C Sharp 3.0, C++ enhancements, Visual Basic 9 and Project Concur. LINQ — acronym for .Net "Language Integrated Natural Query," - is a set of extensions to the .NET Framework that can help address the mismatch between the object-oriented world and the world of data — XML and relational, informed Vineet. LINQ adds query facilities to the .Net framework that apply to all sources of information, not only relational or XML data. Query is an integrated feature of the developer's primary programming languages; LINQ allows query expressions to benefit from the rich metadata, compile-time syntax checking and static typing that was previously available only to imperative code. Language integrated query also allows a single general-purpose declarative query facility to be applied to all in-memory information, not just information from external sources, elaborated Vineet.
Vineet also touched upon some details of Project Concur — MS' futuristic development platform for concurrent programming. "Processor speed is not really increasing, but we getting more computing power in terms of more cores / CPU. According to Intel, by the year 2015, even regular desktops will have several cores, and in such a scenario, only those applications that can parallelize their workload will benefit from the increased computing power. Concur is an initiative in that direction. We are working on building tools for the programmers so that they can parallelize their code and execute code concurrently without the heavy lifting that is required for multi-threaded code today," informed Vineet.
"On the tools side developers can expect that we will continue to achieve even more deeper levels of integration in the future, giving them the flexibility of staying in their familiar environment while exploiting new, more sophisticated tooling," informed Vineet.