So far I have been using Java development. Java is multi-platform (now runs on Android!), Has a very powerful virtual machine and is open, behaves well, etc. But it is also old and seems to be stopped on time in terms of language features. Scala and Gosu are good replacements, but I don't like the Scala syntax, and Gosu is very immature and unlike Scala's gain. All this makes me think about switching to C #, at least for web development! Phew!
Support for the IDE is very important to me. Right now I'm using Eclipse for Java, and my favorite features are these (first of all, a few):
- Full code navigation (call hierarchy, viewing variables, reading and writing, inherited elements).
- Incremental compilation (which means fast compilation).
- Before compilation, many types of errors were discovered and emphasized.
- Many smart quick fixes (can fix / write a lot of code for you and quickly rename elements and refactoring links).
- Intelligent and customizable code completion. Display tooltips even for non-returning packages / classes.
- Over 15 types of refactoring, all of them are very useful.
- More than 15 options for generating source code (add unrealized methods, generate getters and setter, generate delegates).
- Customizable code formatter, even for code snippets (select code and format).
- The debugger supports hot code replacement and Drop to Frame, so I can return to checking other things without running the program completely.
- ( , "this" ..).
- , CVS .
- - ( , JavaScript HTML ).
- ( , , eGIT).
Visual Studio #/ASP.NET? , , , .