Levels Of Programming Flashcards
How can levels of programming be distinguished?
Based on their level of abstraction from the computer’s hardware.
What is machine language and to what generation does it belong?
A first generation language consisting of binary code that the computer’s CPU directly understands.
List some characteristics of machine language.
- Difficult to read and write for humans
- Machine dependent
- Provides maximum control over hardware.
What is assembly language and to what generation does it belong?
A second generation language that introduces symbolic representations (mnemonics) for machine instructions.
List some characteristics of assembly language.
- Is still machine independent
- Has good control over the hardware
- Easier to understand and write compared to machine language.
Describe low level language and to what generation does it belong.
Belongs to the third generation, providing some control structures like loops and conditional statements.
List some characteristics of low level languages.
- Operate close to the hardware
- More human readable than assembly
- Some level of hardware control is still possible.
What are high level languages and to what generation do they belong?
Third and fourth generation languages designed to be more human friendly and abstract away many hardware details.
List some examples of high level programming languages.
- Java
- Python
- C++
- JavaScript
What are very high level languages and to what generation do they belong?
Fourth and fifth generation languages that focus on specific problem domains and may use declarative programming styles.
List some examples of very high level programming languages.
- SQL
- Prolog
- Lisp
What is the classification of programming languages based on generations?
- First generation (binary code)
- Second generation (mnemonics)
- Third generation (Procedural or OOP)
- Fourth generation (declarative)
- Fifth generation (logic and constraint programming)
What is the classification of programming languages based on paradigms?
- Imperative programming
- Declarative programming
- Event-driven programming
Describe imperative programming and its sub classifications.
Focuses on how to achieve a result by specifying the steps the computer must take.
List the sub classifications of imperative programming.
- Procedural programming
- Object-Oriented Programming
Describe declarative programming and its sub classifications.
Focuses on the desired result rather than how to achieve it.
List the sub classifications of declarative programming.
- Logic programming
- Functional programming
- Dataflow programming
Describe event-driven programming.
Program execution is driven by events such as user actions or sensor inputs.
Describe the levels of abstraction in programming.
- Low-level programs are closer to the hardware
- High level programs are more abstract.
Mention the classification by purposes in programming.
- General-Purpose languages
- Domain-specific languages
Mention the classification by execution in programming.
- Compiled languages
- Interpreted languages
- Hybrid languages
List the characteristics of programming languages.
- Syntax
- Semantics
- Data types
- Control structures
- Abstraction Mechanisms
- Portability
- Performance
- Readability
Why is it important to understand programming language classifications?
To choose the right programming language for a specific task or project.