Figuring out how to put those things together to make a cohesive library or program is the hardest thing I've had to do on my own. I haven't really found anything that teaches that. There's lots of begginer stuff about syntax and programming concepts. There's some fairly technical abstract stuff out there about algorithms and data structures but not a lot about how to put everything together into a useful program.
The only way I've learned that was to just start making things. Whenever I ran into a problem i'd look up whatever I was having trouble with. It failed a lot. I've had to go back an restart things more than once or endes up giving up on things that were dead ends. Then after a couple years of that I stopped having to quit because i'd completely messed up the idea of what I was doing.
I honestly have no idea if the things I've learned are correct or not but programs I write seem to do what they're supposed to now.
I think the reason why there's not much about how to put programs together is that it's pretty much up to you. There's a million ways to do one thing and most programs have a million things that need to do one thing. You need a good idea of what you would like these things to be. Then you pick one and do it, then another one and another one making sure the first things you made still work with the new ones. If you don't know how to do one of the things either look up and see how other people did it or move on for a bit and come back to it.
A framework, library or program is just input data, either from you or a user, processing of data and output. It's up to you to figure out how to structure these things for the needs of your program.
There is no right way, just whatever way you find that works. You can look at a program like building a machine. The programming language you learned gives you the nuts, bolts and basic materials you need, the algorithms, callbacks and hooks are the different prefabbed parts and you're the mechanic that bolts it all together with a wrench and a whole lotta grease.
The only way I've learned that was to just start making things. Whenever I ran into a problem i'd look up whatever I was having trouble with. It failed a lot. I've had to go back an restart things more than once or endes up giving up on things that were dead ends. Then after a couple years of that I stopped having to quit because i'd completely messed up the idea of what I was doing.
I honestly have no idea if the things I've learned are correct or not but programs I write seem to do what they're supposed to now.
I think the reason why there's not much about how to put programs together is that it's pretty much up to you. There's a million ways to do one thing and most programs have a million things that need to do one thing. You need a good idea of what you would like these things to be. Then you pick one and do it, then another one and another one making sure the first things you made still work with the new ones. If you don't know how to do one of the things either look up and see how other people did it or move on for a bit and come back to it.
A framework, library or program is just input data, either from you or a user, processing of data and output. It's up to you to figure out how to structure these things for the needs of your program.
There is no right way, just whatever way you find that works. You can look at a program like building a machine. The programming language you learned gives you the nuts, bolts and basic materials you need, the algorithms, callbacks and hooks are the different prefabbed parts and you're the mechanic that bolts it all together with a wrench and a whole lotta grease.