Feeds

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

More compliant

  • alert
  • submit to reddit

Providing a secure and efficient Helpdesk

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

Secure remote control for conventional and virtual desktops

More from The Register

next story
Microsoft WINDOWS 10: Seven ATE Nine. Or Eight did really
Windows NEIN skipped, tech preview due out on Wednesday
Business is back, baby! Hasta la VISTA, Win 8... Oh, yeah, Windows 9
Forget touchscreen millennials, Microsoft goes for mouse crowd
Apple: SO sorry for the iOS 8.0.1 UPDATE BUNGLE HORROR
Apple kills 'upgrade'. Hey, Microsoft. You sure you want to be like these guys?
ARM gives Internet of Things a piece of its mind – the Cortex-M7
32-bit core packs some DSP for VIP IoT CPU LOL
Microsoft on the Threshold of a new name for Windows next week
Rebranded OS reportedly set to be flung open by Redmond
Lotus Notes inventor Ozzie invents app to talk to people on your phone
Imagine that. Startup floats with voice collab app for Win iPhone
'Google is NOT the gatekeeper to the web, as some claim'
Plus: 'Pretty sure iOS 8.0.2 will just turn the iPhone into a fax machine'
prev story

Whitepapers

Forging a new future with identity relationship management
Learn about ForgeRock's next generation IRM platform and how it is designed to empower CEOS's and enterprises to engage with consumers.
Storage capacity and performance optimization at Mizuno USA
Mizuno USA turn to Tegile storage technology to solve both their SAN and backup issues.
The next step in data security
With recent increased privacy concerns and computers becoming more powerful, the chance of hackers being able to crack smaller-sized RSA keys increases.
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.
A strategic approach to identity relationship management
ForgeRock commissioned Forrester to evaluate companies’ IAM practices and requirements when it comes to customer-facing scenarios versus employee-facing ones.