When programming in CDC I'm always reinventing the wheel, re-implementing stuff like Arrays.toString(Object[])
. Why is it this way? Couldn't CDC (and FP, PBP, etc) be a subset of the current edition of SE, instead of being based on an old (may I say obsolete?) version of Java?
There might be a good reason for this, but I fail to see it.
They are - CDC is a subset of what was the 'current' version of JavaSE when it was defined. (ie. CLDC1.0 > JSR30 > approved in aug. 1999 > based on JavaSE 1.3)
CDC, CLDC, FP, PBP... are all specifications - frozen in time - they cannot be updated. Updating an specification would mean launching a new one (eg. CDC2.0) - and then you would have some devices compliant to the old one and some to the new one.
Besides that, consider the premise "CDC is ... highly optimized for resource-constrained devices, such as consumer products and embedded devices" - and we're talking about resource-constrained devices in 1999.