Discuss
For myself, I’d think about the following:
-
I’d add “NOT NULL” as a modifier to variables, and get the compiler to assert whether something could possibly be null and complain. Why? Because I’m sick of having to assert whether something’s null or not when a compiler should be much better at doing the job than me.
-
I’d remove checked exceptions. Why? Because they don’t actually appear to make it any easier to code correctly. Exceptions always get caught by the VM and are handled correctly anyway.
-
I’d remove the need to make casts where the type can be inferred. Why? Because when it’s obvious that you’re attempting to make a cast, why should you have to type it?
-
I’d have a fast easy native interface to DLLs that would allow you to simply load DLLs/SOs and call functions in them without writing a wrapper library. Why? Because JNI is the single biggest barrier for Java integrating with legacy code and making it hard to load and call 'em is a PITA.
-
I think I’d make mapped objects a first class language construct
-
I’d add the “const” keyword back into the language, and maybe enforce that at VM level too. Why? Because it’s easier than all the of alternatives!
Cas