Where To Start Programming??

Nabeegh Ahmed
6 min readJul 4, 2019

--

Computer Programming is probably the hottest career of 2019. As more industries start to rely on computers the need for computer programmers rises. Programmers generally take care of things like online presence of a company or they are the ones who implement technical advancements required. Apart from working in a company, you can start the next Facebook from your dorm room. Freedom of working from anywhere and even without a certain degree is just the icing to the cake. Hundreds of websites online provide you the opportunity to work from home but you need to have the required experience and knowledge.

“The First step is always the hardest”

Programming actually interacts with you to the exact opposite opposite of the above mentioned quote. When you are starting it is easy super easy, but as you progress your way up towards becoming an expert things will get pretty messy. But you don’t have to worry about that. Because even the most senior developers have to google most of the things (even for basic commands). They crawl their way through the internet while scratching their heads and finally find the solution to their problem. The problem may be as simple as missing a pair of brackets in a line of code. This is the actual problem, people are not told about the kind of things you are gonna face after you do the easy stuff. Well now that you know the truth we can start your journey in the incredible (sometimes terrible) world of computers.

The basic things are not what programming languages you should start from. Rather they include the basic terminology programmers use in everyday life.

1. Basics:

Computers work in the binary system. 1’s and 0’s. Which represent either current is passing through a wire (Representing 1) or not (representing 0). This is called machine code. It is what the computer actually understands. But to write pure machine code is kinda impossible for most of the humans. You cannot just write random 1’s and 0’s and expect them to give you a working Facebook. To tackle this problem programming languages were made. They provided more radical approach towards the working of computers. Then began the race to make the most easy to read and easy to learn programming languages. Assembly programming language is considered one of the first programming languages. But it is so difficult to learn and use that it is limited to the most complex tasks like making Operating Systems like Windows or Linux. For more general use of programming “High Level Programming Languages” were developed which worked on top of machine code. Every code you write in these languages they convert it into machine code so that the computer can understand. The conversion is performed by the compiler. The Compiler looks for possible errors or typos and reports them. After all the errors are fixed the compiler executes the program and converts it into machine code.

Some languages on the other hand use Interpreters. The working of an interpreter and compiler is not much different. Interpreters are generally faster in executing the code.

2. First Steps:

The real development began after the creation of “C” Language by Denis Richie. C sort of was one of the best languages at that time to develop programs. But C couldn’t get that much popularity. C++ was released after a while which became the absolute best language to work with. The reason why the sequel of C wasn’t called C+ is that in programming we use “++” to represent increase in a value so C++ represented an increase in the functionality of C. With the development of C, The era of modern computers began, now C++, ASP.NET are the main languages used for windows software Development. Before C their were languages like COBOL and FORTRAN but hey were very difficult to use and had limited use cases.

After the whole C thing, JAVA was developed which after getting acquired by ORACLE found its way into the modern world. JAVA is one of the most advanced languages, with its main use in android development, and electronic works. JAVA and C were the main languages for any kind of work. But as time progressed many languages for different use cases were added. PHP for example is the language used for web development and it’s the language which Mark Zuckerberg used to develop Facebook.

Python, now the most popular and in-demand language didn’t gained much popularity initially but now it is the main language used for Artificial Intelligence and Data Science.

JavaScript is also one of the most used languages world wide. The similarity between Java and JavaScript is the same as Car and Carpet. JavaScript is mainly used for web designing and development.

Frameworks in a language are extensions of the language, which are developed for specific purposes to make the development of that specific task in the required Language easy. NodeJS for example is one of the most popular JavaScript frameworks and is “the best” for web development. A common proverb is:

JavaScript has more Frameworks then the stars in the Milky Way galaxy.

Libraries are pre-written code which you can use to save a ton of you time. Numpy For example is a python library used for data analysis.

3. From Where Should I start??

It is completely understandable if you are more confused than before. But the understanding of the things mentioned above was crucial. Now you know what is what and how it all started. Now I am gonna break it into smaller parts which will help you decide your path on the basis of your interest.

I want to get into FANG:

FANG is a term used to describe Facebook, Amazon, Netflix, Goggle, all the big companies like that, then you should start with a language like Python, Java or C++. Python is most used now-a-days but trends can change for sure. To learn Python You can start here:

https://bit.ly/1Goe8pI

For Java: https://bit.ly/1qJUu1F

For C++: https://bit.ly/2LCLr54

I want to develop websites:

If you want to get into the web development business then you should start with HTML. Please remember HTML is not a programming language, it is just a markup language used to make the basic structure for a website. To get started with HTML, use this crash course:

https://bit.ly/2lsMUiW

Then to stylize your websites and to make them look business ready you can use CSS.

To get started with CSS use this crash Course:

https://bit.ly/2kDZGrl

After getting good at making great looking pages you can then advance towards making your website more dynamic. And by dynamic I mean the animations, menu buttons, things sliding as you scroll down the website. For making a website dynamic JavaScript is used. To get started with JavaScript use:

https://bit.ly/2LAxTa8

After you are confident with your skills you can get towards backend development. Backend development includes the good stuff like sign up, sig-in functionality, chat messages, booking systems etc. To get started with backend it is recommended to use NodeJS as it is the most popular and one of the most widely used. It will also be easy to understand as you will already have a good grasp on javascript.

To get started with NodeJS use this Crash Course:

https://bit.ly/2XrMKpw

4. Best Operating Systems:

For all kind of development purposes Macs or Apple Computers are best, or you can use windows but you will keep running into kinda head breaking problems. Instead of using windows it is recommended to use linux inside you windows. This process is called Virtualization. Virtualization is kind of a more advanced topic but for basic development it is completely ok to use windows.

5. Some Final Words:

Just make sure that you never lose your self esteem. While learning the concepts focus more on the concepts then the syntax. Because you can always get the syntax by a single google search but to get the concept again you will have to go through a lot. Just remember things aren’t going well, you will forget even the most simple things, it happens. You might even have to work weeks on a simple project but that is just the part of your learning experience. If you get a problem google it, search for it on forums like Stack Overflow, Join Popular Discord servers it will help.

--

--