4 ms·
I don't know about that. Bloat bothers me, but it has benefits too. Why is C++ so successful? Because it contains a lot of features. Ask random C++ developers
by zak_mc_kracken 12y ago
I don't know about that.
Bloat bothers me, but it has benefits too.
Why is C++ so successful? Because it contains a lot of features. Ask random C++ developers what their favorite feature of C++ is and you will get a very wide spectrum of answers.
I see Java libraries a bit like this: they are not liked because of the number of features they have but because I definitely need some of these features, and as long as I can use them without having to understand the rest of the library, I'm good.
Guava is a very good example of this: an assortment of convenience functions from a very wide range of domains that you can use without ever having to read or understand the entire Guava documentation.
Having small libraries is pretty much a guarantee for subtle bugs because the author went for the 80%/20% approach and then moved on to the next project. Joda is a good example of that: time libraries are extremely difficult to get right, and yet getting them right is absolutely critical. I will gladly pay the price of including the entire Joda library in my application even if I use 10% of it just for the certainty that it's battle tested, something I very much doubt the collection of libraries presented here does.
- danieldk 12y agoAsk random C++ developers what their favorite feature of C++ is and you will get a very wide spectrum of answers. That's what is always said, but is it actually true? I think a couple of answers will be prevalent and at the top of the list: - Deterministic destruction - Manual memory management / no GC - Templates - C interoperability Would be fun to actually do such a survey and see if there is more spread than other languages.
- MereInterest 12y agoI'd also add operator overloading, though that tends to go hand in hand with templates. The fact that I can write numerical code that works for say, any type that implements addition and scalar multiplication, is wonderful. In Java, as far as I know, this would be utterly impossible, because implementation of interfaces must be explicitly mentioned. Even though Double implements addition and scalar multiplication, it could not be used in such a function because it doesn't explicitly state that it implements such an interface.