Willaim Harold Newman: I actually already addressed this concern earlier when I said "If you don't directly use the heap in C++ ( i.e. you use the smart pointer class) you don't have to worry about garbage collection (except if you make a circular list)."
As far as the other stuff you said, I'd say it is generally pretty fair. I would consider Java more if it added in the things that really help me to be productive. I think many people program in a subset of C++. They don't use metaprogramming to it fullest potential, they don't use multiple inheritence, they don't use the other advanced idioms avaliable in C++. I can understand why these people might prefer Java. I write lots of code in C++ that saves me tons of development time that simply couldn't be written in Java. So it really depends I think on what you use. For me, I'm more productive in C++. Nick Apperson: You write as though garbage collection is "reference > counting and copy on write." You are in good company, lots of very > smart people have arrived at that conclusion over the years, enough of > them that even decades ago it was a cliche that people joked about > (see "Moon instructs a student" at > <http://catb.org/jargon/html/koans.html#id3141202>). And despite that > cliche, the idea got built into the "garbage collection" in languages > like Perl. Alas, it is basically incorrect: at least, you need to > beware of important cases where it breaks down. In particular, it is > easy to cause memory leaks in a reference counting scheme by setting > up cyclic references. And alas, not all problem domains make it > natural to avoid cyclic references. You seem to be used to problem > domains which feature a clear notion of which object owns which > object, and that lets you avoid cyclic references by setting up a > directed acyclic graph of ownership relationships. But not all > problems are like that. In Go, consider a graph representing the cycle > of three or more board positions which make up a ko fight. If there > are records representing representing those board positions and > referring to each other, which record owns which? Or for another > problem domain, see > <http://www.perl.com/pub/a/2002/08/07/proxyobject.html>. For simple > cases like that, special-purpose hacks suffice to work around the > problem. But as data structures get more complicated, special-purpose > hacks scale poorly, while true GC continues to Just Work. >
_______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/