3 ms·
I would phrase that as "It doesn't encourage developers to get better."
by darkpuma 8y ago
I would phrase that as "It doesn't encourage developers to get better."
- hedora 8y agoNot my original wording, but it definitely includes roadblocks that prevent developers from progressing after a point. Examples: Type erasure means the standard library doesn’t quite use generics right, so you end up sprinkling unchecked casts all over the place. It is nearly impossible to handle resource lifetimes correctly, even with autoclosables. No unsigned types, so many advanced algorithms are neigh-impossible to express, let alone rediscover. Encapsulation for primitive types comes with a high runtime overhead (cache misses, gc pressure) Package-private doesn’t quite do what you want for large projects, where you want to split API implementations into multiple packages.