Computer Programming is a set of instructions, that helps the developer to perform certain tasks that return the desired output for the valid inputs.
Given below is a Mathematical Expression.
Z = X + Y, where X, Y, and Z are the variables in a programming language.
If X = 550 and Y = 450, the value of X and Y are the input values that are called literals.
We ask the computer to calculate the value of X+Y, which results in Z, i.e. the expected output.
How Do Computers Work?
A computer is a machine that processes information and this information can be any data that is provided by the user through devices such as keyboards, mouse, scanners, digital cameras, joysticks, and microphones. These devices are called Input Devices and the information provided is called input.
The computer requires storage to store this information and the storage is called Memory.
Computer Storage or Memory is of Two Types.
- Primary Memory or RAM (Random Access Memory): This is the internal storage that is used in the computers and is located on the motherboard. RAM can be accessed or modified quickly in any order or randomly. The information that is stored in RAM is lost when the computer is turned off.
- Secondary Memory or ROM (Read-Only Memory): Information (data) stored in ROM is read-only, and is stored permanently. The ROM stored instruction is required to start a computer.
Processing: Operations done on this information (input data) is called Processing. The Processing of input is done in the Central Processing Unit which is popularly known as CPU.
Output Devices: These are the computer hardware devices that help in converting information into human-readable form. Some of the output devices include Visual Display Units (VDU) such as a Monitor, Printer, Graphics Output devices, Plotters, Speakers, etc.
A developer can analyze the problem and come up with simple steps to achieve a solution to this problem, for which he/she uses a programming algorithm. This can be compared to a recipe for a food item, where ingredients are inputs and finished delicacy is the output required by the client.

[image source]
In the development environment, the products, software, and solutions can be designed as scenarios, use cases, and data flow diagrams.

