Here is the video of the JAX talk:
Backward-thinking points were disappointing. Complaining about JS as “weakly-typed” is an old stale, and unresolved argument tantamount to beating a dead horse. Simply put, what does this accomplish? A more complicated counter-point to would be – please discover the purpose and advantage that it provides for the web! Often overlooked, under-appreciated, and immeasurable advantages of: flexibility, immediacy, and amateurization. Which are key for general human interaction of the web – not expert interaction, which it sounds like you favor heavily.
Thanks for taking the time to comment.
Let me first address the weak typing (and in more generally dynamic typing) issues. I think far from beating a dead horse it’s an issue that developers have to deal with on a daily basis.
On the one hand there are some interesting benefits: simplicity, not having to deal with a type checker, meta-programming (Grails framework does some really interesting things in this area).
A larger (philosophical) issue with dynamic/weak typing is that it can lead to non-composability of modules. e.g. two modules set the same property (of some prototype, for example) to a different value. Both modules work in isolation but fail when combined in the same application. Reminds me of http://en.wikipedia.org/wiki/Mars_Climate_Orbiter#Cause_of_failure
To summarize, weak/dynamic typing has benefits, and it won’t cause JS to be an abysmal failure. But, there are large parts of many applications that are inherently static. And, its an obstacle to building reliable, composable software.