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/

Reply via email to