try to solve each problem in the most natural manner
That happens to take a significant amount of skill and learning.
But I don’t know of any way to acquire this “programming common sense” except on the job. Do you?
One could learn a lot about programming simply by thinking about why the examples on that site are bad, and what principles would avoid them.
Oh, no. What a terrible idea. If you do this without actually pushing through real-world projects of your own, you’ll come up with a lot of bullshit “principles” that will take forever to dislodge. In general, the ratio of actual work to abstract thinking about “principles” should be quite high.
Another case of “let them eat cake”. The very gap in my understanding is the jump between writing input once/output once algorithms, to multi-resource complex-UI programs, when existing open source applications have source files that don’t make sense to me and no one on the project finds it worth their time to bring me up to speed.
Between one-input, one-output programs and complex UIs are simple UIs, such as a program that loops in reading input and output, and maintains state while doing so.
The complex UIs are mostly a matter of wrapping this sort of “event loop” around a given framework or UI library. Some frameworks instead have their own event loop that does this, and instead you write callbacks and other code that the event loop calls at the appropriate times.
But I don’t know of any way to acquire this “programming common sense” except on the job. Do you?
Oh, no. What a terrible idea. If you do this without actually pushing through real-world projects of your own, you’ll come up with a lot of bullshit “principles” that will take forever to dislodge. In general, the ratio of actual work to abstract thinking about “principles” should be quite high.
Open source.
Another case of “let them eat cake”. The very gap in my understanding is the jump between writing input once/output once algorithms, to multi-resource complex-UI programs, when existing open source applications have source files that don’t make sense to me and no one on the project finds it worth their time to bring me up to speed.
Between one-input, one-output programs and complex UIs are simple UIs, such as a program that loops in reading input and output, and maintains state while doing so.
The complex UIs are mostly a matter of wrapping this sort of “event loop” around a given framework or UI library. Some frameworks instead have their own event loop that does this, and instead you write callbacks and other code that the event loop calls at the appropriate times.
Thanks, that helps. Now I just need to learn the nuts-and-bolts of particular libraries.