Vreau sa invat programare. Cum sa fac? (4 pasi)
Primesc tot mai des intrebarea: Cum sa fac sa invat programare? Atat de la tineri de scoala generala si de liceu, cat si de la tineri care deja lucreaza intr-un domeniu, dar isi doresc sa se reorienteze din punct de vedere profesional.
Unii ma intreaba: Cum pot sa invat sa fac aplicatii pentru telefon? Altii: Vreau sa invat sa-mi fac un site. Ce sa fac? Altii: Cum sa invat programare ca sa ma pot angaja intr-o firma de software? Iar altii: Cum pot invata sa programez un joc?
Toate aceste intrebari ma bucura. Ele arata ca exista interes pentru programare. Intr-o lume in care bebelusii se joaca pe tablete, o lume in care mama sta pe Facebook si bunica vorbeste pe Skype, o lume in care gasesti pe internet aproape orice ti-ai putea dori sau imagina; intr-o astfel de lume exista si oameni care isi doresc sa fie creatori, si nu doar consumatori.
Pentru ei scriu aceste randuri. Pentru tine, tanarul (indiferent de varsta) care stie ca are puterea de a-si construi viata de aici inainte folosindu-si creierul, uitand toate datile in care i s-a spus (sau si-a spus) ca nu poate, si imbinandu-si creativitatea cu logica si disciplina.
Ce vrei, de fapt?
Fie ca vrei sa faci un magazin online, un joc 3D sau o aplicatie de mobil, in esenta vrei acelasi lucru — sa programezi un “calculator”.
Sau poate ai auzit ca se foloseste foarte intens prin firme mari de soft Java sau C#. Si nu iti doresti sa inveti programare, ci vrei sa inveti Java. Sau poate nu iti doresti sa inveti programare, ci vrei doar sa-ti faci un site in care sa vinzi rosii din gradina.
Oricum ti-ai formula dorinta, in realitate ceea ce vrei de fapt este sa stii sa programezi. Nu sa cunosti un limnaj de programare anume, ci sa stii programare. Poti cunoaste C++ la perfectie, dar sa fii incapabil sa faci un program util in C++.
La fel cum poti cunoaste la perfectie cuvintele limbii germane, dar sa fii incpabil sa le legi intr-o fraza corecta. Limbajul de programare e doar instrumentul prin care iti poti comunica gandurile calculatorului. Simpla lui cunoastere si utilizare nu iti garanteaza rezultate…
Ce iti trebuie?
… Mai trebuie si ca gandurile tale sa fie structurate sub forma unui sir de comenzi clare, logice, lipsite de orice ambiguitate.
Daca ai avea un angajat care nu cunoaste absolut deloc niciun domeniu, n-are diploma de niciun fel si nici nu raspunde la salut, dar in schimb are abilitatea de a-ti urma orbeste ordinele daca ii descrii pana in cel mai mic detaliu ce are de facut, ai putea sa te folosesti de serviciile lui?
L-ai mai tine in firma, sau ai cauta sa-l inlocuiesti cat mai repede cu unul capabil sa-ti ghiceasca gandurile chiar si atunci cand nici tu nu ti le cunosti?
Gandeste-te putin la asta inainte de a citi mai departe. Ai avea ce sa faci cu un angajat bun la nimic, dar capabil sa faca orice, cu conditia sa ii descrii pana in cel mai mic detaliu orice miscare si actiune pe care o are de facut?
La fel ca angajatul asta e calculatorul. N-are mama, n-are tata. Ce-i spui, aia face.
Cu o singura conditie: sa i-o spui ca la prost :-). Fara umor, ironie, sarcasm. Fara cuvinte sau expresii necunoscute. Fara cred, parca, poate. Ci doar cu:
- “Fa treaba asta, apoi fa treaba cealalta“,
- cu “Daca s-a intamplat asta, atunci fa cutare lucru, altfel fa cutare lucru“
- si cu “Cat timp e valabil lucrul asta, repeta treaba asta“.
Odata ce ai deprins acest mod de a-ti formula “comenzile”, le vei putea exprima cu usurinta in orice “limba”. Fie ea Java, C++, C#, Javascript, PHP sau Visual Basic.
Cum incepi?
Pentru cineva care abia incepe sa invete programare, detaliile unui limbaj doar ingreuneaza drumul, fara sa aduca vreun beneficiu.
Pentru ca la inceput (repet ideea) nu conteaza sa stii sa scrii programe in C sau in PHP, ci conteaza sa stii sa gandesti programe.
Odata ce gandirea iti va fi clara, traducerea gandurilor tale intr-un limbaj de programare sau in altul va deveni o simpla sarcina de rutina.
Deci ideea e urmatoarea:
- Intai invata “literele” (adica instructiunile de baza pe care le cunoaste un calculator).
- Si invata cum poti lega “literele” in “cuvinte” valabile (adica cum poti grupa instructiunile de baza pentru a scrie programe corecte).
- Iar apoi invata cum poti lega “cuvintele” in “fraze” (adica cum poti lega intre ele diverse programe pentru a construi programe mai complexe).
- Si abia la urma, dupa ce vei stapani astfel “limba”, iti vei putea pune problema utilizarii unui anumit “stil literar” (gen C++, Java, sau PHP). Altfel te arunci intr-un bazin de cinci metri fara sa stii sa inoti.
Ce poti face acum?
Pasii 1, 2, si 3 de mai sus fac subiectul tutorialului online “Cum sa inveti programare in 8 zile“.
L-am scris folosind un limbaj cat de simplu am putut si m-am straduit sa-l fac mai placut si mai amuzant decat orice altceva am vazut pe internet. Dar in acelasi timp nici nu am lasat garda jos in ceea ce priveste rigurozitatea.
Caci scopul tutorialului “Cum sa inveti programare in 8 zile” e sa te invete programare. De la zero. Sa te ajute sa pui o baza solida pe care apoi sa poti sa construiesti o cladire oricat de inalta vei dori.
Totodata, imi doresc sa te distrezi in timp ce inveti sa programezi. Nu invata ca un student care vrea sa ia un examen, ci joaca-te ca un copil pe care il rasplateste insasi bucuria jocului.
Nu te teme sa experimentezi. Incearca, incearca din nou, pune-mi intrebari acolo unde nu intelegi si intra pana in panzele albe. La un moment dat nu vei mai simti aproape nicio diferenta intre a juca un joc si a gandi un program.
Click aici ca sa incepi sa scoti la iveala programatorul din tine! 🙂
Te astept cu orice fel de intrebari. De asemenea, primesc cu bucurie orice gand din partea ta.
Alatura-te celor peste 7800 de oameni din armata noastra de creiere cu muschi si vei primi testul care iti va spune daca ai sau nu minte de programator.
In plus, vei fi mereu la curent cu tot ce pun la cale.
Cu drag,