Boffins: Dark times for application development
Ex-Microsoft man holds flashlight
You know it's bad when two top programmers at different conferences in a two-week period say we're in the dark ages of software development.
Speaking at MIT's Emerging Technologies conference in Cambridge last week, Charles Simonyi - creator of Microsoft Office, friend of Bill Gates (and Martha Stewart - thanks ZDNet's Dan Farber), cosmonaut and all-round achiever - said current paradigms and tools for developing applications are primitive and must evolve beyond languages and methodologies.
Evolve to what? To include code written by business analysts.
"They are still in the dark ages," Simonyi said of current programming techniques, including model-driven development paradigms such as Unified Modeling Language (UML) and Domain Specific Languages (DSLs) - lately favored by Microsoft. They invite more input from domain experts and business analysts, but that still fails to encapsulate the business problem within the code.
"We are on the verge of the renaissance but we are not there in the practical world," the billionaire told hundreds gathered at MIT's Krege Auditorium.
That's the intent of Intentional Technology, a company Simonyi co-founded in 2002 after a 25-year career with Microsoft. The 20-employee start-up in Microsoft's Bellevue, Washington, has developed a platform and workbench technology that allows programmers to create generic "generators" that ordinary business analysts use to project a representation of the business problem in terms they understand.
"It's like a super-duper PowerPoint because it projects something that is machine processible," said Simonyi, who invented the first What-You-See-Is-What-You-Get (WYSIWYG) word processor, dubbed Bravo - the precursor to Microsoft's evergreen Word.
This approach, which is platform-independent and not wedded to Windows, focuses on the recipe - and how to mix and cook the ingredients - rather than the meal itself. According to Simonyi programmers today spend too much time rearranging or adding ingredients rather than on finding better ways to mix them.