💻

Understanding Programming Language Types

Oct 9, 2024

Types of Programming Languages

Introduction

  • Programming languages are artificial languages that communicate instructions to machines, especially computers.
  • Used to create programs controlling machine behavior (e.g., rockets, computers, smart TVs).

Overview of Programming Languages

  • Java is currently one of the most popular programming languages.
  • Programming languages are divided into two main types: Low-Level and High-Level.

Low-Level Languages

  • Definition: Languages that are machine-specific and difficult for humans to understand.
  • Types:
    • Machine Language
      • Runs directly on CPU.
      • Consists of binary code (0s and 1s).
      • Tedious and error-prone to write manually.
      • Not portable; specific to one type of machine.
    • Assembly Language
      • Simplifies machine language programming by using mnemonic codes (e.g., move, jump, add).
      • Specific to certain computer architectures (e.g., MIPS, x86).

High-Level Languages

  • Definition: More user-friendly and closer to human language.
  • Characteristics: Portable and easier to write.
  • Examples: C#, Java, Python.
  • Types:
    • Procedural Languages:
      • Focus on a sequence of steps to solve a problem (like a recipe).
      • Follow a top-down approach.
    • Object-Oriented Languages:
      • Programs are interactions between objects (e.g., eye, fridge, microwave in a morning routine).
      • Focus on data and follow a bottom-up approach.
      • Better for modeling real-world scenarios.

Advantages and Disadvantages

  • Procedural Languages:
    • Disadvantages:
      • Data security is a concern.
      • Code interdependence makes reuse difficult.
  • Object-Oriented Languages:
    • Advantages:
      • Secure programs through data encapsulation.
      • Code modularity facilitates reuse and extension.

Compilation and Interpretation

  • High-level code requires a compiler or interpreter to translate into machine language.
  • Compiler:
    • Translates high-level instructions into machine language, generating an executable file (e.g., .exe).
  • Interpreter:
    • Translates and executes high-level instructions line by line.

Conclusion

  • Next video will cover Object-Oriented concepts in Java.