4 ms·
Robert X Cringely said that programmers are divided into nerds and geeks. The nerds do the wrong thing well and the geeks do the right thing badly. The reason
by WildUtah 11y ago
Robert X Cringely said that programmers are divided into nerds and geeks. The nerds do the wrong thing well and the geeks do the right thing badly.
The reason computers are a revolutionary productive technology is that when you put them together on a team they don't do what you would expect and do the wrong things badly but instead do the right things well.
I don't know how to use that story to write better Clojure, though.
- such_a_casual 11y agoLink?
- WildUtah 11y agoColumn was published before the web was invented (in the 1980s), so I have no idea.
- derefr 11y agoI don't know about putting them on a team. I've always thought of the dichotomy as being properly between "engine" code and "script" code: the engine defines your platform by implementing the mechanism, and the script defines your business use-case by implementing the policy. See, e.g., game engines vs. Lua scripting, or the LAMP stack vs. PHP scripting, or the implementation of framework DSLs like Rails vs. their usage. Type A people write libraries and generic servers; Type B people write apps by consuming and wrapping and configuring and composing libraries and generic servers—writing the classic "glue code." I think a lot of the misshapen cultural dynamics in most software projects are the result of Type A people thinking its their job to implement policy (in the engine), and Type B people thinking it's their job to implement mechanism (in the app.) It works best when these people aren't on a team, but instead have a clearly-defined idea of where their responsibilities end and passing the buck begins.