Skip to content

Latest commit

 

History

History
67 lines (42 loc) · 2.05 KB

File metadata and controls

67 lines (42 loc) · 2.05 KB

Programming Paradigms Study

This repository contains a collection of implementations and experiments across different programming languages. It was designed as a practical and comparative study of various paradigms, including Object-Oriented, Functional, Logical, and Procedural programming.

Repository Structure

The project is organized into dedicated directories for each language:

  • Java: Focused on Object-Oriented Programming (OOP) and data structure implementations.
  • Python: Scripts covering Procedural and Functional paradigms with a focus on agility.
  • SML (Standard ML): Exploring Functional Programming, strong typing, and mathematical expressiveness.
  • Prolog: Focused on Logic Programming and rule-based problem-solving.

Prerequisites

To run the implementations, ensure you have the following environments installed:

Java

  • JDK (Java Development Kit) 11 or higher.
  • Recommended IDEs: IntelliJ IDEA, Eclipse, or VS Code.

Python

  • Python 3.x.
  • Package manager: pip (for additional dependencies).

SML

  • SML/NJ (Standard ML of New Jersey) compiler or Poly/ML.

Prolog

  • SWI-Prolog interpreter.

How to Use

  1. Clone the repository:

    git clone https://github.com/PedroVFSantos/programming-paradigms.git
    cd programming-paradigms
  2. Navigate to the desired language folder:

    cd Java # or Python, SML, Prolog
  3. Follow the specific instructions (if any) inside each folder's sub-README or source comments.


Purpose

The main goal of this project is to understand how different languages approach problem-solving through their unique paradigms. By comparing the same logic implemented in SML (functional) vs. Java (OOP), for instance, we can better grasp the strengths of each architecture.


Contributing

Contributions are welcome! Feel free to open issues or submit pull requests with improvements, new implementations, or bug fixes.


📄 License

This project is open source and available under the MIT License.