Introduction to
Programming
Languages
Week 1-2 Lecture Topics
History of Programming
Languages
- 1940s: Machine language (binary instructions)
- 1950s: Assembly language (symbolic
instructions)
- 1960s-1970s: High-level languages (FORTRAN,
COBOL, BASIC)
- 1980s: Object-oriented programming (C++,
Smalltalk)
- 1990s: Scripting and web development
languages (Python, JavaScript)
- 2000s-Present: Modern languages (Java, C#,
Rust, Kotlin)
Categories of
Programming Languages
- Low-level Languages
* Machine Language
* Assembly Language
- High-level Languages
* Procedural (C, Pascal)
* Object-Oriented (Java, C++)
* Functional (Haskell, Lisp)
* Scripting (Python, Ruby)
Programming Paradigms
- Imperative Programming
* Focus on how tasks are performed (C, Python)
- Functional Programming
* Emphasizes functions and immutability (Haskell, Lisp)
- Object-Oriented Programming (OOP)
* Focus on objects and classes (Java, C++)
- Logic Programming
* Based on formal logic (Prolog)
Compilation vs.
Interpretation
- Compilation
* Translates source code to machine code
* Executable file generated (e.g., C, C++)
- Interpretation
* Executes code line-by-line
* No intermediate file (e.g., Python, JavaScript)
- Hybrid Approach
* Combines both (e.g., Java using JVM)
Syntax and Semantics
- Syntax
* Structure or form of a program (rules for
writing code)
- Semantics
* Meaning of the program (what the code does)
- Importance
* Syntax ensures correctness
* Semantics ensures functionality