Journal Articles

CVu Journal Vol 12, #1 - Jan 2000 + Letters to the Editor
Browse in : All > Journals > CVu > 121 (30)
All > Journal Columns > LettersEditor (132)
Any of these categories - All of these categories

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: The Wall

Author: Administrator

Date: 08 January 2000 13:15:34 +00:00 or Sat, 08 January 2000 13:15:34 +00:00

Summary: 

Body: 

The Wall

Your Letters

Steve Wadsworth

Chris Teague


ACCU v Microsoft?

Francis

Is ACCU encouraging it's members to be anti-Microsoft, or does it expect, or even want the majority of its members to be those not using Microsoft tools? If the latter then it is a very short sighted view for the membership numbers! At the recent JACC conference it was evident that whilst external speakers went out of their way to be vendor neutral - even if they had products to sell, the officers of ACCU that spoke, indulged in snide anti-Microsoft comments (that were unsubstantiated). This is unprofessional, and should be unacceptable from an organisation that I believe expects to represent the whole C/C++ community. Are we trying to put off developers who happen to use Microsoft products? I am unaware of market share for compilers, but given Microsoft's dominance of the desktop, I expect that at the very least they have a substantial percentage, and most likely a dominant position. Has ACCU got a sufficiently strong member base to be able to ignore these people (myself, and my colleagues included)?

On a related note you make a couple of statements in September 1999 C Vu. The first is on Page 1: "Visual C++ is not C++", and a similar one is on page 73: "The only real problems with using Visual C++ is that it isn't C++". I expect, given your intelligence, and knowledge in this area that despite the references to MFC in both places, you are distinguishing the libraries from the compiler. I have to ask you to justify these somewhat sweeping statements. I am prepared to accept that even Visual Studio 6 service pack 3 does not fully conform to the recent C++ standard, but then what compiler does? I have no problem accepting that it may not be the most conforming compiler available either, but really to say Visual C++ is not C++, you must know of a significant number of pretty major discrepancies from the standard. Perhaps for our education as Visual C++ 6 users, you could show us where we are not writing C++ when we think we are.

If you refer to the following URL <http://msdn.microsoft.com/visualc/headlines/ cstandards.asp> here are Microsoft's own claims with respect to Standardisation. In particular sections of the interview with John Caves, Microsoft Visual C++ compiler designer of Microsoft are reproduced below:

MS:

How compliant is Visual C++ 6.0 to the newly adopted ISO/ANSI standard?

JC:

The last time we ran the Visual C++ against the Plum-Hall C++ conformance suite we got a score of between 92 and 93%. So I would say that Visual C++ is pretty conformant.

MS:

What about other C++ tools, are they more compliant?

JC:

Yes, there are existing C++ compilers that are more compliant than Visual C++. One example is the compiler from the Edison Design Group (EDG) which I believe is 100% compliant, though this compiler is not widely available on the Windows platform. On the Windows platform Visual C++ is still one of the most conformant compilers.

For those who wish the compiler to be most compliant, Visual C++ offers the /Za switch (for instance local lifetime for loop variables is claimed to be supported in this mode).

Steve Wadsworth Chris Teague

Speakers from companies with products to sell are required to be vendor neutral. If they were not they would not be invited to speak again (we do allow a little latitude).

Independent speakers are allowed to express personal opinions, indeed they are encouraged to do so.

Visual C++ is getting better but Microsoft's main concern is supporting the legacy code of its customer. It should be noted that one of the largest users of MS development tools is MS itself. It would be extraordinary if they did not place the needs of their own application developers very high and would ensure that their code was not broken.

92-93% is not very good. You ask who is more conforming? Well the competition for development tools for executables to run on any variety of MSWindows has a serious problem. A conforming compiler demonstrably cannot compile MFC. Their potential customers' existing code is often heavily reliant on MFC. Result, the competitors licence and ship MFC with their development tools, and ensure that the out-of-the-box version compiles MFC. Metrowerks CodeWarrior is more compliant but Metrowerks find supporting MFC increasingly expensive. I do not know how long they will be able to justify having to cripple their compiler to make it compile MFC.

Have you ever tried using the /Za switch? The last time I did I was swamped with diagnostics relating to the Standard C++ Library (which is an inherent part of C++). In other words, code tuned to compile with VC++ in default mode fails to compile when it is in conforming mode. For example

#include <utility>
int main(){return 0; } 

generated 16 errors when tested recently.

I understand commercial pressures. MS has got where it is because they also understands the market. Unfortunately for those of us who want to port software between platforms, it is in the interests of MS, as the overwhelmingly dominant company in the market, to make such porting difficult. There is little to gain by public criticism of some little known product but leaders in a product area should be brought to task when they persistently ship a product that falls short of what it claims - Microsoft regularly claim that /Za switch solves conformance problems. If it does, it is at a cost that most would not accept. Please do not shoot the messenger. Microsoft with its vast wealth should have the resources to do better, and we, the customers, should be asking that it do so.

Notes: 

More fields may be available via dynamicdata ..