Programator 101: Învață-te pe tine însuți cum să codezi

Întotdeauna ai vrut să înveți cum să construiești singur software – sau doar să creezi un script ocazional – dar nu ai știut niciodată de unde să începi. Din fericire, web-ul este plin de resurse gratuite care vă pot transforma într-un programator în cel mai scurt timp.

Recent Video

Acest browser nu acceptă elementul video.

De la inventarea internetului, programatorii l-au folosit pentru a discuta tehnici de dezvoltare software, pentru a publica tutoriale și pentru a împărtăși mostre de cod pentru ca alții să învețe și să le folosească online. Dacă sunteți curioși să aflați cum să deveniți programator, puteți porni la drum folosind tone de tutoriale și resurse web gratuite excelente.

În primul rând, primele lucruri: Don’t Get Hung Up on Choosing a Language

G/O Media poate primi un comision

Publicitate

O capcană comună pentru începători este să se blocheze în a se gândi ce limbaj de programare este cel mai bine să învețe mai întâi. Există o mulțime de opinii, dar nu există un singur limbaj „cel mai bun”. Iată cum stă treaba: în cele din urmă, limbajul nu contează ATÂT de mult. Înțelegerea structurilor de date și de control și a modelelor de proiectare contează foarte mult. Fiecare limbaj – chiar și un simplu limbaj de scripting – va avea elemente pe care le veți folosi și în alte limbaje și care vă vor ajuta să învățați. În cadrul cursurilor pe care le-am urmat pentru a-mi obține diploma în informatică, am programat în Pascal, Assembly și C – limbaje în care nu am fost niciodată plătit să programez în mod profesionist. Am învățat singur fiecare limbaj pe care l-am folosit în cariera mea, reutilizând concepte pe care le știam deja și consultând documentația și cărțile pentru a învăța sintaxa acestuia. Așadar, nu vă faceți griji cu privire la ce limbaj să învățați mai întâi. Alegeți tipul de dezvoltare pe care doriți să o faceți și începeți pur și simplu să folosiți unul care funcționează.

Există mai multe tipuri diferite de dezvoltare de software pe care le puteți face pentru diverse platforme, de la web la desktop, la smartphone și până la o linie de comandă. În acest articol, vom prezenta câteva dintre tutorialele de inițiere și resursele noastre preferate pentru a vă învăța cum să programați pentru fiecare platformă majoră. Vom porni de la premisa că sunteți un utilizator experimentat, dar un începător când vine vorba de manevrarea fragmentelor de cod, așa că vom păstra lucrurile la nivel de începător. Chiar și doar urmărind un tutorial de programare pentru începători, veți fi fericit să vedeți cât de departe puteți ajunge.

Publicitate

Scripting pentru desktop

Cel mai simplu mod de a vă încerca să programați pentru desktop-ul Windows sau Mac este să începeți cu un program de scripting sau macro, cum ar fi AutoHotkey (pentru Windows) sau Automator (pentru Mac). În acest moment, programatorii hardcore din rândul cititorilor Lifehacker țipă la monitoarele lor, spunând că AHK sau AppleScript nu sunt programare „adevărată”. S-ar putea să fie adevărat – din punct de vedere tehnic, aceste tipuri de instrumente fac doar scripting de nivel înalt. Dar pentru cei începători în programare care vor doar să se ude la picioare, automatizând acțiuni pe desktop, aceste instrumente gratuite sunt o modalitate fantastică de a începe – și veți fi surprins de câte puteți face cu ele.

Publicitate

De exemplu, Adam a dezvoltat aplicația de sine stătătoare pentru Windows pe care o cunoaștem și o iubim cu toții, Texter, folosind AutoHotkey, deci acest limbaj de scripting este capabil de mult mai mult decât proiecte de automatizare la scară mică. Pentru a începe cu AutoHotkey, consultați tutorialul lui Adam despre cum să transformați orice acțiune într-o comandă rapidă de la tastatură folosind AutoHotkey. (Apoi, consultați codul sursă pentru Texter pentru a vedea măruntaiele unei aplicații Windows bazate pe AHK cu drepturi depline.)

