Two things I wish every programmer knew and considered before making design decisions
-
Show this thread
-
1. Essentially every decision between two options is a trade off. Rarely is one choice strictly better.
1 reply 2 retweets 26 likesShow this thread -
Aaron used to say Rust could have our cake and eat it too, finding some strictly best compromise. But that’s not true.
1 reply 0 retweets 4 likesShow this thread -
There is always a curved continuum between options, the goal is to find the point of maximum utility.
1 reply 0 retweets 8 likesShow this thread -
This includes zero cost abstractions. Strictly speaking there is rarely such a thing.
1 reply 0 retweets 6 likesShow this thread -
2. Security, performance, correctness - fitness for purpose in other words - are *only* properties of an implemented system.
1 reply 0 retweets 15 likesShow this thread -
A tool cannot guarantee that its product will be fast or safe or correct. We can only make those outcomes more attainable to users.
2 replies 1 retweet 17 likesShow this thread -
“Someone could use this badly” is rarely the most significant argument when the counter is “most people will be able to use this well”
1 reply 0 retweets 28 likesShow this thread
Adding to this: with time we can learn *how* people use a feature badly, and both through documentation and tooling reduce bad usage. It doesn't feel as set in stone as it's sometimes made out to be.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.