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

Build Higher, RailsConf 2014 Keynote

Build Higher, RailsConf 2014 Keynote

Yehuda Katz

April 23, 2014
Tweet

More Decks by Yehuda Katz

Other Decks in Programming

Transcript

  1. !

  2. willpower challenging tasks cognitive dissonance making choices "Paradox of Choice"

    "Ego Depletion" "Decision Fatigue" heated discussions
  3. Most Surprising App on Home Screen: Operator ! “It’s a

    custom-designed, one-of-a-kind bespoke app I had built for my assistant and I to communicate and collaborate through.”
  4. In an ecosystem where overarching, decides-everything-for-you frameworks are commonplace, and

    many libraries require your site to be reorganized to suit their look, feel, and default behavior — we should continue to be a tool that gives you the freedom to design the full experience of your web application
  5. But I'd also argue that virtually all good programming abstractions

    are failed abstractions. I don't think I've ever used one that didn't leak like a sieve. But I think that's an awfully architecture astronaut way of looking at things. Jeff Atwood Discourse
  6. Instead, let's ask ourselves a more pragmatic question: ! "Does

    this abstraction make our code at least a little easier to write? To understand? To troubleshoot? Are we better off with this abstraction than we were without it?" Jeff Atwood Discourse
  7. It's our job as modern programmers not to abandon abstractions

    due to these deficiencies, but to embrace the useful elements of them, to adapt the working parts and construct ever so slightly less leaky and broken abstractions over time. Jeff Atwood Discourse
  8. x86 C Linux x86-64 ARM OSX NT Kernel POSIX Ruby

    Rack Rails x86 C Linux x86-64 ARM OSX POSIX libuv Node Core Windows NT Kernel Windows
  9. x86 C Linux x86-64 ARM OSX NT Kernel POSIX Ruby

    Rack Rails x86 C Linux x86-64 ARM OSX POSIX libuv Node Core Windows NT Kernel Windows