From 0’s and 1’s to High-Level Programming: Understanding the Basics of Computer Programming.

ashish katuwal 01
4 min readMar 24, 2023
Photo 1 by Mohammad Rahmani on Unsplash

How does the computer work (We all know how it works, right?)A computer works in a simple way. Input is provided to the computer; computer processes or calculates and provides the output. And by computer process we mean computing. At the basic level Computing means Calculating. To calculate, computers use Binary language i.e., 0’s and 1’s. We use Binary digits because classical computers are made that way.

A computer is a device powered by electric current and 0’s and 1’s are used to represent binary digits, also known as “bits.” A bit is the smallest unit of information in a computer and can have only one of two values: 0 or 1.

The presence or absence of an electrical charge in a specific piece of computer hardware determines the value of a bit. A charge is represented as 1, and no charge as 0.

By using combinations of these 0s and 1s, computers can represent and manipulate different types of information, such as numbers, letters, images, and sounds. For example, a single character in the ASCII encoding scheme can be represented using 8 bits (or a byte), which can have 256 possible combinations of 0s and 1s to represent all the different characters.

The combination of 0’s and 1’s forms hexadecimal instructions, which are also called machine language.

  • For example, in order to represent the letter A in ASCII, the hexadecimal instruction is #097. In order to represent the color green, the hexadecimal instruction is #00FF00.
Photo 2: Input — Process — Output

However, human beings cannot understand hexadecimal instructions or binary digit codes. That is why we need to simplify the machine language. So, assembly language is created.

An assembly language is a type of low-level programming language that is intended to communicate directly with a computer’s hardware.

It is where each hexadecimal instruction (machine code) is assigned a value using mnemonics. For example, the hexadecimal instruction of addition is assigned simply as "ADD." Multiplication is “MUL” and the end of the program is “END”. In order to convert machine language into assembly language, we use a converter called Assembler.

The limitations of assembly languages are as follows:

  1. Slow: Assembly language is slower than machine language because it has to go through an assembler to convert machine language into assembly code.
  2. Too many keywords that programmers have to remember it
  3. Different machines many have different assembly languages, and we have to remember all the instructions making it a tiring job.

Now, this is where high-level programming languages come in. A high-level language means a higher level of abstraction in the computer.

Abstraction in the computer is the process of summing up and hiding details. The level of abstraction is the degree of complexity by which a system is viewed or programmed. The higher the level, the less detail. The lower the level, the more detail.

Machine language and assembly language are at a low level of abstraction. So they are also called low-level programming languages. whereas high-level programming languages are programming languages that have fewer details on how a computer works so that non-technical people will also be able to understand without knowing the hardware level function of a computer.

Some common high-level programming languages are:

Python.

Java.

C++

C#

Visual Basic.

JavaScript.

In the high-level programming language, both input and output are given in human-understandable languages.

2.Level of Abstraction

Let’s also touch upon the level of abstraction in programming languages. Level of abstraction is the amount of complexity by which a system is viewed or programmed.

The higher the level, the less detail, and the lower the level, the more detail. Machine language and assembly language are on a low level of abstraction, also referred to as low-level programming languages. High-level programming languages are programming languages that have fewer details on how a computer works so that non-technical people can also understand without knowing the hardware level function of a computer.

Now that we have understood how computers work, we have also understood the level of abstraction and the three major categories of programming languages.

  1. Machine Language
  2. Low Level Programming languages (Assembly Language)
  3. High Level programming language.

3.What is Computer Programming Actually?

Programming means writing codes and giving instructions to the computer in a language that the computer understands. Programming languages consist of a set of rules that allow values (string values) to be converted into various ways of generating machine code(0’s OR 1’s), or, in the case of higher level programming languages, scripts or graphical elements. And why do we program? My teacher used to say that, at the most basic level, computer programming is about two things:

1. Teaching computers to solve problems or create solutions.

  • For example: Teaching a computer to check a weather website and display the forecast involves programming it with instructions to find and interpret the information.

2. It is about enabling computers to learn how to think and rethink the topics we already know.

  • For example, we know how to calculate Least Common Value, LMC. Now how to teach computers to solve LMC? That is one of the challenges of being a programmer or we can say that is how programmers think. Programmers find ways to teach computers the topics they already know.

Thank you for reading this blog.

--

--

ashish katuwal 01

interested in philosophy, design, video editing, computer science, and gaining new experiences.