πŸ“–Self and self: whys and wherefores

authors
Ungar, David
year
2009
url
https://www.youtube.com/watch?v=3ka4KY7TMTU
  • Values β†’ Principles β†’ Practices

    • values: what you want, what you like

    • principles: general rules for achieving values

    • practices: specific things to do

  • For every feature in the language, know which value it serves

    Don’t just make it elegant, or powerful. Know why for each design choice.

  • Forget compilers, interpreters / create a consistent experience

  • q

    With great people, you can do anything! Don’t waste them on the possible! (The challenge will attract the great ones.)

  • Self has quite a legacy

    • first to use prototype-based inheritance

    • everything is an object (more so than smalltalk)

      • smalltalk emphasized classes and tools, not objects

    • first to use animation

      • motion blur, shadow, expand, fade-in/fade-out

    • generation scavenging GC

    • dynamic compilation (JIT)

      Key idea: Misdirection The code that runs only has to fool the user into thinking it’s the code he wrote. Just like stage magic.

      • lazy compilation

    • dynamic deoptimization

  • q

    Even if your ideas succeed, the real legacy is the people.

    (People who learned on your project go on to other projects and do even more cool things.)

  • Artist vs. Entertainer

Backlinks