Programació

De Cacauet Wiki
Salta a la navegació Salta a la cerca

En aquest curs treballarem amb les llenguatges C++ i Python.

  • El llenguatge C/C++ continua sent la opció més generalitzada de programació de sistema i té la capacitat de poder treballar a molt baix nivell, mantenint així un rendiment molt alt.
  • El llenguatge Python ha incrementat la seva quota de mercat progressivament, sobretot mercès l'impuls donat per Google amb el seu AppEngine. És un llenguatge orientat a objectes nadiu i de més alt nivell que el C++, el que permet una manipulació més elegant però amb menys rendiment.


UF4: Programació Orientada a Objectes. Fonaments

Llenguatges compilats i interpretats. Diferències i implicacions.

Referències:

Llenguatge Python

POO

  • POO Introducció. Objectes i les característiques (herència, sobrecàrrega, polimorfisme).
  • POO Classes. Instanciació, mètodes i atributs, constructors i destructors.
  • POO Herència. Una de les principals característiques de la POO.
  • POO: Polimorfisme. Una altra característica principal de la POO. En Python no és tan rellevant degut als tipus dinàmics.
  • POO Sobrecàrrega: la sobrecàrrega s'aplica a mètodes i operadors. En Python no s'utilitza en favor dels keyworded arguments.
  • POO Operadors: operacions de comparació entre classes.

Exercicis: POO Exercicis


UF5: POO. Llibreries de classes fonamentals


UF6: POO. Introducció a la persistència en BD

Per gestionar la persistència d'objectes en Python disposem de diverses eines:

  • Pickle: és una eina de serialització de baix nivell. Serà complicat utilitzar-la.
  • Shelve: utilitza pickle com a base, però simplifica la utilització.
  • ZODB:
    • Zope Object Database: versió data storage (1 fitxer)
    • ZEO (ZODB per socket, permet múltiples connexions simultànies)

Utilitzarem Shelve i ZODB en el curs. S'utilitzen de manera molt similar, disposem d'una arrel (root), que és un diccionari persistent, on poden enregistrar els nostres objectes. La diferència més important és que a ZODB cal fer un commit, i que té la possibilitat de multithreading mitjançant l'accés amb ZEO.


Exercicis

  1. QtreGimp: crearem formes geomètriques i les enregistrarem en arxius amb shelve.
  2. Chat amb ZEO