Keep Betting On JS

Keep Betting On JS

Brendan Eich's famous quip, "Always bet on JavaScript", revels in JS's history of naysayers predicting that we'd eventually reach a point where JS couldn't grow to meet the demands of modern development; it turns out those have always been bad bets.

It's safe to say JS is no longer trying to prove itself. It has arrived.

But where is it headed, and what does that mean for us?

35761e3936deba2f8189c2d20982c771?s=128

Kyle Simpson

April 03, 2019
Tweet

Transcript

  1. "The best way to predict the future is to invent

    it."
 --Alan Kay
  2. brief history lesson (of American spaceflight) and incomplete! ^ credit:

    David Hasan
  3. Mercury (Atlas) credit: David Hasan

  4. Gemini (Titan) credit: David Hasan

  5. Apollo (Saturn) credit: David Hasan

  6. lots of baby steps credit: David Hasan

  7. Brendan Eich

  8. Keep Betting On JavaScript Kyle Simpson getify

  9. another brief history (of my journey into JavaScript)

  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. cheating: Flash

  17. $("#menu")

  18. flXHR

  19. LABjs

  20. None
  21. None
  22. There, I fixed it for you. "You Don't Know JS"

    books
  23. lots of baby steps

  24. totally not a history lesson (of JavaScript the language)

  25. ES-early

  26. ES1/ES2

  27. ES3

  28. ES4 (aka ActionScript3)

  29. E4X (totally not ES4)

  30. ES5

  31. ES6 (aka ES2015)

  32. ES2016 (aka ES7)

  33. ES2017 (aka ES8)

  34. ES2018 (aka ES9)

  35. ES2019 (aka ES10)

  36. ...blah, blah...

  37. best progress is incremental

  38. place your bets?

  39. None
  40. None
  41. PWA

  42. PWA

  43. ...a good bet open collaboration

  44. None
  45. None
  46. language machine

  47. None
  48. incremental open always good?

  49. language

  50. code is
 human communication

  51. lingua franca

  52. multi-paradigm

  53. declarative

  54. compat

  55. not... - slow - sloppy - buggy - inconsistent

  56. coming soon to a JavaScript near you ...probably...maybe

  57. class fields

  58. private fields

  59. private methods

  60. optional chaining

  61. readable numbers

  62. BigInt

  63. from 10-days to now...

  64. machine

  65. assembly

  66. increased demands

  67. Proxy

  68. TypedArray/DataView

  69. shared memory!?!

  70. shared memory!?!

  71. shared memory!?!

  72. Atomics

  73. None
  74. sourcemaps

  75. sourcemaps Problems: - stack traces - watch expressions

  76. TypeScript

  77. macros

  78. None
  79. Tom Dale tomdale.net/2017/09/compilers- are-the-new-frameworks/

  80. experimentation in the wild? yes! eh, not so much :(

  81. asm.js

  82. None
  83. WebAssembly

  84. None
  85. language machine a tale of... ...two JavaScripts

  86. language machine so far... ...decent bets

  87. language machine humans where's your bet?