Language strengths
- Software development
- Threads make network software easier
- Exceptions and garbage collection make robust design easier
- Security features catch programming mistakes
- Package facilities provide structure
- Shallow learning curve
- Syntax is the same as C++
- Not as subtle as C++
- Threads and synchronization are simple