Every time a student chooses to learn a new programming language a lot of questions arise in his/her mind. Especially for those students who follow the conventional way of learning C, C++ and then trying to find what next. This may be the most important choice of learning that you may make as it may be turn out to be your future domain of work, something you will lose yourself in. I faced difficulties in this point and there were a few questions in my mind.
What language will I learn?
After choosing what to learn, how will I learn it, Should I go for books or look online?
Should I take up a online course or should I just learn it from random resources?
When will I finish learning this?
Of course finding the answers were difficult for me but I eventually did. I am just sharing the way that I found those answers so that it may help you guys find your answers.
Choose what you want to learn, not what other tell you to learn
When you are trying to find the next big step, you will be left with a lot of choices. People will suggest some domains claiming there are a lot of opportunities in that particular domain. Now I won’t say don’t listen to them at all, listen to what they say but do your own research before choosing the domain you want to work further. Make sure you like it and want to learn more about it. Only then will the learning work. Don’t take up some random domain just because someone suggested or just because you friends are doing it. Consider all the options but make sure you really want it before choosing one.
Once clear with the domain, you will have to make a choice of language. Again you have the internet to do your research and find every reason why you should learn a particular language and why not, the pros and cons of that language. Most language gives you support for multiple domains. Choose the one best suited to your interests and is or has the potential to become a large scale trend. Again here people will have different opinions, consider them but don’t fall for them.
Books are good but always be in touch with the latest updates online.
Books give the pleasure of opening it anytime to learn. You don’t need an internet connection and they come from a trusted and experienced author who has actually worked using those technologies. You will always find recommendations for books in the official websites.There are trusted authors at the same time there are also techies and freelancers trying out new things everyday. So if you are a book person follow the book as a standard at the same time be sure check out everything you learn in the internet. You may find a many different ways of implementation, more simpler explanation, more practical example which you help you better understand the concepts and most importantly, a book cannot be updated instantly so keep browsing
If you are not a book person like me, your only choices are to either find a standard group or a person or a community which is publishing online content sharing their knowledge. Search for free resources available in the internet and build on it. Try open source community blogs and other freelancer blogs as a lead for the search. If nothing is found the only option left is to take up a paid online course. Search thoroughly before you come to this option.
Documentation is the key
Learning can be done from any resource but the best way to verify those learning and gain a better understanding about concepts can only be done when you refer the same in the official documentation of the language. Be it books, free learning resources or online paid courses, a method or a new datatype or a library may be specific to what you are building in that course. Be sure to check out the general view of that particular new concept immediately and simple and the best way it can be done is by referring the documentation.
Learning the Syntax does not mean learning the language
Many people more specifically students make this mistake. I made it too. Typing a specific syntax in the text editor will give me this output. This is exactly how not to learn it. Literally anyone can memorize it. The proper way to is to understand basics of the language and the basic units of operation, how different aspects of the language such as variables, iteration, control flow and how the conversion of the high-level to machine language takes place.
Don’t learn and make a project, learn using a project
Always try to learn by creating simple programs rather than just by typing and executing the given examples in the tutorial. Try to come up with creative way to apply the different syntax and implementing it to get a better understanding and satisfaction that you are going good. Save these code in a separate place as they may be really useful when you come into a situation where you have to look back and reevaluate the learning. This is a great deal as the more you write your own code, the stronger you get.
Well, its computer science, which no you cannot learn something completely, detecting bugs and fixing them, need for more performance and other factors lead to more updates and this keeps repeating. The best thing that can be done is be strong with the basics and you can catch up on the rest.
All these actions made me clear on what I should learn and how to do it. Eventually progressing in this way helped me find my answers and I would recommend it as these steps made a great deal of contribution to my learning in the freshmen college days. Be flexible in choosing your tech stack and do it because you want to do it. All the best and keep learning.