If you have used any decent java or .net IDE you can see the abundance of features that they provide that either do not exist in c/c++ IDEs or exist in a much more limited form.
I am thinking about features like:
- Code Completion
- Syntax Errors (and compilation errors with no need to compile)
- Refactoring
- Debugging (the amount of information that the debugger can show you about objects)
- Code exploration and analysis (viewing type hierarchies, who calls this function etc...)
What is the main feature of managed languages that enables them to provide this (most would say) superior support in tooling?