A programming concept called "generic functions," borrowed from mid-1970s languages such as ML, will let programmers write data structures that can be used with multiple data sets.
Microsoft plans to include a programming time-saver borrowed from academic languages such as ML in the mid-decade version of its Visual Studio development tools, a senior researcher at the company says.
Andrew Herbert, assistant director at Microsoft Research's Cambridge lab in the United Kingdom, says researchers have built a version of the C# programming language and Common Language Runtime that incorporates a programming concept called "generic functions." The code lets developers write templates for data structures such as arrays, trees, and lists that can be reused with multiple sets of data, instead of requiring programmers to write a new data structure for each set.
"I'd write a piece of program that expresses the concept of a tree," says Herbert. Then, one developer could use the generic function feature of the C# compiler to create a tree structure for user records. A second developer could apply that template to a group of digital photos, for example.
Generic functions appear in teaching and research languages such as ML, developed in the 1970s but have been hard to implement in business languages such as C++ and Java. Microsoft plans to include the functionality in Visual Studio Whidby, the code name for the next version of the tools suite after Visual Studio .Net 2003, which ships in April. Microsoft plans to build into that product extensions to the C# compiler, and a new version of the Common Language Runtime.
Herbert was in Redmond, Wash., for TechFest, a two-day event at which 6,000 Microsoft employees signed up to tour Microsoft researchers' exhibits and attend lectures.
The Business of Going DigitalDigital business isn't about changing code; it's about changing what legacy sales, distribution, customer service, and product groups do in the new digital age. It's about bringing big data analytics, mobile, social, marketing automation, cloud computing, and the app economy together to launch new products and services. We're seeing new titles in this digital revolution, new responsibilities, new business models, and major shifts in technology spending.