Some JavaScript trends in the last few weeks that I didn't know was possible:
PDF Rendering [1]
MP3 Decoding / Playback [9]
Parsing/Rendering RAGE Game Levels [2][3]
Parsing EXIF Data from JPG/TIFF Images [4]
Physics Simulations [11]
Animated/Interactive Insanity (Thanks Ben Vanik!) [5]
Servers! (Nodejs) [6]
Video Games [7]
Why isn't any of this being done at the same scale and fervor with Flash? Why not Java Applets? JavaFX? Air? Silverlight?JavaScript seems to have something going for it that only Java before it had: a VM arms race involving all the major tech companies in the industry.
The first 4-7 years of Java's life was punctuated by almost yearly (notable) performance jumps as Sun, IBM and BEA battled each other for the VM crown (Microsoft bowed out early after the lawsuit so I won't include them). I remember the pre-1.4 days as relatively blasphemous to use Java on the server side; it was too "slow and bloated" for a large-data application (although IIRC eBay was one of the first large-scale commercial rollouts of Java).
Post-1.4, into the 1.5/5.0 and 6.0 days it became a forgone conclusion for a lot of folks that Java was just what you used on the server[8].
That shift and acceptance caught me off guard at the time, but I see that as a direct function of the performance increase in Java (and server hardware) suddenly allowing the convenience of using Java to be a reality with less and less cost associated with it.
That seems to be exactly what is going on now with Google, Apple, Mozilla and Microsoft. I imagine some of these companies (Microsoft?) would have preferred staying out of the VM wars, but find themselves committed[10] because of how fast the tech is advancing.
Look at what JavaScript was doing 4 years ago compared to those links I posted above and it's night-and-day; more of a leap than Java ever took and I don't see the trend slowing.
I've been curious for 4 years or so what Java.next() would be.
Ruby has got it's following and GO will most certainly have it's group of supporters grow in the next few years as the language matures, but none of these languages had what it took to actually knock Java off its "I do everything pretty well on most all platforms!" pedestal until JavaScript sauntered in the room and every hacker with a wild hair decided to do things I thought were impossible with it.
To recap, why I see JavaScript as Java.next():
- Platform independence (Desktop, Server, Mobile, etc.)
- VM Arms Race / Investment from 4 mega corps
- Java-esque feel to it, making it an easier transition
- Big existing code base of libraries and examples
Do you all see the same writing-on-the-wall that I do or have I just convinced myself it is there?[1] http://blog.mozilla.com/cjones/2011/07/03/pdf-js-first-milestone/
[2] http://blog.tojicode.com/2011/05/webgl-rage-source-is-up.html
[3] http://www.youtube.com/watch?v=d0S2dsuSxHw
[4] http://blog.nihilogic.dk/2008/05/reading-exif-data-with-javascript.html
[5] http://www.ro.me/
[6] http://nodejs.org/
[7] http://www.webresourcesdepot.com/25-amazing-javascript-games-some-fun-and-inspiration/
[8] http://www.infoq.com/articles/twitter-java-use
[9] http://jsmad.org/
[10] http://mashable.com/2010/10/29/microsoft-silverlgiht-html/
[11] http://www.queness.com/post/3296/8-amazing-javascript-experiments-of-physic-and-gravity-simulation