Publicitate

Dezvoltare web

În loc să fiți legați de anumite limbaje de programare și de aspectul unui anumit sistem de operare, puteți să vă puneți aplicația ucigașă în browser și să o rulați în cloud, ca o aplicație web. Bine ați venit în minunata lume a dezvoltării web.

Publicitate

HTML și CSS: Primul lucru pe care trebuie să-l știți pentru a construi orice site web este HTML (marcajul paginii care alcătuiește paginile web) și CSS (informațiile de stil care fac ca acel marcaj să arate frumos). HTML și CSS nu sunt adevărate limbaje de programare – ele reprezintă doar structura paginii și informații de stil. Cu toate acestea, ar trebui să fiți capabil să creați manual HTML și CSS simple înainte de a începe să construiți aplicații web, deoarece o pagină web este partea frontală a fiecărei aplicații web. Acest tutorial HTML este un bun punct de plecare.

JavaScript: Acum că puteți alcătui o pagină web statică cu HTML și CSS, lucrurile devin amuzante – pentru că este timpul să învățați JavaScript. JavaScript este limbajul de programare al browserului web, magia care face ca efectele dinamice în pagină să meargă. JavaScript este, de asemenea, materialul pentru bookmarklets, scripturi de utilizator Greasemonkey și Ajax, deci este cheia pentru a face tot felul de bunătăți web. Începeți să învățați JavaScript aici.

Publicitate

Server-side scripting: Odată ce vă pricepeți să faceți ca lucrurile să se întâmple în interiorul unei pagini web, veți avea nevoie să puneți în spate o acțiune dinamică a serverului – și pentru aceasta, va trebui să treceți la un limbaj de scripting pe server, cum ar fi PHP, Python, Perl sau Ruby. De exemplu, pentru a realiza un formular de contact bazat pe web care trimite un e-mail undeva în funcție de ceea ce a introdus un utilizator, este necesar un script pe server. Limbajele de scripting, cum ar fi PHP, pot vorbi și cu o bază de date de pe serverul dvs. web, așa că, dacă doriți să realizați un site în care utilizatorii se pot autentifica și stoca informații, aceasta este calea de urmat. Excelentul site de dezvoltare web Webmonkey este plin de tutoriale pentru diverse limbaje de programare web. Consultați Tutorialul lor PHP pentru începători. Când sunteți gata, verificați cum să folosiți PHP pentru a vorbi cu o bază de date în tutorialul WebMonkey’s PHP and MySQL. Documentația online și referința funcțiilor PHP sunt cele mai bune de pe web. Fiecare intrare (cum ar fi aceasta despre funcția strlen) include comentarii ale utilizatorilor în partea de jos, care sunt adesea la fel de utile ca și documentația în sine. (Se întâmplă ca eu să am o slăbiciune pentru PHP, dar există o mulțime de alte limbaje de scripting pe partea serverului pe care ați putea decide să le folosiți în schimb.)

Publicitate

Cadrele web: De-a lungul anilor, dezvoltatorii web au fost nevoiți să rezolve și să rezolve aceleași probleme și să rescrie coduri similare pentru a construi site-uri web dinamice. Pentru a evita ca toată lumea să fie nevoită să reinventeze roata pentru fiecare nou proiect de dezvoltare web, unii programatori au creat cadre de dezvoltare care fac o parte din munca repetitivă în locul dumneavoastră. Popularul cadru Ruby on Rails, de exemplu, preia limbajul de programare Ruby și oferă o structură specifică web pentru realizarea sarcinilor comune ale aplicațiilor web. De fapt, Adam a folosit Rails pentru a construi prima sa aplicație web serioasă (și impresionantă!), MixTape.me. Iată părerea lui despre cum să construiești un site web de la zero fără experiență. Alte framework-uri populare de dezvoltare web includ CakePHP (pentru programatorii PHP), Django (pentru programatorii Python) și jQuery (pentru JavaScript).

