What is a Programming Language?
What will we discuss:-
- How do we use programming languages?
- Different Types Of Programming Language
Do you know what a mother tongue is? It is the language that is heard by a child from his/her birth. It is the language used by their parents to communicate with each other.
So basically, language is a mode of communication to express one's feelings, thoughts, ideas, etc. As a baby, you used to cry when you got any pain or when you were hungry or when you were afraid. At those times, you used crying or smiling or hand gestures as a language to make your parents understand your feelings. But with time, you got adapted to the language used by your parents and started using it as a mode of communication.
If you are an Indian, most probably your mother tongue may be Hindi, Malayalam, Marathi, Gujarathi, or any other language. If you can understand what you are reading now, then it means, I wrote this blog post in a language that is understandable for both of us. That is, anyone could learn or use multiple languages for communication.
Similarly, a programming language is a language used by humans to communicate with computers, which is an electronic device, that is a device that works with the help of electricity.
How Do We Use Programming Languages?
Generally, we use a language by speaking and writing. So similarly, we use a programming language to write a program, which is a set of instructions for the computer to do some specific task. For example, in school or college, teachers give students some instructions to do something like assignments, projects, etc. Similarly, in a company, the manager gives some instructions to the employees about what to do & how to do a task.
These instructions could be for completing a task or for solving a problem or to make a big problem easier to solve. For example, big arithmetic operations like the addition or multiplication of a series of numbers are harder to do normally. It is a problem. So the solution for that is to build or program a calculator and it will make that problem easier to solve.
Different Types Of Programming Language:
You may know that different languages that we use to communicate have different types of alphabets, pronunciations, etc. Each language has its own rules and uses. For example, in English, there are 26 alphabets while Hindi, Malayalam, and most of the other languages have more alphabets in them. Each language has different pronunciation and meaning.
Similarly, there are a lot of programming languages and each of them has different rules, keywords (alphabets) & syntax (grammar). Mainly, the programming language is classified into "Low Level" & "High Level" languages
1. Low-Level Programming Language
Low-level language deals directly with computer hardware. It depends on machines, that is different types of computers or devices need to be configured with different programs. This type of programming language is not human-readable.
Low-level languages don't require any translation and they could be executed directly on the computer hardware and thus programs that are written in low-level language run very fast.
They can be further classified as, Machine Level Language & Assembly Language
- Machine Level Language
They are used to write machine instructions in the binary form 0s & 1s, that is zero means false & one means true. Because we know that electronic devices work with the help of electrical signals and zeros means no signal but one means there is a signal. So machine level language contains a series of zeroes and ones, thus it could manipulate electrical signals & control the operations & functions of the different hardware of a computer.
But, as you can imagine the series of zeroes and ones, it's a difficult thing for programmers to write a program in the machine-level language. It's more expensive or hard to maintain or update a machine code because it causes errors easily since it's hard to read by humans.
Programs written in a machine-level language are more native, that is each computer or device requires machine instructions that are written uniquely for it. So, a program written for one device won't work on another device. It depends on the processor architecture as well.
It doesn't require any translator since computers or hardware can directly understand programs written in the machine-level language.
Below is an example of machine language for a simple hello to you guys, "Hello, My Curious Friends"
01001000 01100101 01101100 01101100 01101111 00101100 00100000 01001101 01111001 00100000 01000011 01110101 01110010 01101001 01101111 01110101 01110011 00100000 01000110 01110010 01101001 01100101 01101110 01100100 01110011
In the above code, each letter or character is represented by an 8 digit number. As you can see, even if you know how to convert these binary numbers to text, it's not that efficient to do that because it takes a lot of time and leads to errors easily. That is, they are more difficult for humans to read but still, it's easier to understand if you know how to convert binary numbers to letters/words/alphabets.
- Assembly Language:
It is a low-level programming language, which is used for programming microprocessors & other programmable devices. For example, most of the program written for building an operating system is in assembly language, it is used to program embedded devices like MP3 players, digital cameras, DVD Players, Printers, etc
It is also called assembly code and it is a symbolic representation of machine code. With assembly language, programmers write a program that works only for the operations and functions that could be directly implemented on physical devices like the CPU.
Is it still worth learning assembly language? Yes, it helps programmers to take complete control over the system rather than the things allowed by some specific operating system to do.
In computers, there is an assembler that converts the assembly language to machine code. It mainly depends on the architecture of the system, whether it is the operating system or computer architecture.
Compared to machine code or machine language, assembly code is more human-readable and almost similar to machine code. That is, assembly language is written in simple English language, so it is easily understandable by the users. With the help of assembly language, we can take full control of all tasks that a computer is performing.
2. High-Level Programming Language
High-level programming language is almost the same way humans communicate. It is more understandable for us. It uses words like "Object", "Class", "Number", "Request", "Response" etc. While machine-level or low-level languages are closer to machines or hardware, high-level languages are closer to humans.
The most important advantage of a high-level language is portability and that is, it's machine-independent. This means it allows programmers to write programs that don't depend on a particular type of computer or device. It's compatible with all operating systems.
It's a programmer or user-friendly language. It requires a compiler or interpreter for a translation. It's easy to maintain and fix errors. In the case of High-Level Programming language, the more focus is on the logic of the problem that is being solved by a program.
So are there any disadvantages of high-level language? Maybe yes or no. Earlier, the compilation or translation took more time while low-level languages didn't take that much time. But, now we have powerful computers and the total execution time of programs written in a high level or low-level language is almost the same. It may only take some milliseconds. So we can conclude that it's not a disadvantage.
And the primary advantage is, it is easy to read, understand, write, maintain & troubleshoot.
Most Popular Programming Languages
You may know that each country has different languages and in India, most of the states have their own languages. Similarly, there are a lot of different programming languages for different use cases. It makes the programmer's life simple and in the end, the user's life also gets easier.
There are different languages for building a mobile app, computer software, web applications, games, virtual reality, augmented reality etc.
Python is easy to learn & understand for beginners. It has simple syntax (grammar) compared to other languages. It has a wide variety of use cases including web development and advanced uses like data science, machine learning, artificial intelligence, etc.
In the end, most of the programming concepts are the same and in each language the syntax or how we write the program changes similar to any other language we use. That is, we use Hindi to communicate something and we can use English as well to communicate the same matter.
"Programming isn't about what you know; it's about what you can figure out.” - Chris Pine
Programming is always done as a solution for a problem. Thus, it's all about figuring out an efficient solution. And the programming language is a tool for implementing the solution.
Download CuriousJr for more updates on Coding for Kids.