Feeds

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

More compliant

  • alert
  • submit to reddit

The next step in data security

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

Security for virtualized datacentres

More from The Register

next story
New 'Cosmos' browser surfs the net by TXT alone
No data plan? No WiFi? No worries ... except sluggish download speed
'Windows 9' LEAK: Microsoft's playing catchup with Linux
Multiple desktops and live tiles in restored Start button star in new vids
iOS 8 release: WebGL now runs everywhere. Hurrah for 3D graphics!
HTML 5's pretty neat ... when your browser supports it
'People have forgotten just how late the first iPhone arrived ...'
Plus: 'Google's IDEALISM is an injudicious justification for inappropriate biz practices'
Mathematica hits the Web
Wolfram embraces the cloud, promies private cloud cut of its number-cruncher
Mozilla shutters Labs, tells nobody it's been dead for five months
Staffer's blog reveals all as projects languish on GitHub
SUSE Linux owner Attachmate gobbled by Micro Focus for $2.3bn
Merger will lead to mainframe and COBOL powerhouse
iOS 8 Healthkit gets a bug SO Apple KILLS it. That's real healthcare!
Not fit for purpose on day of launch, says Cupertino
Not appy with your Chromebook? Well now it can run Android apps
Google offers beta of tricky OS-inside-OS tech
prev story

Whitepapers

Secure remote control for conventional and virtual desktops
Balancing user privacy and privileged access, in accordance with compliance frameworks and legislation. Evaluating any potential remote control choice.
WIN a very cool portable ZX Spectrum
Win a one-off portable Spectrum built by legendary hardware hacker Ben Heck
Intelligent flash storage arrays
Tegile Intelligent Storage Arrays with IntelliFlash helps IT boost storage utilization and effciency while delivering unmatched storage savings and performance.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Beginner's guide to SSL certificates
De-mystify the technology involved and give you the information you need to make the best decision when considering your online security options.