Coding, also referred to as programming, is the art of communicating with computers, i.e telling the computer what to do, and how to do it. Using this skill of communicating with the computers can be used to do some very cool stuff such as – Making websites, apps, games, and many tools that are in use every day.
The first forms of computers were invented to help humans with basic calculations that allowed humans to accelerate the rate at which they could do heavy computations.
Think of Code as a Language to communicate with Computers
A lot of people today wish to learn to code – Some wish to pivot their careers toward programming roles, while others look to augment their existing skill-set or professional lives with some software special sauce.
For example – A stock analyst may want to learn how to code to write algorithms to analyze markets, a marketing professional could have different motivations to want to learn to code, an artist may choose to code to be able to build a website for their portfolio.
But the real question to ask –
But can anyone learn to code? Is it hard?
This is one of the most frequently asked questions in the present-day scenario. The software industry is now the next big wave of employment opportunities and there is computer code written everywhere around us, in the digital world that we are an integral part of. The demand for quality software developers is on the rise. But the conception or belief is that software development is exclusive only to those who graduated in Computer Science Engineering and not anyone else.
But is that true? Can a Mechanical or Civil Engineer not learn to code? Even a student from a Psychology or Arts background, a Chef or Civils aspirant, a College dropout, or a business graduate, can any of them not learn how to write software code?
Let us find out.
If you were to send a friend of yours a simple text message, ‘Buy something to eat, what could be all the possible outcomes of this particular instruction?
He or she could bring raw meat, vegetables, and rice from the market in hopes that you would cook something out of them at home. Or it could be a large meal box from KFC or a Biryani from Paradise restaurant. It could also be 4 burgers and 5 bottles of orange juice.
But your priorities were different. You specifically wanted Paneer Tikka Masala and Roti. Instead, you were brought any of the above-mentioned items or different ones, and on top of it, you are now also disappointed. But what should you have done instead if you wanted a specific outcome from that simple text message?
Simple, you should have given a very specific input or instruction that you wanted your friend to buy Tikka Masala and Roti.
Now, what if you studied French in college and sent that text message in the same language? Assuming your friend can only read, speak and understand Hindi, Marathi, and English, it is obvious that he or she might not understand and comprehend your message. Again, another case of a potential disappointment for you. Because your friend does not know French in the first place and certainly does not understand what your message meant. Only English, Marathi, and Hindi are the known languages.
Imagine now if the human friend is communicating with you in French and you only speak, read and understand Hindi, Telugu, and English. You are the one who is at the receiving end of it and now you have to learn a new language altogether to keep this friendship intact and going.
First, you learn the Alphabet, then a few simple words, then some sentences and how to form them, then come the grammar, parts of speech, and the tenses as you had learned them in English. This process is standard across any new language irrespective of culture, country, and any other barrier.
But how do you learn a new language fluently?
We all have seen the ‘Learn so and so the language in 30 days’ books throughout our lives. But do they really work? Can you become as fluent as a native language speaker once you finish reading them?
Learning any new language needs a significant amount of practicing, exchanging feedback, watching other people speak and make conversations, and finally having the conversations yourself. Reading the alphabet and parts of speech won’t cut it, but it is a very in-depth process in itself.
Once you follow the process along with reading up on all the available resources at your disposal, you would be able to be perfectly fluent in that particular language?
What if this friend was a computer?
Just like how we communicate with other human beings in different languages like Hindi, Marathi, Gujarati, Telugu, Kannada, Tamil, Malayalam, French, Japanese among others, a specific set of languages also need to be used to communicate with computers.
And going by these formats, you can also learn a new computer programming language as well. Learning to code is very much similar to that of learning a new language.
- The alphabet in a new human language is the syntax in a programming language.
- The words in a new human language are the conditional statements in a programming language.
- The sentences in a new human language are the functions used in a programming language.
- The grammar in a new human language are the programs written in a programming language.
How do you become fluent in a computer programming language?
Similar to that of an everyday human language, merely reading textbooks and course material is not enough to be a successful computer programmer or coder.
- You will need to have someone show and teach you how to code and write effective software programs.
- You will need to practice it continuously by exposing yourself to different kinds of problem statements and solving them.
- You will need to have someone who will correct your mistakes and evaluate your code and give you the necessary feedback.
- You will also have to take this feedback diligently and work upon your code with relentless practice and rigour until you fully become a perfect programmer or coder.
Just like the amount of time and effort and the enormous amount of fun you have while learning a new language, it takes an equal amount of time and effort when you start to learn to code, the syntax, the conditions, the statements, and then writing complex programs to give your instructions and inputs to the computer.
There is no other difference, no other complication or complexity. It is just the same as learning a new language and giving a computer a set of instructions, just like you give a friend a text message to bring you some food or buy some clothes for you.
But the standard rule is the same as what we discussed earlier. The instructions need to be very specific if you want a specific set of outcomes. Any change in specific instructions will lead to disappointment and chaos.