Learning a new Programming Language.

Sai Raghava
5 min readMay 31, 2016

“Learning is that skill which separates a human from an animal.”

Not everyone are interested in learning new things. You ought to be glad that you took your first step and decided to learn something. I will guide through my process of learning something new. Have a glance at it.

Why to learn?

Have you ever questioned yourself that why these many programming languages exist. It would be easier for us if there existed only one language right? But that’s not the situation today, every day someone or the other comes up with a new programming language. Every language has a unique reason to exist in this world. Try figuring out those reasons. Some common reasons for learning new programming language could be :

  • Different languages for different jobs. Like HTML/CSS for front end and Python/Php for back end.
  • User choice. Some may find difficulty while using a language while the other might sound easier for them. Try figuring out the language you are comfortable with.
  • Build your own language. Learning existing language and the thought process behind that serves as a guide to develop your enterprise-specific language.

Now that you are enough motivated to learn a new programming language, next step is to figure out What to learn?

What to learn?

As I mentioned in my earlier post(have a look here if you haven’t), choosing the correct language to start with is as important as choosing your life partner. Any mistake will end up being a complete mess. So, make sure you spend ample time in choosing the language you want to learn.

The basic need of learning a new language is to build something out of it. So, try getting answers from that perspective. Question yourself what you want to build and dig out the answers. Have a clarity on why do you want to learn that specific course. Your “Why?” must be strong enough to keep you motivated enough throughout the journey of learning .

If you have any doubts at this stage, ask your friends or seniors else take the help of our All Time Saviour -Google. Ask Google whatever you want and it shall give you the best advice than anyone. If you want to do systems programming or web development, you could probably google

“Best programming language to do systems programming”.

“Best language to build a website”.

You will end up getting enough answers saying C/C++ is best for systems programming whereas JavaScript/Python is best for Web Development. Figure out why a particular language is familiar while the other isn’t. There are many people out there who are actually into those domains. Try having a conversation with them. Ask their reason of choosing that language, the future scope of it or any question that strikes your mind. If those answers satisfy you then you are done with the first stage. What to learn?

Now, the actual part comes in, how will you learn what you want to learn?

How to Learn?

Learning a new language is like a entering a whole new world. First question that strikes everyone whenever they try to learn a new language is,

“How do I remember those syntaxes, constructs?”

I say don’t. Don’t ever try to remember them. The purpose of learning new language is to learn the new concepts in it, not their syntaxes. You can Google the syntaxes but not the logic behind your solution. Concentrate on how better can you implement your solution to the problem using that new concepts.

Try to connect the dots between what you already know and what you are learning. That’s the best way to get started. Let me give you a brief explanation. For example, if you are eager to learn Python having some basic knowledge in C then the learning process would look something similar to this,

C : I will print on console using printf(“Hello World”); statement.

Python : I will print on console using print ‘Hello World’ statement.

You : So, print is to Python as printf is to C.

Once you’re done with the basics of the language, try implementing them on your previous solutions in the new language. This gives you confident and gets you acquainted with the new constructs.

Start solving some problems in online portals like CodeChef or HackerRank. Don’t start with the difficult ones. Start with ones having higher submissions, implement your solution. But that’s not the end because having a look at how others approached the same problem you solved and getting their perspective on the problem is equally important. If you found that really helpful, implement that the next time you encounter the same problem.

Once you start feeling confident enough in that language, have a look at open source projects in that language. Don’t try to jump directly to this stage. You need a very strong foundation about the language to understand what’s happening there and how would your approach would look like.

Last but not the least, use a better IDE. They do save your time. They come with features like smart prompts, debugging tools that make your task easy. Many of the IDE’s have this ability to create breakpoints and analyse your code per iteration. This spares your time it takes for debugging the code manually. There may be many IDE’s for a given language. Choose the one which has more features or which is comfortable to you. Some of them which I would like to suggest are,

  • Android Studio — Android App Development
  • Visual Studio — C/C++ Programming
  • PyCharm — Python Programming

Make sure that you are motivated all the time in learning something new. Don’t worry if you are spending too much time in learning. Learning is that phase which needs some time to be invested and paves the foundation in gaining skill in that.Also note that once a skill is mastered, no one cares how long you took learn it.

This was my approach to learn something new.Hope that helped you.

See you in my next article.Till then, Happy Coding!

Originally published at iamraghava.wordpress.com on May 31, 2016.

--

--