Publicitate

Apif-uri web: O API (interfață de programare a aplicațiilor) este o modalitate programatică prin care diferite bucăți de software pot comunica între ele. De exemplu, dacă doriți să puneți o hartă dinamică pe site-ul dvs. web, doriți să folosiți o hartă Google în loc să vă construiți propria hartă personalizată. API-ul Google Maps facilitează includerea programatică a unei hărți într-o pagină cu ajutorul JavaScript. Aproape fiecare serviciu web modern pe care îl cunoașteți și îl iubiți are un API care vă permite să includeți date și widget-uri de la acesta în aplicația dumneavoastră, cum ar fi Twitter, Facebook, Google Docs, Google Maps și lista poate continua. Integrarea altor aplicații web în aplicația dvs. web prin intermediul API-urilor reprezintă ultima frontieră a dezvoltării web bogate. Fiecare API de serviciu web bun și important oferă o documentație amănunțită și un fel de ghid de pornire rapidă pentru a-l încerca (aici este cel al lui Twitter, de exemplu). Înnebuniți.

Publicitate

Scripting în linie de comandă

Dacă doriți să scrieți un program care preia date de intrare textuale sau din fișiere și scoate ceva util, linia de comandă este locul potrivit pentru a face acest lucru. Deși linia de comandă nu este la fel de sexy sau de arătoasă ca o aplicație web sau desktop, pentru dezvoltarea rapidă de scripturi rapide care automatizează procese, nu o puteți învinge.

Publicitate

Câteva limbaje de scripting care funcționează pe un server web bazat pe Linux funcționează, de asemenea, în linia de comandă, cum ar fi Perl, Python și PHP – astfel încât învățarea unuia dintre aceste răutăți vă face să fiți familiarizat în două contexte. Calea mea nu m-a dus niciodată prea departe pe drumul Perl, dar am învățat singur Python folosind cartea online excelentă și gratuită, Dive into Python.

Publicitate

Dacă a deveni un ninja Unix este unul dintre obiectivele tale de programator, trebuie neapărat să te pricepi la scriptingul shell cu bash. Bash este limbajul de scripting în linie de comandă al unui mediu *nix și poate face orice, de la a vă ajuta să configurați copii de rezervă automate ale bazei de date și ale fișierelor dvs. până la construirea unei aplicații cu drepturi depline cu interacțiune cu utilizatorul. Fără nicio experiență în scrierea de scripturi bash mai mult de o duzină de linii, am ajuns să dezvolt un manager personal complet de liste de sarcini în bash, Todo.txt CLI.

Add-ons

În zilele noastre, aplicațiile web și browserele moderne sunt extensibile cu bucăți de software care se înșurubează pe ele și adaugă caracteristici. Dezvoltarea de add-on-uri este din ce în ce mai populară, deoarece tot mai mulți dezvoltatori se uită la software-ul existent, cum ar fi Firefox sau WordPress, și se gândesc: „Dar dacă ar putea face ASTA…”

Publicitate

Puteți face o mulțime de lucruri în orice browser web cu doar o bună stăpânire a HTML, JavaScript și CSS. Bookmarklets, scripturile de utilizator Greasemonkey și stilurile de utilizator Stylish sunt create cu aceleași bucăți de cod care fac paginile web obișnuite, așa că merită să le învățați chiar dacă doriți doar să modificați un site existent cu un mic fragment de cod.

Cele mai avansate suplimente de browser, cum ar fi extensiile Firefox, vă permit să faceți mai mult. Dezvoltarea extensiilor Firefox, de exemplu, necesită să cunoști JavaScript și XML (marcaj similar cu HTML, dar mult mai strict în format). În 2007 am parcurs cum să construiesc o extensie Firefox, o abilitate pe care am dobândit-o după ce am dat peste un tutorial gratuit.

