Escriu per cercar…

Programar

Com fer servir la IA mentre aprens a programar sense deixar d'aprendre'n.

Introducció

La pregunta que tothom fa sobre la IA és si fer-la servir és fer trampa.

És una pregunta avorrida, i a més té una resposta curta: depèn de si l’examen el fas tu o el fa ella.

La pregunta bona és una altra, i per veure-la val la pena mirar dues persones que van aprendre el mateix llenguatge, els mateixos anys, en condicions oposades.

Dues maneres d’aprendre el mateix

El 1976 en Dan Watt va demanar una excedència després de set anys fent de mestre i se’n va anar al MIT.

Li van donar un despatx, uns quants manuals i cap curs: no n’hi havia, i ningú no es pensava que n’hi hagués d’haver.

El que sí que tenia era gent.

Podia preguntar a qualsevol, en qualsevol moment, i li contestaven deixant la seva pròpia feina.

Podia mirar com els altres resolien els seus problemes, ficar-hi cullerada i endur-se’n les idees.

El 1980 la Molly Watt va aprendre el mateix llenguatge sense res de tot això.

Es va comprar un ordinador i va aprendre davant dels seus alumnes, sense amagar que no en sabia.

Tenia en Dan els caps de setmana i un alumne de sisè a les tardes, i prou.

Els autors no ho adornen: per a ella va ser un procés solitari i dur.

Mateix llenguatge, mateixos anys.

El que els separava no era el talent ni els materials, sinó si hi havia algú a qui preguntar.

Aquesta és la pregunta que val la pena fer-se sobre la IA.

Contesta a les tres de la matinada, no se li acaba mai la paciència i no et fa sentir idiota per preguntar.

Això és molt, i és justament el que la Molly no tenia.

Però hi ha dues coses d’aquell laboratori que un xat no fa.

La primera és deixar-se mirar.

En Dan aprenia veient com altres s’encallaven i se’n sortien.

Això no ho pots demanar en un xat: la IA no s’encalla mai davant teu, i per tant no li veus mai el procés, només el resultat.

La segona és el que en Dan va dir a la Molly quan ella va acabar el seu primer programa a la primera i sense cap ensurt: «Però si encara no has comès cap error!»

Ho va dir decebut, i tenia raó.

Un model de llenguatge no et dirà mai això.

Et felicitarà.

Dos estudiants

Imagina’t un estudiant de primer que no ha programat mai i que no es considera bo en matèries tècniques.

Al seu curs es pot fer servir la IA.

Llegeix l’enunciat i es posa a programar.

Gairebé de seguida, l’autocompletat li escup una funció llarga que l’aclapara, i se’n va al xat.

Com que ha sentit que és millor fer servir la IA de tutora que de màquina de respostes, li demana que l’hi expliqui pas a pas.

Llegeix el primer consell per sobre, buscant la solució, i copia el codi.

El codi no acaba d’encaixar amb el problema i porta sintaxi que ell no coneix.

Va passant codi amunt i avall entre l’editor i el xat fins que els tests passen.

Quan li pregunten si la IA li ha servit, respon que molt.

Ara imagina’t una companya seva del mateix curs.

Va anar una vegada a un campament d’estiu de ciències i ja sap què és la frustració de programar. No li sembla fàcil, però sap que és capaç d’acabar coses.

Amb el mateix exercici, llegeix l’enunciat i abans de res posa noms a les variables i escriu comentaris per esbossar com ho farà.

Mentre tecleja, l’autocompletat li va oferint coses.

De tant en tant les mira, però majoritàriament les ignora, perquè ja té un pla.

Quan n’accepta alguna és petita i deliberada: tancar un claudàtor, un condicional obvi.

Comet uns quants errors de sintaxi, els va corregint, i acaba amb tots els tests verds.

Diu que la IA l’ha ajudat a anar més ràpid, però atribueix el resultat a la seva manera d’organitzar-se.

Aquests dos no me’ls he inventat.

Són dos dels 21 estudiants que Prather i el seu equip van observar un per un el 2024, amb seguiment ocular i entrevistes, en un estudi titulat The Widening Gap — l’escletxa que s’eixampla.

Van acabar l’exercici 20 dels 21.

El que van trobar és que la mateixa eina feia dues coses oposades: als que ja anaven bé els donava un cop de mà, i als que anaven justos els multiplicava les dificultats.

I sobretot: els que anaven justos es pensaven que ho havien fet millor del que ho havien fet.

Els investigadors en diuen il·lusió de competència: la sensació sòlida d’haver entès una cosa que no podries tornar a fer tot sol.

Quin dels dos ets?

Obre el quadern de Apunts.

Al costat de l’última cosa que hagis programat amb ajuda de la IA, escriu-hi dues línies:

  • Què li vas demanar exactament.
  • Què hauries fet si no l’haguessis tinguda.

