Concept:
Programming languages are classified according to their level of abstraction from the computer hardware. As computer technology evolved, programming languages developed from machine-dependent forms to highly user-friendly forms. The primary classifications of programming languages are generally divided into Machine Language, Assembly Language, and High-Level Language.
Pseudocode and Algorithms, although extremely important in program design and problem-solving, are not actual programming languages because they cannot be directly translated and executed by a computer system.
Step 1: Examine Statement (a) -- Machine Language.
Machine Language is the lowest-level programming language and consists entirely of binary digits (0s and 1s).
Characteristics include:
• Directly understood by the CPU.
• No translator is required.
• Hardware dependent.
• Difficult for humans to read and write.
Since Machine Language is one of the fundamental classifications of programming languages, statement (a) is correct.
Step 2: Examine Statement (b) -- Assembly Language.
Assembly Language was developed to simplify programming in Machine Language.
Characteristics include:
• Uses mnemonic codes such as ADD, MOV, and SUB.
• Easier to understand than binary code.
• Requires an assembler to convert instructions into machine code.
• Still closely related to hardware architecture.
Therefore, Assembly Language is also a primary classification of programming language.
Hence, statement (b) is correct.
Step 3: Examine Statement (c) -- High Level Language.
High-Level Languages are designed to be user-friendly and independent of specific hardware architectures.
Examples include:
• C
• C++
• Java
• Python
• Pascal
Characteristics include:
• English-like syntax.
• Easy to learn and maintain.
• Portable across different systems.
• Require a compiler or interpreter.
Therefore, statement (c) is also correct.
Step 4: Examine Statement (d) -- Pseudocode and Algorithms.
An Algorithm is a logical sequence of steps used to solve a problem.
Pseudocode is an informal representation of an algorithm written in structured English-like statements.
Important points:
• They are planning tools.
• They help programmers design solutions.
• They are not executable by a computer.
• They do not follow strict programming language syntax.
Therefore, they are not classified as programming languages.
Hence, statement (d) is incorrect.
Step 5: Determine the correct combination.
The correct classifications are:
\[
(a),\ (b),\ (c)
\]
while
\[
(d)
\]
is not a programming language classification.
Conclusion:
Only Machine Language, Assembly Language, and High-Level Language are primary classifications of programming languages.
Therefore,
\[
\boxed{\text{Only (a), (b) and (c) are correct}}
\]
Hence, the correct answer is Option (C).