Re: "delete" asserts in debug build, multiple inheritance (msvc 7.1)
 
"Alf P. Steinbach" wrote:
While some few MS products are really extremely good (the Visual 
Studio debugger springs to mind, while the rest of that product 
is very bad), MS products generally sell for three reasons only: 
(1) an established de-facto monopoly, (2) that MS has the 
manpower and $$$ to do things that require manpower and $$$, not 
ability, like e.g. grammar checking or clip-art, and (3) the 
embrace and extinguish tactic, which is a business model, not 
technical ability.
You can sell crappy software once, but you cannot sell it over and 
over again to millions of people. Even though MS uses the above 
mentioned tactics in order to advance its sells, it cannot rely on 
them alone. If SW doesn't do the job it was intended for, no dirty 
marketing tricks will help.
You mentioned MS Word as the example of a lousy application. With 
all its bugs and quirks I can't replace this application with 
anything else, even though I hardly use more than 30% of its 
features. All other alternatives I tried were worse or much worse.
MS products are not ideal, but in comparison with others I find 
them easier to use and more productive. I think that your main 
mistake is that you think that most of MS products are made for 
you, experienced computer user who willingly explores an 
application's settings and pushes its features up to the limit. 
Overwhelming majority of computer users on the planet are not like 
you. They hate settings and buttons. They follow what application 
suggests and are happy with it.
You get very different perspective on such things when you ship a 
product to hundreds of millions of users. I'm sure you're familiar 
with Raymond Chen's blog and so you know to what extent they 
should go sometimes in order to maintain backward compatibility 
with [badly written] popular SW.
Alex