Interesting topic, I enjoy reading controversial articles, they help me expand how I see coding.
To me, clean code has more to do with the question "Will I be able to understand this piece of code in 6 months time?". Often, it's okay to break the rules.
The code should be understandable by the most junior dev in the team
I mostly agree with this statement. Do we write code for clarity, or to show off how much we know about a language? My philosophy is that simple is always best. I think the meaning behind that is to say that there's no need to write overly-engineered code when you can just keep it simple.
I agree with you that learning how to code takes a lifetime. There is not set period to learn "coding", it's just never-ending.
The instant gratification you mentioned (meaning, "Learn How To Code Within X Days/Week) is a business thing, in the same way people buy programs promising them to get abs within 6 weeks (it's the same logic).
Do we write code for clarity, or to show off how much we know about a language?
Oh, this always bugs me. No, advanced or more complex code isn't "showing off". It's brevity. It's using the language's features. There's wide gaps between "write so simple everyone understands it", "write concise code that leverages the language's tools to the fullest" and "lolcodegolf", and we should certainly aiming for a solid balance of these.
(In fact, sometimes code golf is actually the right answer, but that's a bit beside the point...)
I agree with you, a 100%. I do believe we should use the language features whenever appropriate. My concern is more with those who write over engineered code.
Interesting topic, I enjoy reading controversial articles, they help me expand how I see coding.
To me, clean code has more to do with the question "Will I be able to understand this piece of code in 6 months time?". Often, it's okay to break the rules.
I mostly agree with this statement. Do we write code for clarity, or to show off how much we know about a language? My philosophy is that simple is always best. I think the meaning behind that is to say that there's no need to write overly-engineered code when you can just keep it simple.
I agree with you that learning how to code takes a lifetime. There is not set period to learn "coding", it's just never-ending.
The instant gratification you mentioned (meaning, "Learn How To Code Within X Days/Week) is a business thing, in the same way people buy programs promising them to get abs within 6 weeks (it's the same logic).
Another problem is that too often 'simple' is confused with 'simplistic'
Oh, this always bugs me. No, advanced or more complex code isn't "showing off". It's brevity. It's using the language's features. There's wide gaps between "write so simple everyone understands it", "write concise code that leverages the language's tools to the fullest" and "lolcodegolf", and we should certainly aiming for a solid balance of these.
(In fact, sometimes code golf is actually the right answer, but that's a bit beside the point...)
I agree with you, a 100%. I do believe we should use the language features whenever appropriate. My concern is more with those who write over engineered code.
It often performs better too