-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplicity matters #4
Comments
I still need to watch that talk, it's been on my list for a while. I'll watch it and then get back to you so that we're on the same page. 😄 |
I would argue that simplicity is secondary to elegance. The first often implies the second, but they are not mutually inclusive and the second takes precedence. |
@mo-g
Definition of simplicity:
I don't understand how elegance takes precedence over simplicity. Could elaborate a bit more please ? |
@veggiemonk
A piece of code can be simple, in that it is easy to understand and done, but be ugly and inefficient. The first meaning of elegance in your definition is the most apt of the three - and code should express this in movement. A better definition is Wikipedia's definition of mathematical elegance:
Note that simplicity is implied by elegance, but also requires effectiveness and constructiveness; so efficiency and productiveness. To reference |
Hi @mo-g, Thank you very much for clarifying that the pursuit is not about elegance alone but mathematical (or algorithmic ?) elegance which seems less subjective.
It seems to reach the same idea from the talk that something is simple if it is not braided Good luck on promoting this project. It's a good start 👍 |
I totally believe in KISS, but this Oath is about ethics, responsibility and humanity, not about how to code or code quality, except indirectly as ethics, responsibility and humanity demand. |
That's a fair point, @vassudanagunta. I still would not be opposed to an element of this being incorporated as part of |
@mo-g But simplicity is not always better. This Oath is not the place for that debate. The Oath should respect people's judgment, and not become overly prescriptive.
If we keep it, "take ownership of my work's flaws" is the kind of thing that belongs in the Oath, not specific technical advice. |
Could we add something about the fact that a programmer should thrive towards simplicity?
It is implied when we say that we code for people, not machine.
It would be nice to make it explicit.
To emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path.
Source:
youtube 30 min: https://www.youtube.com/watch?v=rI8tNMsozo0
InfoQ 1h: https://www.infoq.com/presentations/Simple-Made-Easy
Slides (PDF): https://github.com/richhickey/slides/blob/master/simplicitymatters.pdf
I don't want to build a statue of Rich Hickey but what he says rings so true!
What do you think?
The text was updated successfully, but these errors were encountered: