I already mentioned that reference counting is not enough for GC...  That I
know.  I personally don't user reference counting very often.  The most
common case being a case where a resource doesn't itself point to anything.
That way I know it won't form a loop.  But usually, I just don't use it at
all.

And I don't htink I missed the point about productivity.  I've heard that
argument time and again.  That is fine.  I personally find that with the STL
in C++ and with the ability to write my own templates, I can write
algorithms in fewer lines of code that in Java.  I also can force users of
library code to use my code in specific ways and limit them more with C++.
I find that a library written in C++ can be much tighter than in Java which
prevents debugging later.  I don't find that freeing memory is really
something that takes much programming effort, but if it is something that
slows you down a lot, I can understand that is might hurt your
productivity.  For me, not having templates would slow me down tons.  For
me, not being to overload operators would slow me down tons.  Yes, these
things can be misused; Yes, there is a learning curve; But, I've already
learned that stuff and most of my time is spent designing how classes will
work.  Many times the designs I come up with would not work in Java without
signifigantly more code.  They are also frequently more object oriented than
what is possible with Java.  But that is fine, and it is why there are
multiple languages.  I don't think that Java is a bad language for
everything, but for what I do with my skills, it is not what I'm most
productive with.

On Nov 13, 2007 2:36 PM, Stefan Nobis <[EMAIL PROTECTED]> wrote:

> "Nick Apperson" <[EMAIL PROTECTED]> writes:
>
> > Reference counting and copy on write.
>
> Do you know that there's much more to garbage collection than
> reference counting and that reference counting has some major
> drawbacks? There are even hard real time capable garbage collectors
> out there.
>
> > But I'll be damned if Java takes over the world because there are
> > programmers that don't know when they need to use garbage
> > collection.  If you can't avoid memory leaks, fine, don't use C++ or
> > C, but don't blame the language.  You could use garbage collection
> > if you need it; don't make us all stoop to your level of competency
> > and don't try and claim that your language is just as fast when it
> > isn't.
>
> You miss the point: Using languages with GC is not about programmers
> who can't avoid memory leaks. It's not about ability, it's about
> productivity. If the only reason you don't use assembler is that with
> C your code is easier to port to a new processor I think you won't
> understand, but there are languages that are *much* more expressive
> (in the sense that an problem/algorithm is much more compact and
> readable to write down) than C. Yes, this comes at a cost, but not a
> very high cost and on the pro side you have a (much?) higher
> productivity (and maybe even more maintainable code).
>
> Java and C# are not that interesting, but even as someone who really
> dislikes these languages one has to admit that the default libraries
> are a strong argument in favor of these platforms. I personally really
> like Common Lisp and if I try I get quite comparable performance to C
> (maybe 20-60% off). But I perceive the code so much more readable (and
> maintainance is very important to me), that other aspects lose in
> value. I don't use Common Lisp because I'm not capable to write error
> free C code. For me writing code in Common Lisp is the most natural
> way to express my thoughts to a computer, it's really fun.
>
> Performance is really an important aspect in developing software and
> should be considered from the very beginning on. But it's not the only
> important aspect (and the choice of the language is not the only way
> to influence the overall performance) and often it's hard to balance
> all these aspects and you have to make trade offs. All these trade
> offs have different pros and cons and in most cases the choice is not
> evident even for really brilliant people.
>
> So go on, try new languages, try new ways to express yourself and have
> fun. :)
>
> --
> Until the next mail...,
> Stefan.
> _______________________________________________
> computer-go mailing list
> computer-go@computer-go.org
> http://www.computer-go.org/mailman/listinfo/computer-go/
>
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to