Evolution of Programming Languages
Introduction to Programming Languages
Definition: Formal language used to communicate instructions to a computer, designed to make programming easier, faster, more reliable, and more understandable.
Evolves through multiple generations with increasing levels of hardware abstraction.
Machine Language
Definition: Lowest-level programming language consisting of binary digits ( and ) executed directly by the processor.
Instruction Example:
10110000 01100001(exact meaning depends on processor architecture).Characteristics & Advantages: Directly understood and executed by hardware, highly efficient, provides low-level control, requires no translation.
Disadvantages: Machine-dependent, non-portable between computer types, extremely difficult to read, write, debug, and maintain.
Assembly Language
Definition: Low-level language developed to replace binary numbers with mnemonics or symbolic instructions.
Instruction Examples:
MOV A, B,ADD A, CAssembler: Software that converts assembly language code into machine language.
Characteristics & Advantages: Easier to understand and write than machine language, provides direct hardware control, suited for system-level programming.
Disadvantages: Machine-dependent, requires detailed knowledge of computer architecture, difficult to maintain compared to high-level languages.
High-Level Languages
Definition: Languages designed to mimic human language and mathematical notation (e.g.,
sum = a + b;).Examples: FORTRAN, COBOL, BASIC, Pascal, C, C++, Java, Python.
Characteristics: Portable across different systems, highly readable and maintainable, requires a compiler or interpreter for execution.
Procedural Programming Languages
Definition: Programming approach that organizes code as a sequence of procedures or functions to break down large problems.
Examples: FORTRAN, Pascal, C (e.g., organizing code into
main()anddisplay()functions).Advantages: Promotes modular programming, reusable functions, easier program testing and debugging.
Structured Programming
Definition: Method for creating maintainable and readable programs by reducing uncontrolled jumps.
Three Basic Control Structures:
Sequence: Step 1, Step 2, Step 3
Selection:
if,switchIteration:
for,while,do-while
Strongly supported by the C programming language.
Object-Oriented Programming
Definition: Programming paradigm centered around objects and classes rather than functions alone.
Examples: C++, Java, C#, Python.
Core Concepts: Class, Object, Encapsulation, Inheritance, Polymorphism, Abstraction.
Example Structure: A
Studentclass containing attributes (Name,Roll Number,Address) and methods (display(),calculateGrade()).
Modern Programming Languages
Definition: Languages offering high levels of abstraction that support multiple programming paradigms.
Examples: Python, Java, JavaScript, C#, Kotlin, Swift, Rust, Go.
Primary Application Domains: Web development, mobile application development, artificial intelligence, data science, cloud computing, system programming, embedded systems, game development.