Să știi să programezi este echivalentul învățării unei limbi străine, este provocator și necesită un efort destul de consistent, dar odată ce ai înțeles cum merge treaba, vei învăța distrându-te.
Să știi să programezi este una dintre cele mai la căutare abilități în rândul angajatorilor, iar cel mai bun moment în care să te apuci să înveți programare a fost ieri :P.
În timpul research-ului meu pentru lista de cursuri online gratuite, am reușit să dau și peste o mulțime de site-uri și resurse gratuite care te pot ajuta să înveți diferite limbaje de programare.
Lista este împărțită după limbajele de programare, astfel încât să îți fie ușor să găsești ce ai nevoie.
Dacă nu știi ce vrei să înveți, poate ar fi util să vezi ce tehnologii sunt în spatele celor mai populare aplicații și website-uri din lume, poate acest lucru o să te inspire.
70+ Resurse Gratuite Unde Poti Invata Gratuit Programare
Listă de website-uri și de cărți preluată de pe Labnol.org
Îți este mai ușor să înveți din cărți?
Ai aici linkuri directe către secțiunile de cărți de programare și IT ale celor mai importante librării online din România:
Ce limbaj de programare ar trebui să învăț?
Una dintre cele mai presante întrebări pe care un programator începător și-o adresează este “Ce limbaj de programare ar trebui să învăț?”
Dat fiind faptul că tehnologia avansează foarte repede, iar standardele din sectorul IT se schimbă destul de des, cel mai bine ar fi să vorbești cu un profesionist pe care tu îl admiri.
După multiple discuții cu diverși programatori activi și cu persoane care fac parte din sectorul tehnologiei, eu mi-am stabilit următorul plan de atac*:
- HTML5
- CSS3
- JavaScript
- jQuery
- PHP, Python sau Ruby
- apoi să înveți un framework de web development: Symfony, CodeIgniter sau Laravel(PHP), Ruby on Rails (Ruby), Django (Python). Important e să înveți un framework care e frecvent utilizat în comunitatea de programatori din care o să faci parte.
*repet, dacă tot nu ești convins ce ar trebui să înveți, cel mai util ar fi să vorbești cu un programator care lucrează deja de vreo 3-5 ani în sectorul IT și să te ajute să concepi un plan de studiu ținând cont de care sunt standardele din industrie.
Dacă te uiți la setul meu de recomandări, observi o predilecție către programarea web.
Dat fiind faptul că online-ul este integrat în aproape tot ceea ce facem, o bună parte dintre programele și soluțiile actuale vor fi portate pe web.
Eu unul sunt interesat de programarea web, așadar îmi este mai ușor să recomand ceea ce știu :P.
Dacă vrei să faci aplicații mobile, cel mai bine ar fi să înveți Java pt aplicații Android și Objective-C (mai nou Swift) dacă vrei să dezvolți pentru iOS.
Sfatul meu este să începi să înveți 2-3 limbaje de bază, iar apoi să te duci într-o direcție în care ți-ai dori să lucrezi cel puțin câțiva ani.
5 motive să înveți programare
1. Asigură-ți viitorul. Intră pe site-urile de recrutare. Ce observi? Extrem de multă competiție în zona joburilor dedicate celor care au terminate facultăți “mai ușoare” de genul: sociologie, științe economice etc. Uită-te la joburile care necesită un background tehnic, foarte puțină competiție. Nu zic că e ușor, dar dacă începi cât mai repede și te ții de treabă, cu siguranță cineva îți va da o șansă la un moment dat. 🙂
2. Pune-ți în practică propriile idei. Ai idei de o aplicație? De un website? De un serviciu care oferă o valoare clară? Dacă nu găsești pe cineva care știe deja programare, e cazul să te apuci de treabă:).
3. Lucrează de oriunde, oricând. Programarea este abilitatea care îți oferă o flexibilitate enormă.
4. Dacă ești bun, nu contează diplomele. Programarea este un sector pe care eu îl admir foarte mult pentru că se pune accentul în principal pe abilitate. Desigur, există companii care solicită ca CV-ul să cuprindă niște studii specifice, dar dacă înveți pe cont propriu și devii foarte bun, istoricul tău educațional va conta foarte puțin. De câte ori nu ai auzit întrebarea: “Ştii vreun programator bun?”. 🙂
5. Nu trebuie să fii as la matematică, dar trebuie să te îndrăgostești de logică. Ca să faci programare, nu trebuie să fii as la matematică. Asta este o preconcepție creată de faptul că în liceu cei care făceau programare erau foarte probabil elevi la mate-info. Programarea este în primul rând o abilitate logică și apoi matematică. Este adevărat, uneori ai nevoie de cunoștințe temeinice de matematică și de statistică, dar nu te speria de acest lucru, sectorul IT este atât de vast încât cu o logică peste medie (pe care o dobândești în timp), poți deveni un programator extrem de abil.
***
Sper că te-am convins cât de cât să pui mâna și să explorezi un pic domeniul acesta al programării.
Eu îți doresc mult succes!
Ajută-mă să fac această listă mai bună: dacă ești un programator experimentat și cunoști câteva resurse bune, te rog ajută-mă să fac această listă mai cuprinzătoare și să cuprindem chiar și alte limbaje de programare și tehnologii, pe lângă cele pe care eu le-am menționat.
Valentina Moraru says
Mult succes 🙂 E un domeniu in care n-ai cum sa te plictisesti si ai sanse mari sa iti gasesti un job. Deci curaj oameni buni! 😀
Gabriel Nechita says
ştiu, sunt web developer acum :P.
Valentina Moraru says
Daca tot invat pentru examen si nu e C++ in lista ma gandeam sa impartasesc "ajutoarele" mele. Pentru invatat eu cred ca e bun http://www.learncpp.com/ Are explicatii bune si exemple pentru tot ce se prezinta si pentru functii STL si alte curiozitati http://www.cplusplus.com/ e cel mai bun prieten al meu 🙂
Ionut Bajescu says
Cel mai bun sfat pe care l-am putut da vreodata cuiva care doreste sa invete programare a fost sa inceapa cat mai rapid un proiect.
Ionut Bajescu says
Apropo, vezi ca o sa te injure cativa: Ai trecut CSS, jQuery si HTML la limbaje de programare.
Iar PHP(la fel si python), folosit in primul an, e maxim un limbaj de scripting.
De asemenea, CakePHP mi s-a parut intotdeauna mort pe partea de comunitate.
Florin-Marian Birleanu says
Foarte fain articolul!
Pe langa link-urile pe care le-ai prezentat, exista si locuri unde poti invata programare in limba romana. De exemplu, pentru o introducere total de la zero in subiect:
http://igotopia.ro/vreau-sa-invat-programare-cum-sa-fac-4-pasi/ (<– multi mi-au zis ca i-a ajutat, caci am explicat "babeste" 🙂 )
Ma bucur cand vad si alti oameni care promoveaza invatarea programarii. Pe langa faptul ca e o abilitate foarte cautata pe piata locurilor de munca, este in acelasi timp o abilitate care te poate face sa iti schimbi modul in care iti vezi viata, ti-o intelegi si ti-o organizezi. Ca sa nu mai vorbesc ca de la un punct incolo devine o joaca foarte placuta si amuzanta (si chiar poate da dependenta 🙂 ).
Gabriel Nechita says
Salut FLorin, de acord, programarea este un skill foarte util nu neapărat datorită contextului pieţii de joburi, dar ca abilitate în general, ca formă de autoeducare, pentru că te învaţă să rezolvi probleme şi de asemenea te face mai familiar cu abordări abstracte ale unor diverse situaţii.
Gabriel Nechita says
Da, e un sfat simplu, dar multă lume îl ignoră, pentru că tendinţa iniţială e să te bagi full-speed în teorie şi abia apoi după ce cunoaşte toată teoria, să începe să practice.
Atunci când vrei sa înveti mai repede (mai ales programare), e cel mai util să încerci să integrezi tot ceea ce înveţi într-un proiect, pentru că aşa vei fi mai motivat să continui şi îţi vei testa mai uşor cunoştinţele, vei ştii clar dacă ai înţeles sau ceea ce ai studiat.
Noul 1CpS e practic felul cum aplic ceea ce învăţ, fiind un cms dezvoltat pe CodeIgniter. Nu l-am făcut eu pe tot, dar developerul cu care colaborez îmi explică tot ceea ce face şi mă mai prind şi eu de unele chestii singur sau încerc singur şi apoi îl întreb pe el dacă nu reuşesc să o rezolv.
Gabriel Nechita says
Da, CakePHP e cam slab pe partea de comunitate. Ăla a fost primul framework pe care l-am studiat şi l-am menţionat ca exemplu din acest motiv. Am schimbat acum în CodeIgniter, care cred că are cea mai bună curbă de învăţare, mai ales pentru începători şi e simplu de instalat.
Gabriel Nechita says
Valentina Moraru mulţumim frumos pentru linkuri.
Ionut Bajescu says
Si codeigniter e putin retras acum. Ne tot certam cu ei sa ridice versiunea minima suportata, dar la fel ca WordPress, nu vor sa ne asculte.
Am inteles ca codeigniter e cel mai usor de invatat, dar iti recomand sa arunci si un ochi peste Symfony sau Laravel, chiar de sunt putin mai complicate – merita.