Wikipedia definisce il paradigma di programmazione così:
a fundamental style of computer programming
che riecheggia nel testo descrittivo delle paradigms tag su questo sito.
Trovo che questa sia una definizione deludente. Chiunque conosca le parole programming e paradigm potrebbe fare al riguardo senza sapere altro. Esistono molti stili di programmazione per computer a molti livelli di astrazione; all'interno di un dato paradigma di programmazione, sono possibili più stili. Ad esempio, Bob Martin dice in Pulisci codice (13),
Consider this book a description of the Object Mentor School of Clean Code. The techniques and teachings within are the way that we practice our art. We are willing to claim that if you follow these teachings, you will enjoy the benefits that we have enjoyed, and you will learn to write code that is clean and professional. But don't make the mistake of thinking that we are somehow "right" in any absolute sense.
Quindi Bob Martin non sta affermando di avere lo stile corretto della programmazione orientata agli oggetti, anche se lui, se qualcuno, potrebbe avere qualche pretesa per farlo. Ma anche all'interno della sua scuola di programmazione, potremmo avere diversi stili di formattazione del codice (K & R, ecc.). Esistono molti stili di programmazione a molti livelli.
Quindi, come possiamo definire paradigma di programmazione in modo rigoroso, per distinguerlo da altre categorie di stili di programmazione? Fondamentale è in qualche modo utile, ma non specifico. Come possiamo definire la frase in un modo che comunichi più dei significati separati di ciascuna delle due parole - in altre parole, come possiamo definirla in un modo che fornisca un significato aggiuntivo per qualcuno che parla inglese ma non lo è familiarità con una varietà di paradigmi?