Differences Between Low-Level and High-Level Languages: Duhok Polytechnic University Dept. of Itm First Year
Differences Between Low-Level and High-Level Languages: Duhok Polytechnic University Dept. of Itm First Year
DEPT. OF ITM
FIRST YEAR
Differences between
Low-level and High-level Languages
Example:
low-level
Low-level languages include machine language and assembly language. These languages are used to write
instructions that are specific to a particular computer architecture and are not easily portable. For example
a program written in assembly language for an x86 architecture will not work on an ARM architecture
Assembly language:
A low-level programming language closely related to machine language. Also called assembly code.
this assembly language looks like this:
1: MOV eax, 3
MOV ebx, 4
ADD eax, ebx, ecx
Binary:
A number system that contains two symbols, 0 and 1. Also known as base 2
high-level
High-level languages include languages like Java, Python, and Ruby. These languages provide a higher level
of abstraction and are easier to read and write. They are often portable, meaning that the same program
can be run on different computer architectures without modification
Python:
Is high-level language that can do many things .
x = 5
y = "John"
print(x)
print(y)
Differences:
1- Abstraction level: Low-level languages provide a lower level of abstraction and are closer to machine
code. High-level languages provide a higher level of abstraction and are further from machine code.
2- Human readability: Low-level languages are more difficult for humans to read and understand, as they
use machine language instructions and are written in binary code or assembly language. High-level
languages are easier to read and understand, as they use more natural language-like syntax and
keywords.
3- Portability: Low-level languages are often specific to a particular computer architecture or operating
system and are not very portable, while high-level languages are more portable and can be run on
multiple systems without the need for recompilation.
4- Execution speed: Low-level languages are generally faster than high-level languages, as they provide
direct access to the hardware and can be optimized for specific hardware configurations. High-level
languages, however, provide more abstractions and are more flexible.
5- Memory Management: Low-level languages require manual memory management, which can be error-
prone and time-consuming, while high-level languages provide automatic memory management, which
makes programming easier and less prone to errors.
6- Development Time: Low-level languages require more development time, as they are more complex and
require more attention to detail. High-level languages, on the other hand, provide more abstractions
and are easier to use, which can lead to faster development times.
Conclusion:
low-level languages are better suited for tasks that require direct hardware access or require high performance
while high-level languages are better suited for tasks that require rapid development or portability. Low-level
languages require more expertise to use, while high-level languages are more accessible to beginners. The
choice of language depends on the specific requirements of the task at hand and the expertise of the
programmer.