Notes:
1. What Are Computer Science Languages?
Computer science languages — usually called programming languages — are formal systems of
syntax and rules that allow humans to write instructions for computers.
They act as the “bridge” between human thinking and machine execution.
2. Categories of Programming Languages
A. By Level of Abstraction
1. Low-Level Languages (close to machine code)
o Machine Language (binary: 0s and 1s)
o Assembly Language (mnemonics like MOV AX, 1)
o Pros: Very fast, hardware control.
o Cons: Difficult for humans to read/write.
2. High-Level Languages (closer to human language)
o Examples: Python, Java, C#, JavaScript.
o Pros: Easier to learn, portable across systems.
o Cons: Slightly slower than low-level code.
B. By Programming Paradigm
1. Procedural / Imperative
o Code is written as a sequence of instructions.
o Examples: C, Pascal.
2. Object-Oriented Programming (OOP)
o Organizes code into objects (data + behavior).
o Examples: Java, C++, Python (supports OOP).
3. Functional Programming
o Focuses on pure functions, immutability.
o Examples: Haskell, Scala, F#.
4. Scripting Languages
o Often interpreted, used for automation and quick tasks.
o Examples: JavaScript, Python, Bash.
5. Logic-Based Languages
o Based on formal logic (rules and facts).
o Example: Prolog.
C. By Execution Model
Compiled Languages: Translated into machine code before running (e.g., C, Go).
Interpreted Languages: Executed line-by-line by an interpreter (e.g., Python, Ruby).
Hybrid: Compiled into bytecode, then interpreted or JIT compiled (e.g., Java, C#).
3. Major Programming Languages & Their Uses
A. C Family
C: Fast, low-level control, system programming, embedded systems.
C++: Adds OOP, used in game engines, high-performance apps.
C#: Microsoft’s language for .NET, desktop apps, games (Unity).
B. Web Languages
HTML/CSS (not exactly “programming” but essential for web structure/style).
JavaScript: Frontend interactivity, backend (Node.js), full-stack.
TypeScript: JavaScript with type safety.
PHP: Web server scripting (WordPress, Facebook’s early days).
C. Data Science & AI
Python: AI, ML, automation, data analysis.
R: Statistical computing, data visualization.
Julia: High-performance numerical computing.
D. Enterprise & Mobile
Java: Enterprise apps, Android development.
Kotlin: Modern Android development.
Swift: iOS/macOS development.
E. Systems & Hardware
Rust: Memory safety + performance (gaining popularity in systems).
Go (Golang): Cloud infrastructure, servers.
Assembly: Firmware, hardware-level programming.
F. Academic & Specialized
Haskell: Pure functional programming.
Prolog: Logic programming.
MATLAB: Engineering, simulations.