marlowe221
I think that, in many cases, “what” and “why” are very similar to each other or are closely related.
I’ve had an experience like this on more than one occasion - I come into an established code base for the first time. I’m working on a new feature/refactor/bug fix. I am reading through a function that is relevant to me, scratching my head a bit, and thinking “I think I see what this function is doing, but why did they do it such a screwy way?” Often there are no comments to give me any clues.
In the past, I have foolishly changed the code, thinking that I knew better… But what often happens is that I soon discover why my predecessor did something that looked so weird to me. They weren’t stupid - there was a reason for it! And then I end up putting it back…
Point being, in a situation like that the “what” and the “why” are going to have a lot of overlap. So, personally, I try to write comments that highlight assumptions that won’t be obvious from reading the code, external constraints that matter but don’t actually show up in the code, and so on.
I am far from perfect at it and I probably don’t write enough comments. But when I do, I try to write comments that will be reminders to myself, or fill in gaps in context for some hypothetical new person. I try to avoid comments that literally explain the code unless it’s particularly (and unavoidably) complex.
“Why” comments make more sense as application complexity grows.
You also have to consider interaction of the code with other external systems - sometimes external APIs force you to write code in ways you might not otherwise and it’s good to leave a trail for others on your team (and your future self…) about what was going on there.
C seems like an awfully painful way to write the CRUD apps most of us spend our time on.
And any performance gains would be invisible in most situations where network I/O is the biggest bottleneck (almost) regardless of the language used.
Whether you use Windows or Linux, the Windows key is the foundation of many useful keyboard shortcuts. You know, hold it down plus some other key.
Whatever your preferred OS, look them up! You may find a few you would like to start using.
But yeah, on my work computer which is a Windows machine, I often use it to open the start menu and start typing the name of the app I want to launch. It’s faster than clicking on an icon somewhere if your hands are already on the keyboard.