The Danger of “Simplicity”
asthasr.github.io
The Danger of “Simplicity”
1–10 of 172 posts
Re: The Danger of “Simplicity”
#2It's easier to compare it against "complexity" which is the sum of parts; e.g. a complex machine, so "simplicity" must be attributed to an atomic design of "the smallest part which cannot be broken any further"; i.e. think of a simple machine like a lever.
Re: The Danger of “Simplicity”
#3Worst thing is that "simple" languages like Go force you to mix up "business logic" with "plumbing/infra logic" with "error handling logic" if you try to be idiomatic... I know that for security crucial code you might want to see all error paths next to a piece of code, for for the other majority of the code I want error handling tucked away in different system, and also the business logic factored out in some other very generic one that doesn't care about actual implementation of infrastructure.
Sure, if infrastructure IS your very product like Go's use case probably is, then it probably makes sense to not have features for such separation.
Re: The Danger of “Simplicity”
#4TFA seems to build upon confusion of how "simplicity" is defined. It's easier to compare it against "complexity" which is the sum of parts; e.g. a complex machine, so "simplicity" must be attributed to an atomic design of "the smallest part which cannot be broken any further"; i.e. think of a simple machine like a lever.
Re: The Danger of “Simplicity”
#5Re: The Danger of “Simplicity”
#6TFA seems to build upon confusion of how "simplicity" is defined. It's easier to compare it against "complexity" which is the sum of parts; e.g. a complex machine, so "simplicity" must be attributed to an atomic design of "the smallest part which cannot be broken any further"; i.e. think of a simple machine like a lever.
Re: The Danger of “Simplicity”
#7For example, 2 pieces of text can be simple in 2 different ways:
First text is long but uses fewer words in vocabulary. So it is "simple" in a sense you need to learn only few words to read it.
Second text is short but uses richer vocabulary to describe things with fewer words (syntactic sugar). It is "simple" in a sense you only need few words to describe stuff, but more "complicated" because you need to learn more words.
"Neat" code can be "simple" to maintain. "Messy" code can be "simple" to implement.
Re: The Danger of “Simplicity”
#8"Simple is often erroneously mistaken for easy. 'Easy' means 'to be at hand', 'to be approachable'. 'Simple' is the opposite of 'complex' which means 'being intertwined', 'being tied together'" - https://www.infoq.com/presentations/Simple-Made-Easy/
the best example is our complex brain being made of simpler components working together. maybe the opposite of complex is chaotic? i don't know...
Re: The Danger of “Simplicity”
#9"Simple is often erroneously mistaken for easy. 'Easy' means 'to be at hand', 'to be approachable'. 'Simple' is the opposite of 'complex' which means 'being intertwined', 'being tied together'" - https://www.infoq.com/presentations/Simple-Made-Easy/
Re: The Danger of “Simplicity”
#10I think the confusion around simplicity is in what terms a thing is simple. For example, 2 pieces of text can be simple in 2 different ways: First text is long but uses fewer words in vocabulary. So it is "simple" in a sense you need to learn only few words to read it. Second text is short but uses richer vocabulary to describe things with fewer words (syntactic sugar). It is "simple" in a sense you only need few wor…
I was thinking something similar recently.
Good code should take the next developer less time / effort to understand it than it took the original developer to write it (assuming similar levels of ability).