
First thing to understand is that it can be done. For the specifics and how to’s, one needs to have an objective in mind.
So,
- Choose a path and decide a goal. If one is just starting out, choose something general like developing websites or mobile applications or desktop software etc. Find out what computer languages and technologies are used in your path of choice. This especially helps you avoid a “What next now?” stage in your learning.
- Start by doing little tutorials from youtube or some websites. Many of the languages have online “Language X in 20/15 minutes”. Once youย are done with two or three (or as many that makes you comfortable) of these, you will have an idea of the syntax and keywords of the language: the rules that govern its writing. This will definitely give a feel of whether that is the language and its workings; some languages may be difficult as a beginner, and some others might feel more intuitive (more on that later in the article).
- Next, find a good book or a website along the lines of “Language X for beginners”. There are many out there, free as well as paid but free is preferable as there is not a difference anyways. The internet is vast resource in itself. Try and look up reviews and opinions from people who have used the book before using it yourself, but try not to get stuck up on choosing a book, since they mostly cover the same content, only differ in style. The book will help on the core concepts of programming logic and provide basic examples, and get you started on your programming path in a specific language, and equip you with knowledge of core programming principles and algorithms that can be applied to other languages in some similar way.
- DO NOT COPY PASTE CODES. A good habit is to write something different from what the presolved example says. So for example if the book tells the output “Hello World!”, make it say “Good Morning, People of Earth!”; if the example is to write a program that takes any name as input and outputs “Hello (Name)”, make it take the age instead, or the hometown. This helps counter the urge to copy code and also helps to ingrain core concepts in memory. Also, try to do supplementary exercises from the internet every time after learning a new topic, to see different ways in which it can be applied, and the various problems that might occur while implementing it.
By the time that book is finished using the techniques suggested above, one can attain reasonable proficiency in programming, and can now write own programs from scratch (basic programs).
But if there is no specific objective behind learning coding, or if the learning is just for programming in general, one of two paths written below is recommended:
- Learn C, C++ or Java
These above-mentioned languages are more technical and strict, making them a little difficult to master. Some programmers are actually of the opinion that C should not be in the list of languages for beginners and starters, it is a fair thought but it can be argued because C forms core for most other programming languages so mastering C at first can make learning other languages an easy task. The main bummer for many people is the dynamic aspect of c and c++. Competitive programming is also a thing which a beginner can jump into to learn things in a more quick and application oriented way.
2. Learn Ruby or Python
These have easy and more intuitive syntax and can help to get up and walk quickly in programming. They are also very similar. These are not only simple but have wide usability and demand in the market. From machine learning to AI to web development, these languages have a good future, beside the fact that they are heavy to run and compile but that doesnt matter.
All in all, START NOW and BE CONSISTENT. Three months is a lot of time if there is focus and value of time.
