A computer program is a list of instructions that enable a computer to perform a specific
task.
Computer programs can be written in high and low level languages, depending on the
task and the hardware being used.
So, what’s the difference between high level language and low level language?
High Level Languages
When we think about computer programmers, we are probably thinking about people
who write in high-level programming languages.
High level languages are written in a form that is close to our human language, enabling
to programmer to just focus on the problem being solved.
No particular knowledge of the hardware is needed as high level languages create
programs that are portable and not tied to a particular computer or microchip.
These programmer friendly languages are called ‘high level’ as they are far removed
from the machine code instructions understood by the computer.
Examples include: C++, Java, Pascal, Python, Visual Basic.
C++ -C++ is an enhanced C language typically used for object oriented programming. It
traces its origins back well over thirty years. Although it’s far from the oldest computer
language, it’s one of the older ones that is in common usage today – so you might say it
gets an A for its ability to adapt to changing technological times.
C++ was developed by Bjarne Stroustrup, who did the first development work as part of
his PhD project. During the early years, he called the language “C with Classes”. He
had begun developing a new language because he felt that no existing language was
ideal for large scale projects. Later, when he was working at AT&T Bell Labs, he again
felt limited. He dusted off his “C with Classes” and added features of other languages.
Simula had a strong influence; AlLGOL 68 played a role. Ultimately, a lot more than
classes got added: virtual functions, templates, and operator overloading.
C++has influenced later languages like PHP, Java, and (not surprisingly) C# (C-
Sharp).
C++ has grown far beyond a one man operation. The name actually came from another
developer, Rick Mascitti. It was partly a play on the name of the “++” operator and partly
a reference to the enhancement; two pluses may have been a bit of a joke.
The language was first standardized in 1998. Standards were again issued in 2003,
2007, and 2011. C++ is maintained by the ISO, a large standards committee. The
current version is C++11. According to Stroustrup, the biggest improvement is in
abstraction mechanisms. Among the other goals of the most recent revision: to make
C++ a better language for embedded systems and to better support novices.
Development has been guided by certain ideals. C++ strives to be portable; there is an
attempt to avoid reliance on features that are platform-dependent
Reference: https://www.softwareengineerinsider.com/programming-
languages/cplusplus.html
Java is a general-purpose computer programming language that is concurrent, class-
based, object-oriented, and specifically designed to have as few implementation
dependencies as possible. It is intended to let application developers “write once, run
anywhere” (WORA), meaning that compiled Java code can run on all platforms that
support Java without the need for recompilation.
Java- For example, you can write and compile a Java program on UNIX and run it on
Microsoft Windows, Macintosh, or UNIX machine without any modifications to the
source code. WORA is achieved by compiling a Java program into an intermediate
language called bytecode. The format of bytecode is platform-independent. A virtual
machine, called the Java Virtual Machine (JVM), is used to run the bytecode on each
platform.
Reference: https://howtodoinjava.com/java/basics/what-is-java-programming-language/
Pascal- a computer programming language developed about 1970 by Niklaus Wirth of
Switzerland to teach structured programming, which emphasizes the orderly use of
conditional and loop control structures without GOTO statements. Although Pascal
resembled ALGOL in notation, it provided the ability to define data types with which to
organize complex information, a feature beyond the capabilities of ALGOL as well
as FORTRAN and COBOL. User-defined data types allowed the programmer to
introduce names for complex data, which the language translator could then check for
correct usage before running a program.
Reference: https://www.britannica.com/technology/Pascal-computer-language
Python- Dating from 1991, the Python programming language was considered a gap-
filler, a way to write scripts that “automate the boring stuff” (as one popular book on
learning Python put it) or to rapidly prototype applications that will be implemented in
other languages.
However, over the past few years, Python has emerged as a first-class citizen in
modern software development, infrastructure management, and data analysis. It is no
longer a back-room utility language, but a major force in web application creation and
systems management, and a key driver of the explosion in big data analytics and
machine intelligence.
Reference: https://www.infoworld.com/article/3204016/what-is-python.html
Visual Basic- t's a computer programming system developed and owned by Microsoft.
Visual Basic was originally created to make it easier to write programs for the Windows
computer operating system. The basis of Visual Basic is an earlier programming
language called BASIC that was invented by Dartmouth College professors John
Kemeny and Thomas Kurtz. Visual Basic is often referred to using just the initials, VB.
Visual Basic is easily the most widely used computer programming system in the history
of software.
Reference: https://www.thoughtco.com/what-is-visual-basic-3423998
Advantages
Easier to modify as it uses English like statements
Easier/faster to write code as it uses English like statements
Easier to debug during development due to English like statements
Portable code – not designed to run on just one type of machine
Low Level Languages
Low level languages are used to write programs that relate to the specific architecture
and hardware of a particular type of computer.
They are closer to the native language of a computer (binary), making them harder for
programmers to understand.
Examples of low level language:
Assembly Language
Machine Code
Assembly Language
Few programmers write programs in low level assembly language, but it is still used for
developing code for specialist hardware, such as device drivers.
It is easy distinguishable from a high level language as it contains few recognisable
human words but plenty of mnemonic code.
Advantages
Can make use of special hardware or special machine-dependent instructions
(e.g. on the specific chip)
Translated program requires less memory
Write code that can be executed faster
Total control over the code
Can work directly on memory locations
Machine Code
Programmers rarely write in machine code (binary) as it is difficult to understand.
High and Low level of programming Reference:
https://www.computerscience.gcse.guru/theory/high-low-level-languages