December 29, 2005

Four Lost Days...

Speaking of Microsoft, I recently spent four whole days hunting down a memory leak in the C++ Portable Components caused by a bug in Microsoft's C++ iostreams implementation. Aargh.

And as if that wasn't enough, they managed to introduce new bugs in Visual Studio 2005. For starters, try this:

#include <sstream>

int main(int argc, char** argv)
{
    for (int i = 0; i < 1000000; ++i)
    {
        std::stringstream s;
    }
}

and watch the memory usage of this simple program go through the roof. At least, in the meantime they have acknowledged that there is a bug.

I am tired of hearing how many zillion dollars MS is investing into R&D to improve software quality when they cannot even get the most basic things right. Instead they are doing bullshit like this.

Thank you, I feel better now.

Posted by guenter at December 29, 2005 08:51 AM
Comments

Let me be the devil's advocate here.
First of all, a disclaimer: I certainly do not intend to condone writing buggy code or attempts to one-sidedly modify the standard. Bugs just happen while standard extensions are "standard" corporations behavior.
However, considering the current state of affairs, if it were not for Microsoft, I'd have some serious doubts about the future of C++. Just think of programming language strategies of say, IBM or Oracle, not to mention the very sad fact that C++ has been "obsoleted" in favor of Java in huge portion of the universities. Regardless of how much we love or hate the above mentioned corporations, they significantly influence the shape of the global software landscape. As for the use of Java in universities - it is truly sad what is being prevalently preached in these "houses of knowledge" nowadays, but that's a topic for another thread.
As for the linked Kalev's article, he has some valid points there. However, his main complaint has been ironed out by MS (see http://www.devsource.com/article2/0,1895,1885051,00.asp)
Furthermore, his rant about CLI not being standard does not hold. Danny should do his homework - C++/CLI indeed is standard (http://www.ecma-international.org/publications/standards/Ecma-372.htm).
Kalev writes a lot and frequently makes trips into nonsense areas (as an example, see the review for his ANSI/ISO C++ Handbook on ACCU site). I read his material, but always take it with a grain of salt.
And now, let me conclude with a quote from Bjarne Stroustrup himself:
"Humility, patience, and tolerance are important because most of the time, you're wrong."

Posted by: Alex Fabijanic at December 29, 2005 04:48 PM

Alex made an interesting point about "Java-only at university". Yes off-topic, important none the less. IMHO this is a disaster waiting to happen (well, actually it has happened already, e.g. http://arnosoftwaredev.blogspot.com/2004/10/knowing-java-but-not-having-clue.html).

Posted by: Arno at December 29, 2005 10:37 PM

Since both Alex and Arno mentioned Java, I'd also like to point to Joel Spolsky's latest article: The Perils of Java Schools (http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html). He is damn right.

Posted by: Guenter at December 30, 2005 06:57 AM

And before I forget: substituting C# for Java is not a valid solution to the problem.

Posted by: Guenter at December 30, 2005 07:07 AM

I see I've hit the spot with my Java remark, so I'll go a bit further. Joel is right on the spot, it is hard to believe how university personnel is so concerned about not giving students hard times.
I know of a university where there is a serious debate going on about whether it is justified to give the computer science students - hold your breath - programming assignments. Of course, the assignments in question are given overwhelmingly in Java although C++ is "tolerated" for the dynosaurs that still don't get that Java has replaced C++ long time ago. An then there is the topic of generic programming. Java crowd generally loathes it. Those who know what it is, I mean. Considering the way generics are implemented in Java, I am with them. If that is generic programming, I don't like it either. It should have been named "angle bracket casting".
For the conclusion, let me quote Stroustrup again (this may not be written anywhere, but I've heard it from him personally ): "Java is the most uninteresting language I have ever seen."

Posted by: Alex at December 30, 2005 02:30 PM