Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JavaScript In The Sky With Types

JavaScript In The Sky With Types

Slides from the talk Abraão Alves and I gave at CEJS 2016 on the importance of thinking about type systems - and how things can be better with TypeScript + other tools.

829e745fc00d15823f96bffb92577d51?s=128

Matheus Albuquerque

June 04, 2016
Tweet

More Decks by Matheus Albuquerque

Other Decks in Programming

Transcript

  1. JavaScript In The Sky With Types abraão alves matheus albuquerque

    # cejs
  2. SLIDES ONLINE AT: bit.ly/js-and-types-cejs

  3. /ythecombinator @ythecombinator ythecombinator.me

  4. None
  5. /AbraaoAlves @abraao4lves abraaoalves.github.io

  6. None
  7. connect the dots

  8. None
  9. what brings us to ce.js?

  10. JS Wat by Gary Bernhardt http://bit.ly/js-wat

  11. None
  12. typeof

  13. None
  14. None
  15. distinguish between different kind of primitive values distinguish between them

    and objects distinguish between different kinds of objects
  16. wtf?

  17. learning what I hadn't learnt

  18. " data Things known - or assumed as facts -,

    which become the basis of reasoning or calculation.
  19. " data Quantities, characters or symbols of which operations are

    performed by a computer and stored and transmitted as electrical signals and recorded on magnetic, optical or mechanical recording media.
  20. None
  21. None
  22. " processes Computational processes are abstract beings that inhabit computers.

    As they evolve, processes manipulate other abstract things called data. The evolution of a process is directed by a pattern of rules called a program. People create programs to direct processes.
  23. " datatypes A specific representation of some data.

  24. type systems "A type system is a syntactic method for

    automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. Benjamin Pierce - Types and Programming Languages
  25. The fundamental purpose of a type of system is to

    avoid the occurrence of errors during the execution of a program. Luca Cardelli - Type Systems "
  26. " Correctness-by- Design A program that is valid in the

    language, should also be a correct program.
  27. None
  28. a statically typed superset of JavaScript that compiles to plain

    JavaScript
  29. talk is CHEAP show me the coDE

  30. demo time

  31. thanx abraão alves matheus albuquerque # cejs

  32. JavaScript In The Sky With Types abraão alves matheus albuquerque

    # cejs
  33. /ythecombinator @ythecombinator ythecombinator.me

  34. /AbraaoAlves @abraao4lves abraaoalves.github.io

  35. None
  36. is it an active project?

  37. None
  38. 1.5 1.6 1.7 1.8 Core ES2015 + Decorators Full ES2015

    + React/JSX Async/await on server Control flow analysis one year, four releases
  39. do people use?

  40. None
  41. None
  42. None
  43. what else?

  44. None
  45. Swift In The Sky With Types http://bit.ly/swift-types

  46. what about the future?

  47. None
  48. TypeScript Closure Tools http://bit.ly/ts-closure-tools

  49. lessons learnt

  50. 1.TYPES CAN SERVE AS DOCUMENTATION 2. The compiler is your

    first unit unit test 3. tHE COMPILER IS YOUR BEST FRIEND
  51. easy 'n' frindly ?

  52. thanx abraão alves matheus albuquerque # cejs