Si la segona línia et surt en blanc, ja saps quin dels dos ets avui.

No és cap condemna: és el punt de partida.

Les trampes de pensament

Els programadors novells s’encallen molt més per no adonar-se de què estan fent que per no saber-se la sintaxi.

El 2016, Loksa i Ko van provar d’ensenyar-los aquestes trampes explícitament, i van veure canvis immediats i duradors en la productivitat i la confiança dels estudiants.

Val la pena saber-se-les pel nom, perquè posar-li nom a una cosa ja és mig sortir-ne:

  • Pregunta bona, resposta dolenta (Forming) — has entès el problema, però l’ataques de la manera equivocada.
  • Encallat al solc (Dislodging) — ja veus que el teu enfocament no funciona, i tot i així no el canvies.
  • Pregunta dolenta, resposta bona (Assumption) — resols perfectament un problema que no era el teu.
  • A tocar i molt lluny (Location) — vas de pressa perquè ja quasi ho tens, i t’has saltat una cosa crucial.
  • Una tireta sobre un os trencat (Achievement) — vas fent pedaços esperant que allò arrenqui, quan el que caldria és refer-ho.

L’equip de Prather va anar a mirar si la IA ajudava amb aquestes trampes.

No hi ajudava: n’afegia de noves.

  • Quedar-te enrere sense notar-ho (Progression) — creus que segueixes el ritme del curs, però l’ajuda et genera codi per damunt del que entens i la distància creix sense que es vegi.
  • Interrupcions constants (Interruption) — cada vegada que et concentres, l’autocompletat et proposa una cosa i et trenca el fil.
  • Seguir un mal consell (Mislead) — et refies d’un suggeriment que sembla correcte i te’n vas de corcoll.
Posa-li nom a la teva

Llegeix les vuit i tria la que t’ha passat aquesta setmana.

N’hi ha una, segur.

Apunta-la al quadern amb la data i amb què estaves fent quan hi vas caure.

D’aquí a un mes, mira quantes vegades hi torna a sortir la mateixa.

Com fer-la servir

Com més principiant siguis, menys hauries de fer servir la IA per generar codi.

PrincipiantFes-la servir per digerir informació, no per produir codi
AvançatFes-la servir de revisora i de tutora, per aprofundir
ExpertFes-la servir d’assistent, i concentra’t en l’arquitectura i els requisits

Els motius són concrets:

  • Saltar-te la base fa que després no entenguis els conceptes complexos.
  • Acceptes males propostes, perquè encara no llegeixes prou bé el codi per veure que ho són.
  • Vas més de pressa, cosa bona per a la productivitat i dolenta per a la retenció.
  • Sents que la feina no és teva, i això et baixa la motivació.
  • Una solució que t’han donat satisfà menys que una que t’ha costat.

Res d’això vol dir que hagis de programar amb les mans lligades.

Vol dir que li has de demanar coses que t’obliguin a pensar, no coses que et permetin no fer-ho.

Demana-li que t’expliqui amb una metàfora un concepte que et sona abstracte.

Demana-li què vol dir un terme que t’ha aparegut i no coneixies.

Demana-li què significa aquest error, que està en anglès i és críptic.

Aquestes són exactament les preguntes que hauries fet al company del costat, en aquell laboratori del MIT.

Una pregunta petita al xat de l’editor: com es fa un bucle for en Python

Dues coses més que valen molt i no costen res:

  • Ensenya a algú altre el que estàs aprenent. Encara que en sàpigues just la base. Els novells fan preguntes que et destapen forats que no sabies que tenies.
  • Tracta els errors com a coneixement. Saber què no funciona és tan part de saber programar com saber què sí.
Un exercici sense res

Tria el pròxim exercici que et toqui i fes-lo sense IA i sense cercador.

Només la documentació oficial i el que ja saps.

Cronometra’t, i apunta al quadern quant has trigat i on t’has encallat.

Després, si vols, demana a la IA que revisi el que has fet.

Aquest ordre —primer tu, després ella— és el que la converteix en tutora en comptes de en autora.

Les emocions també compten

La ment de qui programa oscil·la entre dos extrems: l’eufòria de veure una cosa funcionar i la frustració espessa de no entendre per què no funciona.

Tant si portes una setmana programant com si en portes trenta anys, l’experiència és molt semblant.

El truc no és evitar-ho, sinó aprendre a treballar amb això i a través d’això.

Sostenir la pràctica de programar demana quatre coses: confiança autèntica, una resposta productiva a la frustració, permís per jugar, i orgull de la teva feina.

Això és gairebé més important que la matèria que estudies, perquè és el que decideix si hi tornaràs demà.

Mantenir la idea que tu ets algú a qui li agrada programar et servirà molt més que saber-te de memòria cada pas d’un algorisme d’ordenació.

Continua

Fins aquí el per què. El com, amb l’assistent que ve integrat a l’editor, és a Copilot.