What is Computer Programming? How to get started



We always get fascinated whenever we see a tech geek doing some amazing stuff or when we see some  technology in movies, books or social media. We want to learn and use that thing but most of us never could because no one is there to teach us or we don't have time or resources to learn about it. If you want to break that thought and get started, this blog is for you.

Computer is a machine that doesnt understand the language, we humans speak. Though surely it can perform tasks more effectively and quickly than humans, still we need to tell it the tasks to do. Computers speak and understand binary language.



Can we humans command computer in binary language?

The answer is NO! We can understand binary language but we can't use it to communicate with computers. The only solution is to translate the language we speak to language computers can understand. How does this happens?

We write the instructions or commands that we want computer to follow in a special langauage which are called Programming Languages. These are the languages which stiil computer can't understand though but we can use them to translate to language that computer can understand. We can call it the closest lanaguages, which can be translated to machine code. That's all.

Still Confused?

Think of it as a agreement between computers and humans to interact.

Programming languages can be as simple as english such as Python and Javascript while others can be quite complex like C and C++. Note: More is the language easy or near to human language, more the time it will take to Translate it to Machine Code.

So all the fascinating screens you see on a programmer's screen is the editor where Programmer writes these languages. And believe me, Movies make them more fancier than they actually are. :)

How does the translation happens?

The translation happens through a translator (also called compiler or interpreter technically) that translates the code first into a Intermediate language called Assembly lanaguage (which basically assembles the code together and the last stage of language intereference before computer use it). This assembly language is translated to machine code which the computer executes.

Enough of theory😈


Do I need to know all of this to learn the Programming?

Definitely Not. These are the technical details which we dont deal with directly as a Programmers. We have just stiil scratched the surfaced and a lot happens behind the scenes but none of this matters to you if you want to do that stuff from movies or learn and use a technology. We can build Cool Softwares and Stuff without knowing all of this. Though, you will gradually get to know about it as you use the things.

How do I start?


This is the major question that most of the people don't find answer to and blocks them to get started. Getting started it as simple as learning a Programming langugae and using it to build stuff. The essential part is to pick a Programming language as they are quite large in number and each of it has its own cons and pros and used for different purposes.

In addition to this, everyone who is in IT industry has got their own views about which language to choose for starting and all of the views lead you nowhere. Why? Because they tell you to follow different roads and they are not wrong at their place.

Stiil in Doubt?

I told you to getting started is the only thing you need to do. And you need to start with any language that looks nice to you. 😀

Yes. That's true. Every language like Human Language has got same fundamentals and constructs. So if you learn one, you can learn anything in future.

You must be thinking if it is so simple, then why don't everyone get into it.

If this is what you are thinking, your thought is not wrong. Actually most of the people try to start and lose the interest with time or they do it as a hobby. Belive me here, if you want to get into programming, then you have to do it full time. It has lot of potential and lot to explore.

I am listing here few Programming Languages based on possible situations, you can choose One that suits you best:


Language Useful when:
Python For people from non-technical background and looking to get started quickly
Javascript People with little programming knowledge and looking to build things than getting into fundamentals
C/C++/Java People who want to get into fundamentals


I hope I answered doubts to most of your questions. Still if you feel there are some doubts, you can ask the questions in comments. I will answer them as quickly as possible.

Like to speak any language, we have basic constructs of grammar that frames the rules to use the syntax, similarly we have programming paradigms that help us to use the syntax to build applications. But these are the things after you get started and I will cover them in subsequent articles.



Note: Data Structures and Algorithms are the core concepts of any programming language and computation and they define how to use programming language to solve a problem. You can start to know about them parallely after starting with any language.



Comments

Popular posts from this blog

Learn any programming language easily and fast in Just 11 Steps

Building a Cloud Native Application using Spring