STRUCTURED PROGRAMMING

1. Introduction to structured programming

1.1. Types of programming language

Programming languages can be grouped into several major categories based on their paradigms and intended use cases. While many languages overlap categories, understanding these types helps in choosing the right tool for a project.

1. Procedural Languages Follow a sequence of instructions (procedures) to perform tasks. They emphasize structured programming and step-by-step execution. Examples: C, C++, Java, Pascal, BASIC.

2. Functional Languages Focus on mathematical functions, immutability, and avoiding side effects. Ideal for concurrent and data-heavy computations. Examples: Haskell, Scala, Elixir, F#, Erlang.

3. Object-Oriented Languages (OOP) Organize code into reusable objects containing data (attributes) and behavior (methods). Great for large, scalable systems. Examples: Java, Python, Ruby, C++, PHP.

4. Scripting Languages Often interpreted, used for automation, web development, and rapid prototyping. They excel in flexibility and ease of use. Examples: Python, JavaScript, PHP, Bash, Perl.

5. Logic Languages Express rules and facts for the computer to infer solutions, common in AI and computational linguistics. Examples: Prolog, Datalog, Absys.