Object-Oriented Programming

/ˌoʊˌoʊˈpiː/

noun … “Organizing code around objects and their interactions.”

OOP, short for Object-Oriented Programming, is a programming paradigm that structures software design around objects, which encapsulate data (attributes) and behavior (methods). Each object represents a real-world or conceptual entity and interacts with other objects through well-defined interfaces. OOP emphasizes modularity, code reuse, and abstraction, making complex systems easier to design, maintain, and extend.

Key principles of OOP include:

Read-Eval-Print Loop

/ˌriːˈpl/

noun … “Interactive coding, one line at a time.”

REPL, short for Read-Eval-Print Loop, is an interactive programming environment that reads user input as source code, evaluates it, prints the result, and loops back to accept more input. It provides immediate feedback, allowing developers to experiment with language features, test functions, and inspect data structures dynamically. REPLs are common in interpreted languages such as Python, Ruby, JavaScript, and Lisp.

Global Interpreter Lock

/ˈɡloʊbəl ɪnˈtɜːrprɪtər lɒk/

noun … “A single-thread lock for memory safety in Python.”

Global Interpreter Lock, commonly abbreviated as GIL, is a mutex used in the CPython implementation of Python to ensure that only one thread executes Python bytecode at a time within a single process. The primary purpose of the GIL is to protect access to Python objects, preventing data corruption caused by concurrent modifications and simplifying memory management, especially in reference counting-based garbage collection.