Js for learning

27
JavaScript for learning

description

Quick talk on why js is good for learning and some gotchas. Probably doesn't translate well w/o narrative & live code doe

Transcript of Js for learning

Page 1: Js for learning

JavaScript for learning

Page 2: Js for learning

JS for Learning

Page 3: Js for learning

JS for Learning

•You use it every day at work

Page 4: Js for learning

JS for Learning

•You use it every day at work

•You can mold it into a lot of different styles

Page 5: Js for learning
Page 6: Js for learning

JS for Learning

•You use it every day at work

•You can mold it into a lot of different styles

•In my experience, it’s the least awkward paradigm

Page 7: Js for learning

•(live example)

Page 8: Js for learning

JS for Learning

•You use it every day at work

•You can mold it into a lot of different styles (show examples)

•In my experience, it’s the least awkward paradigm

•Mixed paradigm so you can ease in

Page 9: Js for learning

•(live example)

Page 10: Js for learning

•osteele’s functional.js

•lambdajs

•underscore/scoreunder

•fancy

Libraries

Page 11: Js for learning

Level up

•Start with map/filter/reduce/some/every

•Pure functions within objects

•Play with curry and compose

•Sensible point free

•Category theory

Page 12: Js for learning

Hurdles

Page 13: Js for learning

Hurdles

•Where’s the consistency?

Page 14: Js for learning
Page 15: Js for learning
Page 16: Js for learning

Hurdles

•Where’s the consistency?

•Math, math, math

Page 17: Js for learning
Page 18: Js for learning

•Haskell: Road to logic by Doets & van Eijck

•Conceptual Mathematics by Lawvere & Schanuel

Page 19: Js for learning

Hurdles

•No one popular way

•Math, math, math

•Missing a large community

Page 20: Js for learning

Gotchas

Page 21: Js for learning

Gotchas

•Eager Evaluation

Page 22: Js for learning

Gotchas

•Eager Evaluation

•Rewriting language constructs

Page 23: Js for learning

Gotchas

•Eager Evaluation

•Rewriting language constructs

•Loose variables

Page 24: Js for learning

Unexpected Delights

Page 25: Js for learning

Unexpected Delights

•Dynamic type safety

Page 26: Js for learning

Unexpected Delights

•Dynamic type safety

•Testability

Page 27: Js for learning

Unexpected Delights

•Dynamic type safety

•Testability

•Compile to JS...but it’s so pretty!