Paradigmes de programació: Orientat a objectes, interacció i semàntica
Clasificado en Informática
Escrito el en catalán con un tamaño de 3,76 KB
Paradigma orientat a objectes
(objecte estat + operacions). Concepte de classe, instància, subclasses i herència. Elements fundamentals: abstracció, encapsulament, modularitat i jerarquia.
Programació concurrent
Es tracta d'un mecanisme de hardware que interromp el programa en execució i fa que la unitat de procés bifurqui el control, a una direcció donada on resideix un altre programa que tractarà l'event associat a la interrupció.
Problemes
corrupció de les dades compartides. Interbloquetjos, inanició indeterminisme (les interrupcions poden variar).
Programació paralel·la
Distribució de les dades i la repartició de la càrrega. Diferents processadors alhora.
Paradigma interacció
Comunitat d'identitats que interactuen seguint regles d'interacció. Programació per events, sist. reactiu, client/servidor. És la base de apps distribuïdes, interfícies d'usuari, programació web, etc.
Programació per events
L'arquitectura event-driven és un bucle principal amb 2 parts: la primera secció detecta o selecciona els events (events detection) la segona consisteix en el maneig (event holding) pot ser o no, orientada a objectes. No implica que sigui concurrent.
Sintaxi
Quina seqüència de caràcters constitueixen un programa legal. Defineix l'aspecte d'un programa, quins programes són il·legals. Té diferents instruments: Notació BNF -> Algol. Representació gràfica -> Pascal. La gramàtica descriu com formar instruccions a partir de paraules. Instrucció = seqüència de paraules Paraula = seqüència de caràcters.
Anàlisi
Lèxic és un programa que divideix una seqüència de caràcters en una seqüència de components sintàctics primitius o paraules. Caràcters -> Paraules
Sintàntic
Paraules -> instruccions
Semàntica
Què significa (calcula) un programa legal donat. Ajuda al programador a raonar, necessària per a implementar correctament el llenguatge. Desenvolupa eines de: Anàlisi i optimització, Depuració, Verificació, Transformació.
Estàtica
Les restriccions de sintaxi que no es poden expressar en BNF però sí comprovar en temps de compilació.
Operacional
Més antic (ALGOL) primer es defineix una màquina abstracta M i el significat de cada construcció s'expressa en termes de les accions a realitzar per la màquina. La definició semàntica operacional d'un llenguatge el fa executable. Proporciona un model per a la implementació Premisa/Conclusió
Axiomàtica
Pascal, donada una instrucció S i dos afirmacions P i Q, S és correcte si P és la precondició i Q la postcondició.
Dinàmica
Estudiar el comportament dels programes en execució.
Propietats de les semàntiques
correcció, completitud, equivalència entre programes
En la pràctica no s'usa la traducció excepte quan els llenguatges són de nivell pròxim. La interpretació no s'usa excepte en llenguatges de control de S.O o en llenguatges interactius. És comú una implementació mixta el programa es tradueix de la forma original a un altre d'execució més fàcil que s'executa per interpretació.
Intèrprets
Donen millor suport a la depuració que els compiladors, generen codi objecte més gran que els compiladors.
Llenguatges
Típicament compilats C, C++, Fortran, Ada. Interpretat LISP, ML, Smalltalk, Perl, Postscript Implementació mixta Pascal (P-code), Prolog (WAM-code), Java