Profile picture
, 21 tweets, 2 min read Read on Twitter
The more I do software, & read the old papers & new blogs, the more I realize that our history is this series, repeated ad infinitum:
1. A Thorny Problem vexes developers. No clear solutions. Cowboy! Everyone does their own thing.
2. The Thorny Problem gets better understood. People start cataloging exhaustive ways to solve it & tradeoffs of each.
3. Familiarity with complex solution ecosystem & tradeoffs of different approaches starts to be thought of as "essential knowledge."
4. Somebody automates one of the solutions in a way that eliminates some possibilities, but works well enough in most cases.
5. Automated solution takes off; developers who use it don't have to know anything about the complex ecosystem that gave rise to it.
6. Much Gnashing of Teeth at developers who don't have this "essential knowledge."
7. The automated solution turns out to let developers focus on a different problem that they hadn't had brainspace for before.
(Owing to brainsoace being occupied by complex ecosystem of solutions & tradeoffs, that automation obviated for most projects.)
8. Semi-permanent factions form: folks who insist "essential knowledge" is still essential; & folks who don't find it useful anymore.
Here are some examples: thorny problem is managing memory; automated solution is garbage collection.
Thorny problem is web application development; automated solution is rails.
Thorny problem is managing data in a program; automated solution is collection libraries.
Individuals can be at one stage for one problem/solution combo, & at a different stage for another, with no apparent internal contradiction.
Some people think data structure internals is "essential" knowledge, while they use Rails & ignore the rest of the web app ecosystem.
More to say on this, like the super predictable classes of reactions to an automated solution - "too restrictive", "bites you later", etc
The whole thing is basically the circle of life in all its contradictions & complexities - what happens when you mix humans with technology
I don't know what happened today but it suddenly looks so obvious & predictable, and at the same time so complicated & unintuitive
Like this afternoon I backed up & saw the whole elephant for the first time, after staring at disjointed bits for 20 years
I'm in northern california, they put weed in the water up here I guess
Every good story about being stoned starts with "so I was reading this computer science paper from 1975..." right?
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Sarah Mei
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!