I couldn't watch the video. I am starting to think though, that the sweet spot is to not just simply use javascript for everything and hope for the best- or to use java or something else and enjoy the sweet refactoring IDE glory, but a synthesis of making well tested components in a static language that you orchestrate with a scripting language- (if I have a choice, I actually would probably choose lua). In my experience so far, a lot of tangle often comes about by a confusion of library code and application code- the two styles of programming are very different. A module is very structured and regular, while application code seems to be ad hoc, specific, and irregular. There's nothing stopping both from being written in the same language, but if you decide that libraries go in one language, and application code goes in another, there's smaller risk of the two accidentally forming interdependencies. Then you set the goal that the dynamic portion of the program is to never exceed 2000 lines of code- and you have the basis for --- an experiment at least. Since really that's kind of what we are all doing. It's pretty well known by now I think that nobody has discovered a One True Way of doing this software stuff.
We haven't really figured out how to write large complicated applications- Static analysis is no magic bullet, and neither are dynamic languages. I think what we are seeing is just a kind of physics of the mind- reactions and re-reactions to unpleasant experiences we've all had, and are trying to avoid, which leads us to polarise on the static/dynamic divide.