On mySimon: Radius Toothbrush
BNET Business Network:
BNET
TechRepublic
ZDNet
TalkBack 26 of 37:
Next »
« Previous
Yes, but not for the reasons you might think....
It helps to remember that "C/C++" was a marketing term coined by Microsoft for their C 7.0 compiler (early '90s). When the competition, notably Borland, Symantec and Watcom, were producing superior compilers that accepted reasonably standardized (pre-ANSI) C++ code, Microsoft was still stuck with a C engine with defects that had been well-known since the mid-80s. "Advanced" features like exceptions, run-time type information, templates and so on were not available with "C/C++" 7.0 and Visual "C++" 1.0, not because they were "too advanced" for users - who were screaming for them - but because Microsoft was institutionally incapable of keeping up with the compoetition, let alone innovating. (See Steve McConnell's books, notably Code Complete, for a more inside-the-greenway viewpoint). It took years - until the introduction of "Visual C++ 6.0" (C compiler version 12.0) for Microsoft to deliver a tool that experienced C++ developers could take seriously.

What does this have to do with code stability and quality? Everything. Since Microsoft bludgeoned themselves into a dominant position in compilers (owning the development and target platforms didn't hurt) without actually having to deliver the "advanced" features that really made C++ C++, their consumers (programmers in the field) didn't actually have to use the language features that would have made their code more reliable. By using "Visual C++" as "minimal C++ semantics and traditional C coding styles", from a stability and security standpoint, we're back in the K&R C days - but we've psyched ourselves into thinking that our code is so much better because we've got all these nifty tools available. But it really isn't, since we haven't made the change in mindset needed to use the tools effectively. It takes about a year for a good C programmer to become a decent C++ programmer under optimal conditions. The hardest part is learning to think differently - to approach program architecture and implementation from a different viewpoint. Once you do that, however - and once you have the tools and other kit needed to do an effective job at that - the programs you write will be inherently more secure.

That, in my view, is the main thing that's needed if we want to have secure, trustable software. Developers need to really make that transition - and customers need to encourage companies that do that and penalize the ones that obviously don't do it in a systematic way.
Posted by: jdickey_z   Posted on: 05/27/04 You are currently: a Guest | Members login | Terms of Use

Alert moderator to an offensive message

Subscribe to this discussion via Email or RSS

Laughable PR flannel  jellyclock | 05/26/04
Yawn. Nothing new here.  BruceS_z | 05/26/04
MS, please get your money back... it didn't work.  Xunil_Sierutuf | 05/26/04
You mean like all the Apache flaws?  No_Ax_to_Grind | 05/26/04
The web servers with the most flaws that cause the most problems is IIS  DonnieBoy | 05/26/04
But is it the server of choice  John Dulles | 05/27/04
ha ha ha  FreeBSD | 05/27/04
Biased? surely not!  agottschald | 05/27/04
Lesson learned from Firestone!  kd5auq | 05/26/04
Bad Analogy  IH8DOTNET | 05/26/04
Not quite...  ryusen | 05/26/04
Fire Up the Lawyers  IH8DOTNET | 05/27/04
and you so cleverly ignored a key part of my argument  ryusen | 05/28/04
There are laws  michael-t | 05/26/04
Important possibilities  Anton Philidor | 05/26/04
Addendum  Anton Philidor | 05/26/04
Post-addendum...  Confused by religion | 05/26/04
How is that a change?  Anton Philidor | 05/26/04
You get what you pay for  seosamh_z | 05/26/04
You forgot about one thing........  middle of nowhere | 05/26/04
you're assuming...  stephen732@... | 05/26/04
C/C++ Considered Harmful  awalkerco | 05/26/04
c# is a cheap knockoff - nt  stephen732@... | 05/26/04
You're right about C/C++  John Carroll ZDNet Moderator | 05/27/04
Ada runtime makes many checks  Andyvan | 05/27/04
Yes, but not for the reasons you might think....  jdickey_z | 05/27/04
More innovation.  Cardinal_Bill | 05/26/04
Come on Bill, you know better.  No_Ax_to_Grind | 05/26/04
A Yes or No answer only to this question.  Cardinal_Bill | 05/26/04
Waste of Space  agottschald | 05/27/04
(NT)Hey look who we got here taking odd pot shots, you'r like semi-retired?  Spin_Masterz | 05/26/04
Bitty, Bitty, you've acquired Foot-In-Mouth Disease! Heh, heh  dicktaurus@... | 05/27/04
How useful is this argument?  John Dulles | 05/27/04
Microsoft, as an example, makes a spesification each year!  B.O.F.H. | 05/27/04
You're right on target  springerj | 05/27/04
It is a reality  michael-t | 05/26/04
The buck stops where...  limelight | 05/27/04

What do you think?

SponsoredWhite Papers, Webcasts, and Downloads

  • Smart Tech Expert advice on innovations in healthcare and the green technologies that make it happen. Find out more
  • Smart Business Discussion and advice on management issues that revolve around making your world smarter and more useful. More Smart Advice
  • Smart People The best and worst moves in the management and strategy trenches. Learn More