[image source]
Based on the client’s requirements, the solution required could be desktop, web or mobile-based.
Basic Programming Concepts
Developers should have essential knowledge on the following concepts to become skilled in Computer Programming,
#1) Algorithm: It is a set of steps or instruction statements to be followed to accomplish specific tasks. A developer can design his algorithm to achieve the desired output. For Example, a recipe to cook a dessert. The algorithm describes the steps to be followed for completing a specific task, but it does not say how to achieve any of the steps.
#2) Source code: Source code is the actual text that is used to construct the program using the language of choice.
For Example, it is mandatory to have the main method in Java and the text used is as shown below.
public static void main(String arg[]) { //Steps to be performed } |
#3) Compiler: Compiler is a software program that helps in converting the source code into binary code or byte code, also called machine language, that is easy for a computer to understand, and can be further executed using an interpreter to run the program.
#4) Data Type: Data used in the applications can be of a different type, it can be a whole number (integer), floating-point (decimal point numbers), characters or objects. For Example, double currency = 45.86, where double is a data type used for storing numbers with decimal points.
#5) Variable: Variable is a space holder for the value stored in the memory and this value can be used in the application. For Example, int age = 25, where age is a variable.
#6) Conditionals: Knowledge of how to use a certain condition, such that a set of code should execute only if a certain condition is true. In case of a false condition, the program should exit and should not continue the code further.
#7) Array: Array is the variable that stores elements of a similar data type. Knowledge of using an array in coding/programming will be a great benefit.
#8) Loop: Loop is used to execute the series of code until the condition is true. For Example, in Java, loops can be used as for loop, do-while, while loop or enhanced for loop.
The code for loop is as shown below:
for (int I =0; i<10; i++) {System.out.println(i); } |
#9) Function: Functions or methods are used to accomplish a task in programming, a function can take parameters and process them to get the desired output. Functions are used to reuse them whenever required at any place repeatedly.
#10) Class: Class is like a template that contains state and behavior, which corresponding to programming is field and method. In Object-Oriented languages like Java, everything revolves around Class and Object.
Essentials Of A Programming Language
Just like any other language we use to communicate with others, a programming language is a special language or a set of instructions to communicate with computers. Each programming language has a set of rules (like English has grammar) to follow and it is used to implement the algorithm to produce the desired output.
Top Computer Programming Languages
The below table enlists the top Computer Programming Languages and their applications in real life.
| Programming Language | Popularity | Practical Applications of Languages |
|---|---|---|
| Java | 1 | Desktop GUI application (AWT or Swing api), Applets, online shopping sites, internet banking, jar files for secured file handling, enterprise applications, mobile applications, gaming software. |
| C | 2 | Operating Systems, Embedded systems, Database management systems, Compiler, gaming and animation. |
| Python | 3 | Machine learning, Artificial Intelligence, Data analysis, face detection and image recognition Software. |
| C++ | 4 | Banking and trading enterprise software, virtual machines and compilers. |
| Visual Basic .NET | 5 | Windows services, controls, control libraries, Web applications, Web services. |
| C# | 6 | Desktop applications like a file explorer, Microsoft office applications like Word, Excel , Web browsers, Adobe Photoshop. |
| JavaScript | 7 | Client side and server side validations, DOM handling, developing web elements using jQuery (JS library). |
| PHP | 8 | Static and dynamic websites and applications, Server side scripting. |
| SQL | 9 | Querying database, CRUD operations in database programming, creating a stored procedure, triggers, database management. |
| Objective – C | 10 | Apple’s OS X, iOS operating system and APIs, Cocoa and Cocoa Touch. |

Let’s see how to select a programming language.
The selection of particular programming languages depends on many factors such as:
- Targeted Platform and Project/Solution Requirement: Whenever a software solution provider comes across the requirement, there are many options to choose an appropriate programming language. For Example, if a user wants the solution to be on mobile, then Java should be the preferred programming language for Android.
- Influence of Technical Partners with the Organization: If Oracle is a tech partner with the company, then it is agreed to implement software marketed by Oracle in the solution for every project and product developed. If Microsoft is a tech partner with the company, then ASP can be used as a development framework for building web pages.
- Competency of available Resources & Learning Curve: The developers (resources) should be available and competent to quickly learn the selected programming language so that they can be productive for the project.
- Performance: The selected language should be scalable, robust, platform-independent, secure and should be efficient in displaying results within the acceptable time limit.
- Support from the Community: In the case of open-source programming language, the acceptance, and popularity for the language as well as online support from the growing support group should be available.
Types Of Computer Programming Languages
Computer Programming language can be divided into two types i.e. Low-level Language, and High-level Language.
#1) Low-level Language
- Hardware dependent
- Difficult to understand
Low-level Language can be further divided into two categories,
- Machine Language: Machine dependent, difficult to modify or program, For Example, every CPU has its machine language. The code written in machine language is the instructions that the processors use.
- Assembly Language: Each computer’s microprocessor that is responsible for arithmetic, logical and control activities needs instructions for accomplishing such tasks and these instructions are in assembly language. The use of assembly language is in device drivers, low-level embedded systems, and real-time systems.
#2) High-level Language
- Independent of hardware
- Their codes are very simple and developers can read, write and debug as they are similar to English like statements.
High-level Language can be further divided into three categories.
- Procedural Language: Code in the procedural language is a sequential step by step procedure, that gives information like what to do and how to do. Languages such as Fortran, Cobol, Basic, C, and Pascal are a few examples of procedural language.
- Non-procedural Language: Code in non-procedural language specify what to do, but does not specify how to do. SQL, Prolog, LISP are a few examples of non-procedural language.
- Object-oriented Language: Use of objects in the programming language, where the code is used to manipulate the data. C++, Java, Ruby, and Python are a few examples of Object-oriented language.
Basic Operations Of A Programming Environment
Five basic elements or operations of programming are listed below:
- Input: Data can be input using the keyboard, touch screen, text editor, etc. For Example, to book a flight, the user can enter his login credentials and then select a departure date and return date, the number of seats, starting place and destination place, Name of Airlines, etc, from desktop, laptop or mobile device.
- Output: Once authenticated, and upon receiving the request to book the tickets with the mandatory inputs, a confirmation of booking for the selected date and destination will be displayed on the screen, and a copy of the tickets and invoice information is sent to the user’s registered email id and mobile number.
- Arithmetic: In case of flight booking, update of the number of seats booked and those seats need some mathematical calculations, further name of the passenger, no. of seats reserved, date of journey, journey start date, and starting place, destination place, etc. should be filled into the airlines server database system.
- Conditional: It is required to test if a condition is satisfied or not, based on the condition, the program may execute the function with parameters else it will not get executed.
- Looping: It is required to repeat /perform the task until the condition holds. Types of loops can be While loop, Do-while loop, For loop.
For Example,
for (int i = 0; i < 10; i++) {System.out.println(i);} |
Necessary Prerequisites/Skills Required For Programming
#1) Self Reliance: To succeed in coding, you should develop a confidence in yourself, control your impatience, frustration and should refrain from being dependent on someone else to help you in solving your technical problems, rather you should be self-reliant and keep faith on your capabilities, monitor your efforts and remain optimistic and perseverant in learning.
#2) Language: It is an individual’s choice to decide which programming languages he/she should learn. A programming language should be selected based on its acceptance in the various domains in software industries. Object-oriented languages like Python and Java, which are free & open-source are widely accepted and used by Google, Yahoo, and NASA.
Java script is another scripting language, a client-side scripting language, but knowing Javascript will highly benefit web-based application developers. Non-procedural language like SQL is mandatory as it is acceptable by all the back end databases. Click this link for learning an online exercise for SQL.
#3) Logic: As a developer or tester, to excel in the programming language, one must always have conditional and logical thinking. It can be improved as we improve our muscles, there are a few sites where one can prepare and improve logical thinking and prepare for programming language.

