The world of computer science, programming and software development starts here. Before I formally define programming language. Let’s dissect it. Programming language is made of two parts “programming” and “language”. We already learn’t about what is programming. Here we will learn about language. Think for a while and try to define what language means.
What is language?
Language is a medium of interaction between two objects. It is a system of communication between any two objects either spoken or written.
Humans have invented thousands of spoken languages to interact with other human. Birds, animals, insects and every living creature interact in their own language. Likewise machine also interact with the other machines in the language of electrical signals. Computers internally interact in the language of low voltage and high voltage (known as binary).
Programming language
Programming language is the language of computers. Through programming language, we can communicate with a computer system. Computers can only understand binary, but humans are not comfortable with binary number system. Humans cannot interact fluently with computers in the language of 0’s and 1’s. Programming language act as an interface between computers and humans.
Programming languages are used to create programs. A computer program is intended to perform some specific task through computer or to control the behavior of computer.
Using a programming language, we write instructions that the computer should perform. Instructions are usually written using characters, words, symbols and decimal. These instructions are later encoded to the computer understandable language i.e. binary language. So that the computer can understand the instructions given by human and can perform specified task.
Thousands of programming language have been created till date and many are still being developed every year. Every programming language is designed for some specific purpose. Such as FORTRAN, OCaml, Haskell are best suited for scientific and numerical computations. Whereas Java, C++, C# are best suited for designing server applications, games, desktop applications and many more.
History of programming language
Earlier when there was no concept of programming languages. Computer instructions are directly given to the computer in decimal or binary form. These instructions are given through punch cards, magnetic tapes or through switches.
Later on when computer started growing, more and more programs were written day-by-day. Writing programs completely in binary was cumbersome and error prone. Therefore, we developed various mnemonics for different instructions. These mnemonics are in human readable format. Such as ADD for adding values of two registers, JMP for conditional controls. Now, the programs were written using mnemonics and decimal values known as assembly language.
Mnemonics are short abbreviated English words used to specify a computer instruction. Each instruction in binary has a specific mnemonic. They are architecture dependent and there is a list of separate mnemonics for different computer architectures.
Mnemonics gave relief to the programmers from writing programs directly in binary language. However, it was still a tedious work to remember the complete list of mnemonics for various computer architectures.
During 1950’s the first high-level programming language Plankalkül was written. As the computer started expanding from scientific to business and to many other fields. Many more high-level programming languages were written for various specific purposes. Unlike binary and assembly, programs in high-level languages are written in English like statements. High-level languages are programmer friendly, less error prone, easy to write and maintain.
High-level languages were like a magic wand to the programmers. However, they lack the facility to perform several low-level activities. Which gave the birth to several other programming languages with different paradigms. During 1960’s to 1980’s several popular programming languages were written for specific purposes. This was the phase when the programming languages were more influenced. Popular languages developed during this period was ALGOL, Lisp, C, Prolog etc. Languages that we use today are either directly or indirectly inherited from this period.
Modern programming languages provide rich support of security and error checking. They provide higher level of abstraction of hardware details.
Popular programming languages
There are thousands of programming languages and many more are being written every year. Here is a list of some popular programming languages and software’s written using them.
Language | Suited for | Popular software’s developed |
---|---|---|
Java | Server applications, Web development, Desktop applications, Android apps development | Netbeans, Eclipse, OpenOffice, Google (backend), Facebook (backend) |
C | System softwares, Device drivers, Database packages, Operating Systems | UNIX, Linux, C++ (Programming language) Microsoft Windows (Some parts) |
C++ | Operating system, Game development, Server applications, Database packages, Desktop applications | Microsoft Windows, Apple OS-X, Google (backend), Adobe Photoshop, MySQL, Various popular games |
Python | Web development, Software development, Game development, Network programming, Mobile apps development | Google, YouTube, Quora, Blender, BitTorrent |
C# | Windows Client applications, Web applications development, Mobile apps , Cloud apps development, Enterprises application | Microsoft Office, Visual Studio, Almost all Microsoft websites (ASP.NET), Microsoft SQL Server |
PHP | Web development | Facebook, WordPress, Wikipedia, Yahoo, Flipkart |
JavaScript | Web development, Apps development | Almost all popular website uses JavaScript for client side activity. |
SQL | Database development, Database Query | Almost all software’s database uses SQL as query language. |
Ruby | Website development | Twitter, Github |