shipping binary code to browsers
He's not talking about binary code. He's talking about bytecode with the same security restrictions Javascript has, with the only difference being that a bytecode language is optimized for being a target of compilers, otherwise you have to be Google to make a functional compiler targeting Javascript. Flash is bad enough
He's not talking about Java Applets or Flash either, he's talking about shipping a bytecode interpreter/compiler instead of a Javascript interpreter/compiler. if you want to be a good programmer then you need to learn other
languages
I'm increasingly frustrated by having to learn programming languages, not for productivity, not because I'm learning useful new things, but because a certain platform requires it. Eric Raymonds famous article actually recommends you should try and
learn a new language every year
I would take Eric's advice with a grain of salt: far more useful is to learn new algorithms, data structures, some design skills or do some math learning / exercises every year. Or how about sharping those marketing skills by reading some books / travelling / investing in some offshore relationships?Learning a language that's similar to what you already know is a waist of time. And if you properly learn C++, Haskell and Lisp you're pretty much done with everything there is to know about programming languages.
Javascript is actually a real cool language masquerading as a very dull
mainstream one
IMHO, programming languages cannot be separated from their mainstream implementation, as many people seem to suggest. No matter how cool Javascript is, you're going to feel the pain related to browser issues. If all you have is a hammer then every thing looks like a nail
Except that most programming languages are hammers of various sizes with a steeper learning curve than a library that could give you the same productivity.Case in point for Java programmers: http://www.playframework.org/