RO / EN

Capitol 18

Timp estimat de citire: 4-5 minute

“A doua zi i-am rezolvat dump-ul destul de repede. “

Mai târziu, când am ajuns să lucrez pe mașini din familia PDP-11 (si pe clonele ei), am dat peste un Assembler care se numea, foarte serios: MACRO-11.

De ce “MACRO”, daca tot Assembler era?

Pentru ca nu era doar un Assembler, era un Assembler cu “stampile”.

MACRO-11 iți permitea să definești macrocomenzi: adică să scrii o data o secvența de instrucțiuni pe care o foloseai mereu (salvat registre, pregătit parametri, apel, restaurat, întoarcere), ii dădeai un nume, si apoi o chemai cu un singur cuvânt. La suprafață părea o instrucțiune noua. Dedesubt se dilata, disciplinat, într-o bucata întreaga de cod.

Nu era magie. Era economie de repetiție.

Si, în epoca aia, repetiția era un cost real: timp, hârtie, erori. Un macro bun era ca o replica buna: spunea mult, repede, si te scutea de explicații.

De asta era perceput ca Assembler (pentru ca, în esența, tot instrucțiuni de mașină scriai), dar se numea MACRO (pentru ca te lasă să-ti croiești singur un strat de “confort” deasupra instrucțiunilor, fără să uiți nici o clipa ce se afla dedesubt).

In 1972, când m-am trezit cu dump-ul pe birou si am cerut “păsuire până mine”, mapa cu notițe si rutine nu mai era o arhiva. Era o trusă de scule.

Deschid o paranteza:

Si, în meseria asta, trusă de scule face diferența între “nu știu” si “da-mi o zi”.

A doua zi i-am rezolvat dump-ul destul de repede.

Era o operație aritmetica întrata în conflict cu conținutul operanzilor – genul de greșeala care, pe om, îl face să clipească o data, iar pe mașină o face să cada în genunchi, cu demnitate.

I-am dat concluzia, i-am arătat locul, si omul s-a uitat la mine cu acea recunoștința discreta pe care o are cineva când tocmai a scăpat de o rușine publica. In săptămâna următoare s-a dus vestea.

A venit “unu’ care le știe cu dump-ul”.

Ca să fiu corect pana la capăt: înainte să apar eu, cercetătorii de la institut apelau la specialiștii de la Centrul de Calcul al CFR ca să le “dezlege” dump-urile. Si chiar erau specialiști adevărați: oameni de 30–40 de ani, cu experiența în exploatarea cailor ferate, care construiau si implementau sisteme informatice complexe pentru CFR. Eu n-am “detronat” pe nimeni; doar am mai scutit cate o naveta cu dump-ul la Gara si am mai câștigat cate o zi de lucru.

Erau cercetători foarte buni, ingineri de excepție, știau FORTRAN excelent, matematica “cu carul”, dar nu puteau său nu voiau să treacă bariera si să învețe Assembler, legarea programelor (linkage) si felul în care era structurat un dump. Si ii înțelegeam: să înveți Assembler doar ca să citești dump-uri e ca si cum ai învață anatomie doar ca să-ti pui singur un plasture. Se poate, dar iți trebuie un motiv mai bun.

Eu aveam motivul meu. Îmi plăcea să înțeleg “de ce”. Si, recunosc, îmi plăcea si efectul secundar: era plăcut să vezi cum un teanc de hârtie plin de hexazecimali, care pentru alții era panica, pentru ține devenea o poveste cu final fericit. Nu salvam lumea. Dar mai salvam cate un program. Iar, la scara anului 1972, asta însemna destul.

- Sfârșit Capitol 18 -