Feeds

Reborn or stillborn: all new for Microsoft's languages?

More compliant

  • alert
  • submit to reddit

HP ProLiant Gen8: Integrated lifecycle automation

ComputerWire: IT Industry Intelligence

Is Microsoft Corp born again? That's the question, as the Redmond, Washington-based company renews work over standards compliance of programming languages for Windows

writes Gavin Clarke

.

Microsoft is revisiting the controversial subject of standards compliance in its implementation of C++, the language created by Bjarne Stroustrup at Bell Labs. Microsoft told ComputerWire last week it plans greater adherence to ISO/ANSI standards in the up-coming release of Visual Studio.NET, codenamed Everett and due in the first quarter of 2003.

The company said its goal is a version of Visual C++.NET in Everett that offers conformance with ISO/ANSI standards in the "high 90s" range - up from a relatively poor 60 compliance range under Visual C++ 6.0.

That's not all. Microsoft discussed its plans after news slipped that its newest language, C Sharp, and the Common Language Infrastructure (CLI) have moved to ISO (the International Standards Organization) having received the European Computer Manufacturers' Association (ECMA's) seal of approval.

Why the change? Microsoft has a colorful history of compliance with ISO/ANSI standards in languages to say the least. Visual C++ has long been considered one of the least compliant implementations to the ISO/ANSI C++ standards.

Visual C++ 6.0, the release prior to Visual C++.NET launched in February, deviated from official standards in 15 areas, accounting for that 60% score. Critics, meanwhile, charge that Visual Basic bears little resemblance to Basic.

Microsoft's problem with standards seems to be that it just can't stop itself from fiddling and tweaking to improve performance. Microsoft's fall-out with Santa Clara, California-based Sun Microsystems Inc, after all, centered over the company's implementation of Java which was optimized and speeded-up to suit Windows.

Microsoft's motives in moving C# and CLI to ISO coupled with driving greater compliance on Visual C++ appears to be three-fold. First, Microsoft wishes to be seen as a community player, no longer aloof in the far North West, working with customers via standards bodies.

Secondly, standards bodies ensure no radical shifts in strategy that cause problems for a food chain of tools, compiler and front-end vendors.

Finally, Visual C++.NET program manager Nick Hodapp said developers are becoming more sophisticated. This requires a closer conformity and support for advanced features contained in the official ISO/ANSI standard but currently lacking in Microsoft's implementation.

Microsoft attempted to close the gap in Visual Studio.NET, remedying six features defined by the standard but missing in Visual C++. The planned Everett release goes further with support for partial specialization of class templates and partial ordering of function templates. Visual C++ developers have been using a series of work-arounds to attain these features, but Microsoft believes the time is now right for adoption.

Some are skeptical of Microsoft's commitment, saying it's the same old company. One critic, who wished to remain anonymous, said Microsoft is using ISO as a "rubber stamp" approving changes it makes to languages that actually serve its own community.

"Chances are they will [again] do what they think is best for their developer community and standards will come second," he said.

Adding fuel to concern is a Forrester report, published at the launch of Visual Studio.NET, that says changes between pre- and post .NET versions of some Microsoft languages are big enough to justify a jump to something completely new - like Java. There is also concern Microsoft is simply taking non-compliant Visual C++ and ramming it into Visual C++ .NET.

Others are more optimistic. John Ray Thomas, product manager in Borland's Rapid Application Development (RAD) solutions business group, is enthusiastic about Microsoft's decision. He said standards ease application portability and allow developers to switch between different compilers and a growing array of increasingly mature front ends.

"There has always been concern from language developers when anybody lacks support for a standard. Microsoft has had a few glaring omissions." Past omissions - since fixed - include allowing an integer to operate outside of a loop, so a programmer familiar with the ISO/ANSI standard would unknowingly create bugs when using Visual C++ as they would have been familiar with an integer operating inside a loop - as defined by ISO/ANSI.

Simon Phipps, Sun chief technology evangelist, called the issue of standards for languages an academic exercise, as it depends who controlled the underlying platform. In the case of Windows, Microsoft retains control of the platform. Sun attempted to ratify Java in 1999 with ISO and ECMA, but said its focus was the platform.

Phipps added the real issue is compliance of libraries, since programmers really build in these. "What's relevant to the community is can I call Java classes from this compiler or can I call .NET Framework classes or can I call Borland's classes."

Old habits die hard, though, and Microsoft will not yield entirely to ISO. Microsoft will keep managed extensions away from ISO - at least, initially. Hodapp said managed extensions are "too young" and subject to too much change to justify submission to any standards group.

Hodapp added it wouldn't help Microsoft's cause, of greater community acceptance, by donating embryonic technology. "The reason why we want to play nice in the sand box [is to] get some respect from the community with a highly compliant version" of Visual C++, he said.

Will Microsoft reach 100% compliance? Sadly no, it seems. In languages, it seems "highly compliant" is about as good as anyone can hope for as official subjects are subject to constant change. And things could soon become more complicated. The American National Standards Institute (ANSI) meets this week in Santa Cruz, California, to discuss possible alterations to C++ the standard.

Scotts Valley, California Borland Software Corp will propose that property method and event extensions are included to ease use of component frameworks, and simplify development in C++. If Microsoft is born again, the goal seems to be in closing the gap rather than getting full compliance.

© ComputerWire

The Power of One eBook: Top reasons to choose HP BladeSystem

More from The Register

next story
HIDDEN packet sniffer spy tech in MILLIONS of iPhones, iPads – expert
Don't panic though – Apple's backdoor is not wide open to all, guru tells us
Apple fanbois SCREAM as update BRICKS their Macbook Airs
Ragegasm spills over as firmware upgrade kills machines
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
Captain Kirk sets phaser to SLAUGHTER after trying new Facebook app
William Shatner less-than-impressed by Zuck's celebrity-only app
Do YOU work at Microsoft? Um. Are you SURE about that?
Nokia and marketing types first to get the bullet, says report
Microsoft takes on Chromebook with low-cost Windows laptops
Redmond's chief salesman: We're taking 'hard' decisions
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
prev story

Whitepapers

Designing a Defense for Mobile Applications
Learn about the various considerations for defending mobile applications - from the application architecture itself to the myriad testing technologies.
How modern custom applications can spur business growth
Learn how to create, deploy and manage custom applications without consuming or expanding the need for scarce, expensive IT resources.
Reducing security risks from open source software
Follow a few strategies and your organization can gain the full benefits of open source and the cloud without compromising the security of your applications.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Consolidation: the foundation for IT and business transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.