They don't run independent. They are loosely coupled for maintenance purpose but tightly coupled in terms of scalability. You can't easily pull your business logic out and scale it up on a separate service if needed. Each piece is dependent on another.
In a loosely coupled ( or should I say uncoupled ) system, each component acts independently - no one part of the system cares about another. It just happily performs it's function. If there is need to scale a particular component of the overall system, it much easier without an MVC relationship.
Try to widely distribute a binary written in C++. JavaScript is slower than C++, so what? Lot of languages are. It's still pretty fast and is much more flexible. Thanks to companies like Google and their V8 JavaScript engine the speed gap is shrinking.
Not just web-dev. For example WebOS has node.js runtime built in. Others are following.
It was a "dud" because it was a PITA to scale. Rich client applications = JavaScript frameworks ( Dojo, jQuery, YUI )
My point is really not JavaScript specific, just my personal bias. More and more developers are going to be moving into writing web-based applications. Its where there jobs are and growing. Procedural concepts and MVC do not fit well in this realm. Web dev and even desktop/mobile apps will require not only knowledge of mvc, which is becoming less important, but developers will also need skills in functional languages. Haskell, LISP (especially Clojure), Scala, Erlang, Perl, JavaScript and XQUERY to name a few.
Yes. JavaScript developers do well when writing C code. In fact my experience is that straight C/C++ programmers have a much harder time moving to JavaScript. They often find themselves lost in the prototypical, classless object oriented system. They typically struggle with statelessness, closures, callbacks, and recursion.
Nice assumption