Facebook had tournament called their Hacker Cup where competitors tried to solve a series of problems in two hours. Interestingly most of the competitors programmed in C++. However Petr Mitrichev who one used Java. When asked why he used Java, he said:
It’s harder to make a mistake in Java.
I think a lot of programmers miss this concept when it comes to programming. Some constraints that may seem to slow you down can actually make you faster when you consider the cost of errors. I’m not trying to say that Java is a perfect programming language. However, Petr decided that for him and his goals it provided an environment that helped protect against making mistakes–mistakes that could cost significant time to fix.