Valgrind 1.0.0 Released
Anonymous Lazy Boy writes "Yesterday saw the official release of Valgrind 1.0.0. Valgrind is a C/C++ programmer's dream come true: effortless memory allocation checking, uninitialized memory access, leaks etc. Purify for Linux has arrived, only better: contrary to its commercial (non-Linux) sibling, checking is performed directly on the executable, no re-linking necessary.
The technology behind Valgrind is highly fascinating and explained down to the very gory details in the documentation."
Except that for Java it doesn't need to be debugged, the JRE does all the memory allocation and deallocation for you. If C/C++ is to last into the future, it really is going to have to handle the memory allocation fiasco at run-time. While OSS has the advantage of infinite codeing time, in the real world, coders have a salary. It takes time to debug memory leaks. I don't think that there are many developers out there that can program good enough to make up the cost in added hardware it would take to run Java at the same speed. Even if they could, their talants would be much better spent adding new features to compete than slaving over a memory leak. Before I write code, I ask myself if 20% faster code is justification for all the work of porting my app to other hardware, hours (if not days) debugging memory leaks, and hours of recoding the functionality of the java class library that I need. Tools like this and LGPL'd libraries adjust the equation, but they won't tip it until I can depend on ANSI C/C++ compiling my code on virtually every platform (including the GUI) and there is a garbage collection system set up for C++ that doesn't cut performance by more than that same 20%.
Languages shouldn't be free as in beer. There needs to be one standard in Java, and SUN provides just that. Just like Larry Wall controls Perl and guides it into the 21st Century, there has to be some organization to do the same for C/C++ or it will surely grow old and die. C was a good language for it's time, but if it is as rigid as assembler, it will suffer the same fate. Ask yourself how difficult it is to write a GUI in C/C++ that will work on more than one platform. GUI's are as standard as iostreams now, yet there is no standard for programming GUI's.
This is just a bandaid over a severed limb, and there are several more limbs that aren't looking to good either.
Karma Clown