If you wish to learn ES6/2015 from scratch, you must first invent the universe by Ashley Williams
- abstraction factors out details to the level of human understanding -- immaterial to the problem being solved
"I teach beginners and beginners teach me" -- Ashley
-
"Programs must be written for people to read, and only incidentally for machines to execute" -- Abelson and Sussman
-
JavaScript is great for expressing the underling concepts of iteration
"There is no abstract art -- you must always start with something" -- Pablo Picasso
- humans are really good at finding patterns and giving them names (i.e. constellations)
- we need to be careful about this bc patterns become ideologies (i.e. horoscopes)
- bad abstractions are real problems
- classes in JS are not blueprints, they're model homes
- JS classes are like objects
- What even is a class? Simula
"Teaching is nature's way of letting you know how sloppy your understanding is" -- Ashley
"Teach concepts not syntax" -- Ashley
- The Creative Extension Principle: We build the abstractions we need when we need them
- don't pre-optimize
- prototypal inheritance: how the apple pie gets made
- abstractions should match the concepts that are supported
- Pyret <-- people are changing how we program
- consider ontology early and ofren