How to Learn a Programming Language

How to actually learn one

Who should code?

How to choose a language

It is entirely based on the type of work you want to do

If you want to build some apps - Javascript

Do machine learning, data science - Python

Build large distributed and scalable network systems - GO

Build powerful system software - Rust

There is no problem, project or product that can be built with a single language

Step 1

Learn the basics

For example

Let's say hello world...

In 600 Languages

Programming languages are not skills but tools


char letter = 'A';
float area;
double d;


const letter = 'A';
let area;
let d;


letter = 'A';
All Programming languages share the same fundamentals

while (condition) {
Conditional Statements

IF condition THEN
	sequence 1
	sequence 2

How long is a variable valid

// js
function area() {
	var side = 5;
// side is not valid here
console.log(side); // undefined
Every language has stuff unique to it
Javascript is Single Threaded & Non-blocking in nature
Python has the coolest way to write code or simplest

"hello"[::-1] // reverses the string
GO excels in concurrency
Rust has the best memory management
Rust is a language invented by the people behind Mozilla Firefox to build firefox
Firefox is still better than chrome when it comes to RAM usage & Privacy - if you care about it
That's pretty much it

This is what we will focus on next

Step 2

Solve problems

Imagine learning to drive a car
The following sites have really good resources to get you started

  • Leetcode
  • Codechef
  • HackerRank

Step 3

Find the eco system

Ecosystem is basically the group of tools that surround a programming language
  • Libraries
  • Package managers
  • Frameworks

Lodash (Javascript)

Pytorch (Python)

Tensorflow (Python, JS, Rust etc.)

Package managers


Step 4

Learn to use Github

Step 5

Join the community

Chennai Geeks (facebook)
React.js Bangalore
IOT Geeks
Developer circles from Facebook

Step 6

Build Something to showcase

Step 7

Write about your experience

Step 8

Apply for tech conferences

Step 9

Teach new learners

Step 10

Build your own community

Thank you!