3 ms·
Most people have no business using a pneumatic nail gun. No business at all. You won't hang pictures any faster, and your doghouse will probably look the same
by arh68 12y ago
Most people have no business using a pneumatic nail gun. No business at all. You won't hang pictures any faster, and your doghouse will probably look the same. Technically, everything done with a nail gun could be done with a hammer.
But if you didn't know what a nail gun was, never imagined the thing, could you imagine framing a 2-story house by hand? A large house might need teams of arms & hammers. Dozens. You wouldn't even see construction as the same kind of thing: more of a coordinated work of labor, like aisles of rowers on a trireme.
If I can type so fast I can think out loud into the machine, the flow changes. It's likewise hard to argue how a REPL changes much anything, since saving & recompiling is fast, but I think flow is rather important.
- ploversteno 12y agoBeautiful analogy. I couldn't agree more.
- jared314 12y agoGreat analogy, but i'm not sure it's accurate. Any kind of abstraction (functions, interfaces, objects, macros, DSLs, frameworks) could be considered a pneumatic nail gun. Software development is built on layers of abstraction that directly allow one human to frame a 2-story house, while typing very little. The amount of actual machine code generated by a simple CRUD application can be massive. Optimizing the raw typing is only useful when you have no control over the deeper abstractions (like if you are stuck with C++).