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.
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.
To run the implementations, ensure you have the following environments installed:
- JDK (Java Development Kit) 11 or higher.
- Recommended IDEs: IntelliJ IDEA, Eclipse, or VS Code.
- Python 3.x.
- Package manager:
pip(for additional dependencies).
- SML/NJ (Standard ML of New Jersey) compiler or Poly/ML.
- SWI-Prolog interpreter.
-
Clone the repository:
git clone https://github.com/PedroVFSantos/programming-paradigms.git cd programming-paradigms -
Navigate to the desired language folder:
cd Java # or Python, SML, Prolog
-
Follow the specific instructions (if any) inside each folder's sub-README or source comments.
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.
Contributions are welcome! Feel free to open issues or submit pull requests with improvements, new implementations, or bug fixes.
This project is open source and available under the MIT License.