35 ms·
> I used to tolerate and expect complexity. Working on Go the past 10 years has changed my perspective, though. Reminds me of the Redis manifesto that has prov
by chishaku 7y ago
> I used to tolerate and expect complexity. Working on Go the past 10 years has changed my perspective, though.
Reminds me of the Redis manifesto that has provided helpful perspective over the years.
We're against complexity. We believe designing systems is a fight against complexity.
http://download.redis.io/redis-stable/MANIFESTO http://download.redis.io/redis-stable/MANIFESTO
- veeralpatel979 7y agoI think it's fine for tools to be complex internally if they make things easier for people externally. Go is generally simple to work with, but it intentionally doesn't provide syntax sugar for many things, like error handling. I suspect this is because the creators of Go also want to keep their codebase simple as well. At first this explicitness is great, but then it turns into boilerplate, obscures the purpose of your code, and increases the code you need to maintain. But having worked a lot with Rails, I do still value the explicitness of Go. So it's a tradeoff.
- harryh 7y agoI think it's fine for tools to be complex internally if they make things easier for people externally. Is it though? https://www.jwz.org/doc/worse-is-better.html https://www.jwz.org/doc/worse-is-better.html
- a_bonobo 7y agoYou might enjoy Ousterhout's A Philosophy of Software Design - it discusses the many ways a programmer/system designer can fight rising complexity in the code base