"The downsides of dynamic languages are real, expensive, and permanent."
Quite elucidating article. I would add one more aspect to this - try refactoring a large, poorly documented code base written by generations of developers with different competency levels. When all the original developers have left the company long time ago.
I would say it's difficult in java, but try doing it in a dynamic language. GOOD LUCK!
And in 2016: https://news.ycombinator.com/item?id=11386306