Microsoft's to-do list in the software development space includes continued or new investments in multiple areas, including cloud computing, the Web, parallel computing, devices, and agile and distributed development, a company executive said in a blog entry on Tuesday.
In setting its investment priorities, Microsoft is being mindful of an increasing number of choices developers have in programming styles, said S. Somasegar, senior vice president of the Microsoft Developer Division, in a blog entitled, "Key Software Development Trends."
[ Get all the details you need on deploying and using Windows 7 in the InfoWorld editors' 21-page Windows 7 Deep Dive PDF special report. ]
"More than ever before, today's developers are open to considering and using multiple technologies to enable them to build solutions smoothly and deliver them to their customers quickly," Somasegar said.
With cloud computing, Microsoft has "committed to bringing the best cloud computing platform and services to the Windows ecosystem," he said. Microsoft's cloud platform, while not specifically named in the blog, is Windows Azure.
"The cloud is just one example of a virtualized computing platform and the next generation of developer tools must enable developers to build software that deploys and performs well in cloud and other virtual environments," Somasegar said.
"Developers are increasingly choosing the Web as their platform of choice for software and software development. Increasingly, developers and designers are using tools that offer a rich development, debugging, and profiling experience designed for the Web," said Somasegar.
In parallel computing, Somasegar said Moore's Law, in which CPU performance doubles every 18 months, now is being fulfilled by adding more processor cores rather than boosting single-core performance.
"Today, a small handful of programmers have the skills to write code that performs well in multi-core and many-core environments," Somasegar said. "In the future, parallel libraries, debugging, profiling, and diagnostic tools will enable more developers to take advantage of parallel computing resources."
Prior parallel computing efforts at Microsoft have included the company's Concurrency Runtime, offering a scheduling layer to control application resources.
To accommodate the proliferation of devices, Microsoft is evolving its software to take advantage of new user interface paradigms such as speech-, camera-, and touch-based solutions, said Somasegar.
"Windows 7 provides great support for touch-enabled applications in the platform. Silverlight and WPF (Windows Presentation Foundation) have embraced camera-based interactions and multi-touch, as has MFC (Microsoft Foundation Class Library). I expect user interface paradigms to continue to evolve and become more intuitive and powerful," Somasegar said.