Computer programmers have evolved from the early days of first-generation bit-processing languages to sophisticated logic designers of complex software applications. A programming paradigm is the logical approach used in software engineering that describes how a programming language is implemented. Programming paradigms are unique to each language within the computer programming domain, and many programming languages use multiple paradigms. The term paradigm is best described as “pattern or model”. Therefore, a programming paradigm can be defined as a pattern or model used in a software programming language to create software applications.
Each programming language has its own programming paradigms.
Programming languages are extremely logical and follow the standard rules of mathematics. Each language has a unique method for applying these rules, especially around the areas of functions, variables, methods, and objects. There are many programming paradigms; examples include object-oriented, procedural, and structured programming. Each paradigm has unique requirements on the usage and abstractions of processes within the programming language.
C++ is a commonly used computer programming language that supports multiple paradigms.
It is helpful to understand the history of the programming language and of software in general to better understand the concept of the programming paradigm. In the early days of software development, software engineering was completed with the creation of binary code or machine code, represented by 1s and 0s. These binary manipulations caused programs to react in a specific way. This early computer programming is commonly called the “low-level” programming paradigm.
This was a tedious and error-prone method of creating programs. Programming languages have rapidly evolved into the “procedural” paradigm or third-generation languages, including COBOL, Fortran, and BASIC. These procedural programming languages define programs in a step-by-step approach.
The next evolution of programming languages was to create a more logical approach to software development, the “object-oriented” programming paradigm. This approach is used by the Java™, Smalltalk, and Eiffel programming languages. This paradigm attempts to abstract program modules into reusable objects.
In addition to these programming paradigms, there is also the “declarative” paradigm and the “functional” paradigm. While some programming languages strictly enforce the use of a single paradigm, many support multiple paradigms. Some examples of these types include C++, C#, and Visual Basic®.
By allowing developers flexibility in programming languages, a programming paradigm can be used that best meets the business problem to be solved. As the art of computer programming evolved, so did the creation of the programming paradigm. By creating a framework from a pattern or model for system development, programmers can design computer programs to be more efficient within the selected paradigm.