Publicitate

Multe aplicații web gratuite și bine-cunoscute oferă, de asemenea, un cadru pentru extensii, cum ar fi WordPress și MediaWiki. Ambele aplicații sunt scrise în PHP, astfel încât confortul cu PHP este o condiție prealabilă pentru a începe. Iată cum să scrieți un plug-in pentru WordPress. Dezvoltatorii care doresc să se plimbe pe vârful de lance al Google Wave pot începe să scrie gadgeturi și roboți în HTML, JavaScript, Java și Python. Am scris primul meu bot Wave urmând acest tutorial de inițiere rapidă într-o după-amiază.

Publicitate

Web Development for the Desktop

Cea mai bună parte când începi să programezi într-un anumit context este atunci când poți să iei aceste abilități și să le aplici în altă parte. A învăța mai întâi dezvoltarea web este o modalitate excelentă de a începe, deoarece acum există modalități de a pune în aplicare aceste abilități și în aplicațiile desktop. De exemplu, Adobe AIR este un mediu de execuție cross-platform care vă permite să vă creați aplicația o singură dată și să o lansați pentru a fi executată pe desktop pentru fiecare sistem de operare pe care rulează AIR. Aplicațiile AIR sunt scrise în HTML, Flash sau Flex, astfel încât vă permite să vă aplicați abilitățile de dezvoltare web într-un context desktop. AIR este o opțiune excelentă pentru implementarea aplicațiilor pentru desktop, cum ar fi una dintre cele 10 aplicații din topul nostru pentru care merită să instalați Adobe AIR.

Publicitate

Dezvoltarea aplicațiilor mobile

Aplicațiile mobile, cum ar fi cele pe care le executați pe iPhone sau pe smartphone-ul Android, sunt la modă în acest moment, așa că este posibil să visați să vă îmbogățiți în iTunes App Store cu următoarea aplicație de succes. Cu toate acestea, pentru noul programator, să se arunce cu capul înainte în dezvoltarea mobilă poate fi o curbă de învățare dură, deoarece necesită confort cu limbaje de programare avansate precum Java și Objective C. Cu toate acestea, merită să verificați cum arată dezvoltarea pentru iPhone și Android. Consultați acest exemplu simplu de dezvoltare a unei aplicații iPhone pentru a vă face o idee despre ceea ce fac dezvoltatorii iPhone. Aplicațiile Android sunt scrise în Java și iată un tutorial video prietenos despre cum arată construirea unui flux de lucru al aplicației „Hello Android”.

Publicitate

Răbdare, unsoare de coate, încercare și eroare

Bunii programatori sunt o rasă specială de rezolvatori de probleme perseverenți care sunt dependenți de micile victorii care vin de-a lungul unui drum lung de încercări și erori. Să înveți să programezi este foarte satisfăcător, dar poate fi, de asemenea, o experiență frustrantă și solitară. Dacă poți, ia-ți un prieten care să lucreze cu tine pe parcurs. Să devii cu adevărat bun la programare, ca orice altceva, este o chestiune de perseverență, de a încerca lucruri și de a căpăta experiență pe măsură ce avansezi.

Publicitate

Acest articol este doar o recomandare de top a unui programator autodidact pentru începători. Programatori cu experiență: Ce mi-a scăpat? Indiferent de nivelul dvs. de calificare, adăugați în comentarii gândurile și recomandările dvs. pentru începători.

Gina Trapani, editorul fondator al Lifehacker, crede că cei mai buni programatori sunt autodidacți. Rubrica ei săptămânală, Smarterware, apare în fiecare miercuri pe Lifehacker. Abonează-te la feed-ul tag-ului Smarterware pentru a primi noi episoade în cititorul tău de știri.

Publicitate

.

Lasă un comentariu