Programming; A logical progression to obtain a desired result.
Different programming languages are developed for particular uses. In my experience, flow charting the process aids greatly; cohesive thoughts from concept to completion.
What can I say, programming is problem resolution, and the only way to gain that knowledge is to program,
Basic programming language -because it is easy to learn - -> assembly language - because then you know what higher level languages are doing -> the 'C" language for it versatility -> python and pearl -directly applicable to ubuntu; by now you are quite adept at bash scripting !
You gotta want to and be willing to put forth the time. Most important, is to bear with the frustration when the code does not work the way you intended !
it's only 0's and 1's ...but look what you can do with them