I’d like to dwell on the type inference part a bit. Around four minutes into the demo, Roman shows that NetBeans figures out the types of expressions, including those involving function calls. In his example, all the types happened to be Strings so it may look like a lucky coincidence. It’s not! Here’s some code fragments showing in more detail what’s going on.
He goes on to walk step by step through the completion points discussing how the IDE can get the information that it does.
It is great to see this great support for dynamic languages, as we are accustomed too on the static side.