Capítol 10 — Del Karel al Python
Capítol 10

Del Karel al Python

Has completat els nou capítols del curs. Has après a pensar com un programador: descompondre problemes, escriure bucles, prendre decisions i crear funcions. Ara ve la sorpresa: tot el que has escrit ja era Python de debò.

Tot el que has escrit és Python

Potser no t'ho esperaves: el codi que has escrit durant tot el curs és Python real.

for, while, if, elif, else, def, and, or, not… tot això és Python. No una versió simplificada. No un llenguatge de joguina. Python de debò.

La diferència és que en Karel, les úniques «accions» eren move(), grab(), turn_left()… En Python real, les accions són molt més variades: pots escriure text a la pantalla, llegir fitxers, fer càlculs matemàtics, crear pàgines web, entrenar intel·ligències artificials. Però l'estructura del codi — bucles, condicions, funcions — és exactament la que ja coneixes.

Compara: Karel vs. Python

Fixa't com l'estructura és idèntica. Només canvien les accions de dins:

# Karel                           # Python
for _ in range(5):                for _ in range(5):
    move()                            print("Hola!")

if pearl_here():                  if edat >= 18:
    grab()                            print("Major d'edat")
else:                             else:
    move()                            print("Menor d'edat")

def puja_grao():                  def saluda(nom):
    turn_left()                       print("Hola, " + nom)
    move()
    turn_right()
    move()

La columna de l'esquerra la coneixes bé. La de la dreta és Python per a un ordinador real. Fixa't: l'estructura és idèntica.

Què hi ha de nou a Python?

Python afegeix coses que en Karel no necessitava:

Variables — en Karel, la motxilla era l'única manera de «recordar» un número. En Python, pots guardar qualsevol valor amb un nom:

punts = 0
punts = punts + 10

Entrada i sortida — en Karel, el resultat del programa era la posició final d'en Karel al món. En Python, pots demanar informació a l'usuari i mostrar-li resultats:

nom = input("Com et dius? ")
print("Hola, " + nom + "!")

Tipus de dades — en Karel, tot eren caselles i perles. En Python hi ha números (42, 3.14), text ("Hola"), llistes ([1, 2, 3]), i molt més.

Però la manera de pensar — descompondre el problema, crear funcions amb noms clars, usar bucles i condicions — és la mateixa. Això és el que has après amb en Karel: no un llenguatge, sinó una manera de pensar.

Les idees que no canvien mai

Sigui quin sigui el llenguatge de programació que aprenguis en el futur (JavaScript, C, Java, Rust, Go…), hi trobaràs les mateixes cinc idees:

  1. Seqüència: les instruccions s'executen en ordre, de dalt a baix.
  2. Repetició: for i while existeixen a tots els llenguatges.
  3. Decisió: if/else existeix a tots els llenguatges.
  4. Abstracció: les funcions (def) permeten donar noms a blocs de codi reutilitzables.
  5. Descomposició: partir un problema en parts amb noms clars és la tècnica fonamental de l'enginyeria del software.

Aquestes cinc idees les has practicat amb en Karel. Ara les portaràs amb tu.

Per on continuo?

Si vols continuar aprenent Python:

  • Python al teu ordinador: descarrega Python des de python.org i obre un terminal. Prova print("Hola, món!") i ja estàs programant.
  • Editors: VS Code (gratuït) és l'editor que fan servir la majoria de programadors.
  • Cursos: Python for Everybody (Universitat de Michigan), CS50 (Harvard), Automate the Boring Stuff (gratuït en línia).
  • Projectes: la millor manera d'aprendre és fent. Prova de crear un joc de preguntes, una calculadora, o un programa que generi una contrasenya aleatòria.

Però primer: ves als Reptes. Combina tot el que saps per resoldre problemes que no tenen una sola solució correcta. Pensa bé l'algorisme abans d'escriure cap línia de codi.