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/