A programming paradigm is a foundational style or approach that guides the design, structure, and implementation of computer software. It provides a way of thinking about the calculation process, determining how programs should organize logic, manage data, and execute operations. Major paradigms include procedural, which structures programs as a sequence of steps or routines; object-oriented, which models systems using encapsulated "objects" that combine data and methods; and functional, which treats computation as the evaluation of mathematical functions and avoids mutable state and changing data. The choice of paradigm fundamentally influences the complexity of the resulting code, its maintainability, and the underlying mathematical principles used to ensure correctness and efficiency.