JavaScript: Your New Overlord

548 views

Published on

First misunderstanding, then huge semipopularity, and now, respect. Despite its many obvious deficiencies, Java's stupid little brother has gotten something profoundly right. What does the future hold for this duckling?

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
548
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JavaScript: Your New Overlord

  1. 1. JavaScript: Your New Overlord
  2. 2. JSON:The World’s Best LovedData Interchange Format
  3. 3. JavaScript:The World’s Most Misunderstood Programming Language Java’s stupid little brother
  4. 4. The World’s Most Popular Programming Language
  5. 5. The World’s Most Popular Programming LanguageThe World’s Most Unpopular Programming Language
  6. 6. It is the language that people use without bothering to learn it first. Programming is complicated business. It should never be undertaken in ignorance.
  7. 7. Java AppletsThe biggest failure in the history of software 1995
  8. 8. Java Applets The biggest failurein the history of software
  9. 9. Ten Days in May Mocha
  10. 10. Java Scheme Self LiveScript
  11. 11. Java Scheme Self LiveScript JavaScript
  12. 12. Java Scheme Self LiveScript JavaScript JScript
  13. 13. Java Scheme Self LiveScript JavaScript CMAS cript JScript E
  14. 14. “Another software technology will come along and kill off the web,just as it killed news, gopher, et al. And that judgment day will arrivevery soon – in the next two to three years, not 25 years from now.” George F. Colony Chairman of the Board and CEO Forrester Research, Inc. [2000] http://web.archive.org/web/20001019084041/http://www.forrester.com/ER/Mark eting/1,1503,214,FF.html
  15. 15. JavaScript was a failed language. It should have died when Netscape died.
  16. 16. JavaScript has Good Parts.
  17. 17. Statically scoped first class functions with lexical closurevar Y = function (le) { return (function (f) { return f(f); }(function (f) { return le(function (x) { return f(f)(x); }); }));};
  18. 18. Prototypal Inheritance An object containinginstance data An object containing public methods
  19. 19. Beginners, scientists,and everybody in between
  20. 20. How IE8 Spends Its Time• Average time allocation of the Alexa 100: Marshalling 7.34% Format 8.66% JScript 3.23% 5.05% HTML 2.81% Other 2.5% Layout 43.16% Rendering 27.25% DOM
  21. 21. High PerformanceJavaScript Engines
  22. 22. Everywhere• Browser• Operating Systems• Databases• Servers• Mobile• Televisions
  23. 23. High Performance Data Structures
  24. 24. Securing JavaScriptCaja http://code.google.com/p/google-caja/ADsafe http://www.ADsafe.org/DR Ses es-lab.googlecode.com/files/dr-ses.pdf
  25. 25. JavaScript: The Universal Virtual Machine
  26. 26. GWT Java JavaScript  so it can run everywhere
  27. 27. spidermonkey.cpp |=> clang |=> emscripten |=> closure |=> js.js
  28. 28. New Languages• CoffeeScript• Kaffeine• Move• Objective-J• Sibilant• ZedScript• and over a hundred more
  29. 29. Old Languages• C++ • Perl• C# • Python• Forth • Rebol• Haskell • Ruby• Java • Scala• Lua • Scheme• Ocaml • Smalltalk• Pascal • Tcl
  30. 30. A better compilation target. goto
  31. 31. JavaScript:The World’s Most Important Programming Language
  32. 32. Thank you and good night.

×