Tarii, cat mai multi IT-sti!
Se pare că acesta este noul slogan, cărbunele nemaifiind util iar minerii pe cale de dispariţie. Ambroise Bierce, unul din autorii mei preferaţi, dă un exemplu în definiţia cuvântului „logică” ( în Dicţionarul Diavolului) , pe care o să îl rezum aşa: dacă un om sapă o groapă pentru un stâlp în şaizeci de secunde, atunci şaizeci de oameni vor săpa o groapă pentru sţâlp într-o secundă. Deci, bineînţeles că dacă ponderea IT-ului în PIB este acum de 10 procente , nu avem decât să angajăm de douăzeci de ori mai mulţi oameni şi ponderea va deveni de 200 %.
Pare normal ca pe plan mondial unul din promotorii ideii învăţării programării în şcoală să fie Bill Gates. Ca un filantrop ce se găseşte, el ştie bine care este calea spre fericire şi succes în viaţă. Nu, nu programarea. Calea este să angajezi programatori ieftini care să muncească pentru tine, ceea ce bineînţeles este mai uşor de făcut atunci când toată lumea ştie să programeze.
Dar trecând peste aceste amănunte ( în definitiv nu văd nimic rău ca întreprinzătorii să vrea să facă profit, mai ales că aş figura şi eu la capitolul antreprenori minusculi) se pare că problema e generalizată. Întreprinderile mecanice nu găsesc nici ele destui mecanici, nici cele de construcţii destui constructori; probabil singurul domeniu care este saturat este cel al auditorilor – dar în lipsa meseriaşilor pe care să îi auditeze deocamdată culeg fructe prin alte ţări.
Bun, deci să producem programatori, dar cum?
Am mai scris în trecut pe această temă care mi se pare destul de delicată. Introducerea unor ore de programare în şcoala generală, sau chiar în liceu probabil nu ar face decât să adauge o nouă disciplină la programa oricum supraîncărcată; după aceea se pune problema şi mai delicată: cu cine să ţii aceste ore, devreme ce cam orice profesor care ştie un pic de programare îşi poate găsi cu uşurinţă un job plătit de minim patru ori mai bine în industria IT? Poate profesorii de matematică? Nu ştiu cum mai e acum prin şcoală, „pe vremea mea” aşa-zisele ore de MATC se transformau în ore de matematică în cele mai mute cazuri; e drept că acum presiunea admiterii e mai slabă deci probabil cererea informală de matematică e mai mică.
Dar să presupunem că rezolvăm şi problema asta; printr-o colaborare cu viitorii angajatori, prin ceva fonduri pe programele de resurse umane etc.
Următoarea problemă este „ce să predăm”? Tot ca să revin la „vremea mea”; pe atunci în general se predau algoritmi. Lucrul asta e lăudabil, şi aş putea spune că cel puţin mie mi-a dezvoltat o latură a gândirii abstracte care probabil altfel ar fi rămas într-un stadiu latent. Dar construiesc oare programatorii de azi algoritmi? Este acest lucru util industriei? Majoritatea proiectelor, exceptându-le bineînţeles pe cele de cercetare, nu fac decât să implementeze nişte algoritmi mai degrabă simpli; atunci când e vorba de unii mai complecşi, ei sunt deja elaboraţi la momentul formulării cerinţelor proiectului, trebuie doar implementaţi.
Bun, atunci să învăţăm un limbaj de programare. Eu am învăţăt de exemplu în liceu Fortran; pentru că în facultate practic se pornea de la zero ( ceea ce e firesc, majoritatea colegilor nu învăţaseră programare în liceu) , mai mult din plictiseală m-am apucat să învăţ Pascal, care era la modă în Automatică. Evident, până am terminat şcoala, toată lumea programa în C. E adevărat, între timp creşterea industriei s-a mai domolit, probabil că un programator în C are cotă bună în continuare, dar piaţa deja caută alte lucruri, limbaje pentru web de exemplu. În concluzie probabil că orice limbaj ar fi util, cu condiţia să nu fie luat prea în serios, pentru că mai mult ca sigur nu va avea nici o legătură cu ceea ce se va cere în anii după absolvire.
Încă o observaţie. Cât îţi trebuie în general să înveţi un limbaj de programare? Aici e ca şi la pian, probabil că poţi să înveţi notele într-o săptămână, poate chiar şi „Ceata lui Piţigoi”. Ca să cânţi la Ateneu… probabil „un pic” mai mult. Desigur, depinde şi la al câtelea limbaj eşti, pentru că esenţial este să ai idee de câteva principii folosite în programare, cum ar fi ce e cu variabilele, cum se definesc diverse secvenţe precum deciziile sau ciclurile etc. Restul sunt amănunte.
Ori, structura anului şcolar este extrem de rigidă, cel puţin la noi. Nu există nici o disciplină care să se predea pe intervale mai scurte decât semestrul. Opţionalele sunt mai degrabă o glumă, cel puţin la şcoala copiilor mei nu există săli disponibile pentru a „opta” decât cu toată clasa. Şi în definitiv la ce bun să consumi timpul preţios al unor copii cu nişte noţiuni pe care le vor folosi poate maximum 10 % din ei, şi pe care le-ar putea învăţa în câteva săptămâni de lucru intensiv?