Paradigma de programació

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca

En informàtica , un paradigma de programació és un estil fonamental de programació , és a dir, un conjunt d’eines conceptuals proporcionades per un llenguatge de programació per escriure el codi font d’un programa , definint així la manera com el programador concep i percep el propi programa. . Diferents paradigmes difereixen en els conceptes i abstraccions utilitzats per representar els elements d’un programa (com ara funcions , objectes , variables , restriccions, etc.) i en els procediments utilitzats per a l’execució de les dades dels procediments de processament (assignació, càlcul, iteració , etc.). flux de dades, etc.).

Descripció

Cada llenguatge de programació s'inspira generalment i es pot rastrejar a un paradigma de programació concret; un programa orientat a objectes , per exemple, està format per objectes que interactuen entre si, mentre que en la programació funcional el programa és una composició de funcions ; Pascal i C es basen en el paradigma de programació estructurada , Lisp en el de programació funcional , Prolog en el de programació lògica , etc.

Alguns llenguatges de programació, en canvi, estan influenciats per múltiples paradigmes; un exemple macroscòpic és Ada , que va ser dissenyat explícitament com una suma de conceptes de programació estructurada , programació modular , programació genèrica , programació simultània i programació per a tipus de dades abstractes .

La història dels paradigmes de programació es presta a ser representada amb un arbre genealògic ; en molts casos, de fet, neix un nou paradigma com a evolució d’un altre, afegint nous conceptes, però també mantenint els fonamentals de l’anterior (possiblement situant-los en una nova perspectiva o modificant la seva importància relativa). De vegades, aquest "salt evolutiu" consisteix a fer obligatori i / o donar suport explícitament al que en paradigmes anteriors s'havia establert com a regla de bona programació . Per exemple, la programació estructurada va introduir estructures de control estàndard (seqüències, bucles i alternatives) i va prohibir l'ús de la declaració goto , que es va demostrar que no era indispensable amb el teorema de Böhm-Jacopini . Quan això va passar, molts riscos de l’ús indiscriminat de la instrucció de salt incondicional de goto ja eren coneguts per molts programadors, i les regles d’estil eren generalitzades, cosa que suggeria restringir l’ús de goto de maneres que es podrien ajustar substancialment a les estructures.

Sobre la base de la consideració anterior, també es pot observar que no és estrictament necessari, programar segons un paradigma determinat, tenir un llenguatge de programació inspirat en aquest mateix paradigma; per exemple, és possible (encara que no és molt fàcil) programar orientat a objectes en llenguatge C. Els mecanismes d' abstracció dels llenguatges de programació, diferents per als diversos paradigmes, poden ajudar a fer possibles estils de programació basats en conceptes no proporcionats directament pel llenguatge utilitzat.

Tipus de paradigmes

Quant a almenys els llenguatges de programació utilitzats en la pràctica industrial de desenvolupament de programari, es pot identificar una "línia principal" de paradigmes de programació:

programació modular
(mitjan dècada de 1970 ) Modula , CLU (idioma)
programació orientada a aspectes
Una extensió de l'OOP ( 2000 ) AspectJ
programació orientada a l'usuari
Dins de Microsoft Windows NT Internet Development (1998 Microsoft Press), plataforma .NET
programació orientada a objectes
( Anys 80 ) Smalltalk , Eiffel , C ++ , Java , Python , Ruby , plataforma .NET
programació estructurada segons patrons
Plànols de Java , plànols de Sun de Java
programació per a la concordança de patrons
( Expressions regulars )
programació procedimental
( Anys 60 ) Fortran , Cobol , F #
programació estructurada
(principis dels anys setanta ) Pascal , C.
programació per a tipus de dades abstractes
(finals dels anys setanta ) OBJ

Altres paradigmes van néixer per a aplicacions específiques:

programació simultània
Inicialment per a computació en arquitectures paral·leles ( anys 70 ), Erlang , Communicating Sequential Processes (CSP), Occam , Go
programació lògica
Per a aplicacions heurístiques , intel·ligència artificial , etc. ( Anys 70 ) Pròleg
programació funcional
Per a aplicacions matemàtiques i científiques, etc. ( Anys 70 ) Lisp , Haskell
programació orientada a esdeveniments
Per a aplicacions en temps real i interfícies gràfiques
programació de restriccions

Articles relacionats

Control de l'autoritat GND ( DE ) 4308224-5
Informàtica Portal de TI : accediu a les entrades de Viquipèdia relacionades amb TI