When studying programming languages, it is important to understand the different generations of languages.
Now, in this lecture, we will explore these generations in more detail.
First generation languages.
These are the lowest form of languages represented by binary code consists of ones and zeros.
They are often unreadable by humans and are commonly referred to as machine languages or binaries.
Distinguishing data from instructions can be challenging at this level due to the uninformative of the
content.
Second generation languages, also known as assembly languages.
These languages are one step closer to machine language and assembly language Use mnemonics, which
are short and memorable character sequences to represent specific bit patterns or opcodes.
Programmers use these mnemonics to remember the associated instructions.
An assembler is a tool that translates assembly language programs into machine language for execution.
Assembly languages also include directives that go with the assembler in organizing code and data in
the final binary.
Third generation languages.
These languages introduce keywords and constructs that make programming more expressive and resemble
natural languages to some extent.
Third generation languages are typically platform independent, allowing programmers to write code that
can run on different systems.
However, programs written in these languages may still have platform dependencies if they utilize features
specific to a particular operating system.
Examples of third generation languages include Python, C, C, Sharp and Java.
Compilers are used to translate programs written in third generation languages into either assembly
language or machine language.