3 ms·
> "Either Java itself sucks or Java encourages its developers to suck. I'm not sure which." Neither. Java makes it easy for developers that suck to contribut
by darkpuma 8y ago
> "Either Java itself sucks or Java encourages its developers to suck. I'm not sure which."
Neither. Java makes it easy for developers that suck to contribute. (The subtle difference here being that it won't make a good developer lose his competency.)
Incidentally this is why companies love java so much. Hiring a java developer straight out of college is much easier than hiring a C++ developer straight out of college. Arguably in the last few years Java's niche has been encroached on by other accessible languages with mild learning curves (golang, javascript/node, etc) but for years Java was the obvious choice if you wanted to hire cheap developers that could at the bare minimum fullfil the design requirements.
- hedora 8y agoIt definitely encourages its developers to suck. More politely, it comes with non-removable training wheels, which makes it OK if you’re getting started as a developer, but a terrible choice for projects that will require experienced developers.
- darkpuma 8y agoI 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.
- wolrah 8y ago> Neither. Java makes it easy for developers that suck to contribute. So do PHP and Visual Basic. Both of those languages are very well known for having a larger than normal amount of developer suckage, but they don't seem to have the same sort of fragility as Java. There are a lot of shitty Wordpress plugins out there, but never have I ran in to one that only worked on a specific narrow window of PHP releases in the same way as many terrible Java apps are with the JVM.