De la cusut la programare


Când eram mic îmi plăcea să cos. Și făceam haine pentru păpuși.
Eram fascinat de mașina de cusut pe care încă o mai are mamaia Jeni. De fiecare dată când mergeam în vizită îmi plăcea să o studiez ca să înțeleg cum funcționează.

Înainte să încep clasa întâi am fost la atelierul de croitorie la care lucra mătușa mea ca să îmi facă uniformă. Acolo am văzut că era un întreg sistem pentru a produce un costum cu tot felul de mașini și șmecherii. Am trăit o experiență fascinantă să văd cum măsurătorile mele sunt transformate într-o schiță, apoi sunt transferate pe material, sunt tăiate și cusute cu atenție. Ca în final să am o uniformă special croită pentru mine.

În clasele primare abia așteptam ora de lucru manual. Auzisem de la prietenii de la bloc mai mari că o să facem traforaj cu un profesor care era al dracului. Noroc că atelierul de școlii s-a închis în perioada de austeritate. Și profesorul cred că s-a pensionat pentru că noi nu l-am mai prins. Așa că deopotrivă, băieți și fete am învățat cum să facem modele pe etamină, să împletim și să facem mărțișoare din ață colorată.

Mai târziu am învățat de la maică-mea să croșetez. Era o activitate ce necesita foarte multă concentrare și atenție pentru a păstra același număr de ochiuri pe fiecare rând. Pentru a realiza modele complexe trebuia să schimbi împletitura când pe față, când pe dos. Țin minte că erau acele reviste cu șabloane pe care dacă le urmai puteai să faci orice de la căciuli, șosete sau fulare. N-am ajuns la nivelul acela de performanță, dar știu că mi-au ieșit câteva bucăți de material pe care le-am lipit într-un colaj. Apoi a apărut moda cu goblen-urile când eram deja ceva mai mare. Nu mai știu dacă eram în școala generală sau în primii ani de liceu.

Acum conștientizez cum toate aceste experiențe s-au translatat în cariera mea de programator. Mi-a fost ușor să înțeleg cum să parcurg un vector element cu element pentru că mintea mea era deja antrenată de la număratul ochiurilor la croșetat. O matrice nu era nimic mai mult decât șablonul unui goblen. Și diagramele de arhitectură seamănă mult cu tiparele unui costum.

Nu zic să lăsăm tastaturile și să ne apucăm de croșetat. Doar realizez că în lucrurile simple există multă știință și cunoaștere.

În peștera digitală

În mii de ani oamenii au dezvoltat simboluri cu care sa comunice, sa exprime idei și sa transfere cunoștințe de la o generație la alta.

Imaginile pictate pe pereții peșterilor au fost primele forme de comunicare. În timp s-au dezvoltat simboluri mai complexe precum hieroglifele egiptene. Scrierea cuneiforma a înlocuit desenele cu forme mult mai abstracte care sa permită o eficienta sporită. Alfabetul și dezvoltarea tiparului a acelerat exponențial transmiterea de cunoștințe.

În prezent, în era digitala, ne întoarcem la comunicarea prin imagini și simboluri. Acestea fiind este cel mai accesibil mod prin care oamenii se exprimă folosind interfețele actuale.

Folosind dispozitive mobile dotate cu camere foto puternice capturam din realitatea ce ne înconjoară o scenă pe care vrem sa o împărtășim cu ceilalți cât mai repede.

Aplicăm câteva filtre, etichete și mesaje cu care să atragem atenția și postarea ajunge la rapid la prietenii ce ne urmăresc feed-ul. Apoi sperăm algoritmul ne va ajuta să ajungem la cât mai multe persoane de la care sa primim o reacție sau o confirmare ca am fost văzuți.

Platformele multimedia ne ocupă cel mai mult din timpul pe care îl petrecem folosind dispozitivele mobile pentru ca sunt optimizate ca să ne capteze atenția. Pentru a funcționa aceste platforme au nevoie de baze mari de utilizatori care consumă și creează informație în cel mai simplu mod cu putință.

În toată aceasta economie a timpului și atenției câștiga cei care cunosc simbolurile, codurile și limbajul tehnologiei. Dacă vrei sa ieși din peștera digitală trebuie sa înțelegi cum este construită.

Dezvoltarea unui stil în programare

Un artist nu își dedică carieră pentru sine, ci pentru stilul pe care dorește sa îl lase în urma muncii sale.

Ca să perfecționezi un stil ai nevoie de perseverență și disciplină. Ca să transferi un stil ai nevoie de răbdare.

Artistul care reușește sa transfere stilul său către discipoli devine maestru. Un maestru insuflă celor cu care lucrează creativitatea pentru ca le transfera stilul și uneltele sale pentru a-și realiza propriile creați.

Dacă artistul rămâne atașat de ego-ul său atunci tot ce face este sa transmită reguli și sa emită sancțiuni când cel pe care îl ghidează se îndepărtează de la stil.

În programare sunt patru stiluri principale:

  1. Funcțional
  2. Imperativ
  3. Orientat obiect
  4. Procedural

Din aceste stiluri sunt derivate stiluri proprii pe care un grup, o echipa sau o companie le dezvoltă. Pentru a captura elementele esențiale sunt realizate ghiduri de stil.

Alan Kay, cel care a inventat Programarea Orientată Obiect spune că cel mai bun mod de a prezice viitorul este prin a-l inventa. Așa că următorul stil de programare se așteaptă a fi inventat de către cei ce nu reușesc să își exprime bogăția de idei cu instrumentele actuale.

https://www.youtube.com/watch?v=KVUGkuUj28o

Despre complexitate

In ultimii ani am fost companion și uneori călăuză pentru echipe ce se străduie sa rezolve problemele complexe de dezvoltare software.

Din această experiență am învățat despre orientare și observare într-un spațiu al minții în care ideile se nasc și ajung sa fie transpuse în linii de cod ce soluționează diverse probleme

Pentru mine e ceva fascinant. Un mecanism aproape magic pe care nu îl înțeleg pe deplin, dar care funcționează. Din furtuna care se întâmplă în mințile noastre, lucrurile se așează, capătă claritate și o structura ce e înțeleasă de calculatoarele pe care le programam