- I Want To Hate C++. Really!
- "Good" Points of VB and Java
- Let's Blame Somebody. How About Sun and Microsoft?
- Summing Up
Let's Blame Somebody. How About Sun and Microsoft?
Now, some of the people who think they don't need this level of functionality (or who just don't want to think about it) work for Sun and Microsoft. Many other members of this class of people are in dire need of programming jobs, for which they are competing with C/C++ developers who know how to spell memory. To counter the inherent disadvantages that these people carry around like baggage, the folks at Sun and MS have created libraries of functionality so that their capability-challenged brethren can get along in the same world as people who have actually gone and created their own code.
Both Sun and Microsoft have quite a bit more money than your average individual developer, and so they got together (not literally) and decided, "We're going to screw those other guys by giving our guys billions of dollars and thousands of hours worth of codefor free!" (Maniacal laughter.) And so they have, and now the earth is covered with people who "know" programming because they've read a VB book and can create a form, or who think that a direct copy between objects is automatically a shallow copy.
There's a counter-argument to this, of course: that Microsoft has also provided a massive base of functionality for C++ programmers to use. That's funny, insofar as it's a lie. Any rational human being who has ever used MFC, or coded in C++ under the Windows environment, knows that the most heinous thing on the face of this beautiful planet is Microsoft's interpretation of C++ as a set of C wrappers, with (for added fun) a bunch of totally nonANSI changes made to the basic language. There are people out there who can write excellent code for Microsoft compilers, and who would pass out if faced with good old gcc.
In other words, Microsoft has made the C++ developer's job harder, not easier. Instead of writing five lines of code and painting buttons on a form, just to get started coding under Windows a C++ developer needs to write a dozen complicated functions that pass dozens of parameters that use Microsoft-defined data types, and then worry about things like string tables and resources. It can take days to write what it takes hours to produce with VB. Does this seem like parallel functionality to you? Me neither.
And, as a side note, what's this C# crap? From the looks of it, some Microsoft project manager merged the ANSI manuals for C and C++, mixed in some documentation for Pascal and FORTRAN, slapped on some early version 1.1 Javadocs for Java, and told his team to go to it. Microsoft's replacement for C++ is sad, unwieldy, overblown, and abrasive, but Microsoft seems (for reasons known only to themselves) to be pushing harder for it than for, say, a better language ([cough] C++) that happens to be free. In fact, their new .NET paradigm seems to be aimed directly at not using any of the strong points of C++, and instead focusing entirely on the strengths (few that they are) of the other Microsoft languages, which I should mention again are not free.
Some people might denounce me as a conspiracy theorist, but the proof is out there. Microsoft and Sun are two very powerful corporations, bent on dominating the world of application development, and neither of them like C++, as evidenced by their current language-design choices. C++ lives on only because it is a better language than anything they've yet been able to offer.