Programming Language (PL)
Computer Science (Computer) — Learn about Programming Language (PL) in Computer Science (Computer). Comprehensive study materials and practice questions.
Study Notes
Introduction to Programming Languages
A Programming Language (PL) is a standardized vocabulary and set of grammatical rules used to write instructions that a computer can understand and execute. It serves as the primary medium of communication between human programmers and the computer hardware, allowing the creation of software programs, applications, and operating systems.
Classification of Programming Languages
Programming languages are categorized into three main levels based on their distance from the computer's physical hardware and their similarity to human language. These classifications are:
1. Machine Language (First-Generation Language - 1GL)
Machine language is the lowest level of programming language. It consists entirely of binary digits (0s and 1s) or hexadecimal values that the computer's central processing unit (CPU) can interpret and execute directly in hardware without any translation.
- Execution: Direct execution by hardware.
- Representation: Binary machine code (strings of 1s and 0s representing high and low electrical states).
- Machine Dependency: Extremely machine-dependent. A machine language program written for one CPU architecture (e.g., Intel x86) cannot run on another (e.g., ARM) without complete rewriting.
2. Assembly Language (Second-Generation Language - 2GL)
Assembly language is a low-level programming language that acts as a thin wrapper over a corresponding machine language. Instead of using raw binary codes, it uses symbolic codes called mnemonics (e.g., ADD, SUB, MOV, JMP) to represent operations, and symbols/labels to represent memory addresses.
- Translation: Since the CPU cannot execute assembly language directly, a translator program called an Assembler is required to convert the assembly source code into machine/object code.
- Machine Dependency: It is still highly machine-dependent, requiring intimate knowledge of the specific processor hardware architecture.
3. High-Level Languages (Third to Fifth Generation Languages - 3GL to 5GL)
High-level languages (HLL) are designed to be user-friendly, machine-independent, and closely aligned with human languages (typically English) and mathematical notations. They allow programmers to focus on solving problems rather than worrying about CPU architectures or memory addresses.
- Machine Independence: HLLs are highly portable. A program written in a high-level language can run on different hardware platforms with little or no modification.
- Translation: Computers cannot execute HLL instructions directly. They must be translated into machine code using either a Compiler (which translates the entire source code at once) or an Interpreter (which translates and executes the code line-by-line).
- Examples:
- BASIC (Beginner's All-purpose Symbolic Instruction Code): Developed for educational purposes, very simple to learn.
- FORTRAN (Formula Translation): Designed for scientific, engineering, and mathematical calculations. Fortran 2003/2008 introduced advanced object-oriented features.
- C: A highly structured, powerful system-programming language that combines high-level features with low-level access.
- Java: An object-oriented, platform-independent language based on the 'Write Once, Run Anywhere' (WORA) philosophy.
- Python: A highly readable, dynamic, and multi-purpose language popular in scripting, web development, data science, and AI.
- Perl: A general-purpose, dynamic programming language known for text-processing capabilities.
Advantages and Disadvantages of Programming Language Levels
| Language Level | Advantages | Disadvantages |
|---|---|---|
| Machine Language (1GL) |
|
|
| Assembly Language (2GL) |
|
|
| High-Level Language (HLL) |
|
|
Master Programming Language (PL) Now!
Test your understanding with actual past questions and get instant, AI-powered explanations for every answer.
Start Free CBT PracticeMore Computer Science (Computer) Topics
Need a Tutor?
Get one-on-one help from a verified Computer Science (Computer) tutor on Tutorial Haven.
Find a Tutor