learning programming language’s the best way
Learning to program a computer these days is about as simple and yet complicated as it has ever been, when I firsts started coding commercial applications it was on IBM Mid-range and Main-frame computers and to access all the required technical information was a complicated task. IBM printed a complete set of programming language manuals all in A3 format, They were your only source for technical details on each available language command along with some basic details on the structure of the installed Operating systems.
These manuals needed to be supported with off-site training courses and as these could be expensive, they were usually paid for by your employer. I remember that some employers included a clause in your contract so that if you left your employment with them within a year of any attended course you had to pay them back the full cost.
By the time IBM released later mid-range models (2004 -2008 ) of these systems ( i-series . e-servers ) all commercial systems, the methods of accessing study based information and technical details had completely changed. Also these later systems had made the shift to less proprietary development languages, now languages such as (Assembly, C++, Cobol, Pascal, Rexx and Python) were all available. The advantage here was that code for applications and related skills became cross platform.
Today In 2015 there is so much more material available in both printed form and/or on the internet, than in anytime over the last thirty years or so, with shared coding sites such as GIT-HUB, etc…..
This along with Training Apps that share sample code, for Android devices, hundreds of online pdf’s and personal Blogs, it has all been made very easy to self-study and then experiment with your coding.
Another Helpful factor is that almost all of the commercial languages can be installed freely on your own devices, there is little difference between using these programming languages when learning, on even your Android phone or when they are being used on super-computers running with many hundreds of processor cores. Code is code and when your learning it is unlikely that you will see much device related difference.
The Raspberry Pi is a great example of this as you will be missing out very little by developing on this great little machine, in fact it can do many things (Such As GPIO device control) that an Intel I7 pc cannot do. This is the very reason that the Pi has sold over three million units world wide.
Despite all this some of the old problems however still remain ( In an evolved form !) as there is almost too much information available at times, so much so that it is almost impossible to focus and advance quickly in order to learn how to produce finished applications. In an odd paradox, you can find yourself very quickly becoming frustrated with information overload and finding the weeks rushing by while you soak in so much details, while stalling on getting somewhere that truly counts.
So what I hope to do on this site ( A personal Note-pad! ) , while noting some coding skills is to cut to the case a little, yet still note down enough information as to get myself to a point that counts.
For example In the next post/notes relating to coding skills I want to detail the areas in any programming language that exist in most of them, a generic skeleton of the areas that most programming language’s contains from ( Data types to structures, tests conditions and controlling application flow with branching). The reason for this is that selecting a language to learn can in itself be confusing, it can also appear that giving the time to learn a selected language may rob you of the skills needed to learn other ones, who’s attributes are just as required and valuable.
However this concern can be overcome when you understand just how basically alike most programming languages truly are and just what areas they have in common with each other.