Re: C++ vs. C#

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



"Tom Serface" <tom@xxxxxxxxxxxxx> wrote in message news:D9A0E355-F75F-45D8-9FAB-413985735EE8@xxxxxxxxxxxxxxxx
I don't know that I'd say they were against C++, but C 7.0 (with C++) did not compete well with Borland. However Visual C++ 1.0 put Borland out of business (so to speak). Microsoft got it right and has been dominating the dev tools market ever since. I don't see that changing soon.


Disclaimer: I worked for Borland at the time, and this is probably biased.

The first C++ compilers were from Zortech (later purchased by Symantec) and Borland (Turbo C++). MS was late to embrace C++, probably due to their compiler not being ready. Perhaps due to this, MS argued C++ was immature and led to performance degradation, e.g. virtual function pointers forced a level of indirection which slowed programs down without programmers realizing it. And even when they came out with their first C++, they named it something like Microsoft C/C++ to emphasize C++ should not be considered a replacement for C. (As well it shouldn't because their first C++ was a pile of crap.)

As a funny aside, the Software Development trade show was the biggest one at the time, and MS had a keynote presentation one evening to announce their C/C++ package as a BETA and gave away a couple packages in a drawing. The marketing slogan was, "It's HOT!" A Borland employee was lucky enough to win one. Borland had the keynote presentation the next night. They spent all night and the next day analyzing the Beta, and when Paul Gross from Borland got up to talk, he showed his laptop on the video screen; he had installed the BETA into a directory called "NotHot" and they had run the Ansi C++ conformance tests, and they showed lots and lots of failures. "Microsoft has generously let Borland know of non-conformance in Turbo C++, and we are more than happy to return the favor now!" :-) In addition, he showed a slide of Win32 vs. MFC vs. Borland OWL on lines of source code required for an app such as Notepad. The point is MFC reduced by only a little the number of lines that Win32 required, and OWL a whole lot. So Borland claimed MS came up with a half assed framework. (At the time I liked that MFC was easy to learn since it was so in tune with Win32, but having used .NET and Qt now which are a lot higher level, I would say MFC has served its purpose in history and needs to be relegated to history.)

The next time, MS came out with Visual C++ and as you said, started dominating.

I would say the state of Visual Studio today is slipping and competitors are starting to pop up. The thing is native C++ and desktop apps are now only a subset of the market. Cloud computing, running in a browser, etc. are other ways to develop software that we did not have to think about back then. So even if there was a Borland-like competetor with a C++ desktop solution that put Visual Studio to shame, it may not be enough without the ability to target web apps.

Even this I blame MS for. If they had come up with a light weight, fast, reliable installer that did not require Admin rights for everyting, then installing and updating software would be no big deal and the advantage of web apps would be negated. Instead they invented this Registry thing that requires Admin priviledge and embeds app info along with system info such as whether your network should be run at full duplex or not. Bad move. Then they invent this Windows Installer thing that requires a service to be running and the need to update the installer prior to installing the app. This requires a reboot. Then they invent .NET which makes full use of both Windows installer and the Registry and thus is painful to install and to update, and also requires a reboot.

Not to mention the stupid emphasis on sharing DLL's and the accompanying DLL hell (now SxS hell). Even now when RAM is abundant and cheap, they still discourage static linking that solves these problems, but they've changed their reasoning to security.

Then people say, Enough and run to web apps which require none of this. So congratulations MS, due to a poor user experience maintaining desktop apps, you have created an unstoppable market for web apps. Now we have to deal with Javascript and CSS. Boy, I can't wait. :-(

-- David

.



Relevant Pages

  • Re: usual nontechnical issues
    ... doubt that it will die, as it has, in my experience, been one of those things that made selling Delphi copies easier. ... MS has been pushing VB for enterprise apps for 10 years now... ... Mono is supposed to do that for dotNet developers??? ... Borland drops VCL, it will be IDE and language that complies to MSIL on top of net. ...
    (borland.public.delphi.non-technical)
  • Re: D8: first impression and uneasy feeling... (long)
    ... pack server apps and gui apps. ... I think people that defends .net here is people doing mostly server ... Borland has an incredible potential here, but it has to realize there ... with a .NET server and a win32 client. ...
    (borland.public.delphi.non-technical)
  • Re: DiamondBack support CF, Avalon?
    ... Borland have said they will support it. ... a desktop app works completely ... apps have a ton of limitations that desktop apps just do not have. ...
    (borland.public.delphi.non-technical)
  • Re: Borland Layoffs?
    ... My customers who buy these apps do not care what API ... > impossible for a company like Borland to keep in step with developments. ... > Borland development cycle is like 18 months. ...
    (borland.public.delphi.non-technical)
  • Re: Limited ;) marketing idea
    ... >> has agreements with Microsoft, Cisco, Oracle, etc. ... very good incentive for Borland. ... >> etc. have in a matter of months. ... >> marketing strategy has always been crap in my opinion, ...
    (borland.public.delphi.non-technical)