7 trucuri utile pentru mastering un nou limbaj de programare
Programarea este greu. Singurii care spun altfel sunt cei care au ani de experiență de codificare sub centurile lor. E bine să fii coplesit! E a mult pentru a învăța și probabil veți uita lucrurile cât de repede le veți învăța. Crede-mă, e normal.
Dar doar pentru că este normal nu înseamnă că nu este frustrant. Adevărul este spus, învățând cum să codificați Cum să învățați programarea fără stres Cum să învățați programarea fără toate stresul Poate ați decis să urmăriți programarea, fie pentru o carieră, fie ca un hobby. Grozav! Dar poate că începi să te simți copleșit. Nu prea grozav. Iată ajutorul pentru a vă ușura călătoria. Citește mai mult poate fi extrem de stresant dacă nu o abordați cu mentalitatea și atitudinea potrivită.
Vrei să înveți o limbă nouă sau o bibliotecă sau un cadru cât mai curând posibil, nu? E de înțeles. Din fericire, există o mulțime de sfaturi care vă pot ajuta să păstrați mai bine toate informațiile grele de programare care continuă să zboare într-o ureche și chiar pe cealaltă.
Nu mai multe sesiuni Cram
Nimeni nu dorește să audă, dar înghesuirea este cel mai rău mod de a învăța cum să programați. Dacă ești ca mine, ticăloșia era a ta mod de operare toate în întreaga școală și universitate. Numai cum știi cum să studiezi.
Dar învățați din greșelile mele: cu cât încerci mai mult să te târăști, cu atât vei mai puțin să-ți amintești. Asta e destul de adevărat pentru orice subiect bazat pe cunoștințe, dar este adevărat mai ales când vine vorba de programare.
Bazele acestei afirmații provin dintr-un studiu realizat în 2008 de către Universitatea din California, San Diego:
“Elevii se comportă mai bine atunci când își petrec ședințele de studiu, mai degrabă decât atunci când încearcă să înghită totul în noginii lor în timpul unei ședințe.”
De ce? Cel mai probabil din cauza efectului poziției seriale:
“Efectul poziționării seriale este tendința unei persoane de a reaminti primul și ultimul element într-o serie mai bună, iar cele mai rele elemente de mijloc.”
Cu alte cuvinte: în orice sesiune de studiu dată, este mai probabil să păstrați informațiile pe care le-ați învățat aproape de începutul și la sfârșitul sesiunii și este mai probabil să uitați informațiile de la mijlocul sesiunii.
Vreți să maximizați numărul de începuturi și sfârșituri. De aceea este mai bine să aveți mai multe sesiuni scurte în loc de câteva sesiuni lungi atunci când este vorba de învățarea și absorbția de materiale noi.
Data viitoare când stai jos pentru a afla cod, ia-i un subiect la un moment dat și ia o scurtă pauză între fiecare subiect. (Asigurați-vă că pentru a vă împiedica pauzele să se transforme în amânare!)
Revizuire, Revizuire, Revizuire
Un alt motiv, motivul pentru care îngrămădirea este antitetică pentru menținerea cunoștințelor pe termen lung este că memoria se estompează în timp. Acest lucru nu este întotdeauna adevărat - sunt sigur că toți avem câteva amintiri din copilărie care nu vor dispărea niciodată - dar se pare că este cazul general pentru amintiri care nu sunt legate de emoție.
Există unele dezbateri dacă memoria însăși se descompune datorită timpului (teoria decăderii) sau pur și simplu este împinsă și înlocuită de amintiri noi în timp (teoria interferențelor). Indiferent de teoria la care vă abonați, rezultatul este că amintirile mai vechi sunt mult mai probabil să se estompeze.
Aici revine revizuirea.
Gândiți-vă cum ar fi să mergeți printr-o pădure de amintiri. De fiecare dată când doriți să accesați o memorie, trebuie să urmăriți calea neurală pentru ao găsi. De fiecare dată când urmărești acea memorie, calea devine gravată într-un pic mai mult - la fel cum se formează o cale murdară în mod natural atunci când oamenii merg pe aceeași cale de peste și peste. Dacă opriți drumul, acesta poate dispărea, iar memoria se va pierde undeva în pădure.
Părăsind deoparte toată psihologia popului, iată cum se face: atunci când vine vorba de programare, nu este suficient să înveți un subiect doar o dată sau de două ori. Trebuie să-l revizuiți zeci sau chiar sute de ori. Fiecare revizuire alunecă acel subiect în creierul tău puțin mai profund.
Știu cât de greu poate fi acest lucru dacă ești un tâlhar natural, dar vei fi surprins de cât de repede începi să păstrezi materialul după ce ai făcut un efort să-l revii în mod regulat.
Utilizați mai multe resurse diferite
Cel mai dificil aspect al programării - cel puțin pentru codoarele noi - este lățimea totală a detaliilor și nuanțelor care trebuie internalizate. Până când se va întâmpla această internalizare, veți fi într-o stare perpetuă de zgâriere a capului.
În funcție de limbă, va trebui să memorați sute de reguli de sintaxă (de exemplu, cuvinte cheie, punct și virgulă, spații albe). Unele limbi sunt mai stricte, altele sunt mai puțin, iar altele au propriile abordări unice ale sintaxei, care nu sunt folosite oriunde altundeva. Toate acestea pot fi confuze dacă nu aveți experiență de codificare anterioară.
Să nu mai vorbim de toate informațiile conceptuale care depășesc limbile individuale. Subiecte cum ar fi programarea orientată pe obiecte, sistemele entitate-componente și modelele de observatori pot face într-adevăr capul să se rotească prima dată când încercați să le învățați.
Am mai împărtășit această ilustrație, dar este atât de evident că repetă:
“Să presupunem că cineva ți-a arătat o fotografie a unei statui. Ar putea oferi destulă imagine pentru ca tu să ai un simț adecvat al statuii, dar nu vei obține întreaga imagine. O fotografie delimitată ar pierde detalii complicate, în timp ce o fotografie mărită ar pierde un sentiment de perspectivă. Cu toate acestea, cu fotografii suplimentare luate din alte unghiuri, puteți începe cu adevărat să vedeți plinătatea statuii în textură, în mărime, în detaliu, de la față în spate, față-în-față și de sus în jos.”
Învățarea programelor poate fi surprinzător de arbitrară. Toată lumea ar putea să laude Resursa A ca fiind cel mai bun mod de a învăța limba X, dar poate că nu are sens pentru tine. Poate că toată lumea urăște Resursa B, dar luați o privire și are sens perfect! În ceea ce privește altcineva, poate că aceștia se află în afara studiului Resurselor A și B, dar beneficiază foarte mult de Resource C.
De aceea este atât de important să fii dispus să consumi tot felul de resurse acolo. Toată lumea învață într-un mod diferit. Dacă întâmpinați probleme cu un anumit subiect, căutați în altă resursă. Poate că va fi mai potrivit pentru tine. Poate nu.
Chiar dacă credeți că înțelegeți anumite subiecte, este posibil să aflați mai multe despre asta. De asemenea, este posibil ca explicația altcuiva să solidifice conceptul în mintea ta pentru totdeauna. Niciodată nu știți, deci de ce să nu consumați cât mai multe resurse?
Rețineți că jocurile pot fi o resursă extrem de utilă! Check out aceste jocuri distractive și educaționale de codificare Cele mai bune 10 jocuri de programare pentru a testa și a construi abilitățile de codificare Cele mai bune 10 jocuri de programare pentru a testa și a construi abilitățile de codificare Programarea jocurilor vă ajută să învățați mai repede cu hands-on practică și experiență --- plus ești foarte distractiv! Citeste mai mult .
Predați concepte pe măsură ce le învățați
Există un concept frumos în programare, numit depanare a rațelor de cauciuc Cele mai ciudate principii de programare pe care nu le-ați auzit niciodată de cele mai ciudate principii de programare pe care nu le-ați auzit de următoarele principii vă va învăța să fiți înțelepți cu codul dvs. Unele sunt ciudate, iar multe sunt pline de umor, dar toate sunt la fel de practice și importante. Ia aminte! Citește mai mult, care descrie tehnica de a explica codul, line-line, la o rață de cauciuc inanimată. Este folosit atunci când un anumit segment de cod este rupt, dar nu există nici un motiv evident pentru el.
Destul de ciudat, majoritatea programatorilor au “evrica!” moment în mijlocul explicării codului, deoarece ei văd brusc unde apare eroarea în logica de codare. Verbalizarea declanșează o zonă diferită a creierului, forțându-vă să vedeți problema dintr-un unghi nou.
Acest concept poate fi de asemenea folosit pentru a vă ajuta să învățați materiale noi. S-ar putea să fi întâmpinat acest citat popular care este adesea atribuit lui Albert Einstein:
“Dacă nu puteți explica pur și simplu, nu înțelegeți suficient de bine.”
Cu excepția câtorva domenii care se ocupă de cunoștințe teoretice avansate, această afirmație este adevărată. Cu cât înțelegeți mai mult un subiect, cu atât mai bine echipat trebuie să îl explicați astfel încât cineva care nu are cunoștință despre acest subiect poate să vină să o înțeleagă.
Opusul este adevărat. Pe măsură ce încercați să învățați un subiect, veți întâlni anumite concepte pe care nu le puteți explica într-o manieră clară. Nu numai că este un mod minunat de a diagnostica punctele slabe ale cunoștințelor dvs., procesul real de a găsi explicația adecvată poate ajuta la solidificarea conceptului în mintea ta.
Se numește învățare prin predare și este în esență un răsucire pe depanarea rață de cauciuc.
Acum, nu spun că ar trebui de fapt învață pe alții; mai degrabă, fiecare nou subiect de programare pe care îl învățați, încercați să îl predați unei rațe de cauciuc (sau unui prieten invizibil). Se poate simți la început, dar poate fi incredibil de fructuoasă atunci când vine vorba de păstrarea memoriei.
Practica deliberată devine perfectă
Noțiunea de talent este un gunoi complet. Nimeni nu iese din uter ca un violonist de clasă mondială, luptător sau programator. Sigur, unii oameni ar putea fi mai înclinați spre anumite discipline, dar talentul fără experiență este inutil Nu lăsați talentele tale ascunse să moară: 7 moduri de a merge și de a le găsi din nou Nu lăsați talentele tale ascunse să moară: 7 moduri de a merge și de a găsi Din nou Vestea proastă este că trebuie să muncești din greu cu intenția de a lustrui talentele tale ascunse. Vestea bună este că există mai multe oportunități ca oricând să-ți scuipă talentele. Citeste mai mult . În mod similar, munca grea este întotdeauna mai valoroasă decât talentul.
Acestea fiind spuse, nu toate formele de muncă grea sunt egale. Malcolm Gladwell a inventat infamul regulă de 10.000 de ore, care spune că trebuie să investești cel puțin 10.000 de ore într-un subiect pentru a deveni un maestru al acestuia. În timp ce sentimentul poate fi adevărat, mulți oameni interpretează greșit ceea ce încerca să spună.
Povestea scurtă, un angajament de 10.000 de ore nu garantează, de fapt, stăpânirea. Știți povestea: “Practica nu este perfectă. Practica perfectă este perfectă.” Pentru ca aceasta să fie semnificativă, practica trebuie să fie intenționată. Vrei să devii expert la ceva? Încercați practica deliberată doriți să deveniți un expert la ceva? Încercați practica deliberată Este prea ușor să vă simțiți creștină când încercați să îmbunătățiți o anumită abilitate. Utilizați puterea "practicii deliberate" pentru a vă deplasa peste acele platouri infuriate. Citeste mai mult . Maestrul poate fi atins numai prin 10.000 de ore de practică deliberată.
Modul în care practica mult mai mult decât cât de mult petreceți practicarea.
Citirea este pasivă. Vizionarea lecțiilor YouTube este pasivă. Ascultarea podcast-urilor este pasivă. Ca un codificator newbie s-ar putea să fiți tentat să flutter de la tutorial la tutorial, abordarea subiectul după subiect, fără a aplica de fapt, nici una din aceste cunoștințe într-un mod practic. Rezistați acestei ispite.
Este un lucru să înțelegeți un exemplu în fața dvs., dar este altceva să sintetizați o soluție de la zero. Dacă doriți să accelerați procesul de învățare, trebuie să fiți dispus să fiți activi în locul pasivului. Practica practică este singura care contează în final.
Experimentați cu proiecte personale
Pentru mine, temele erau cea mai rea parte a școlii. Părea doar ca un jaf elaborat pentru a ucide distracția și pentru a menține elevii ocupați - ceea ce, pentru a fi corect, a fost uneori adevărat. Dar acum, când mă uit înapoi, importanța temelor are în sfârșit un sens. Mi-a forțat să folosesc cunoștințele nou dobândite într-un mod activ.
Dacă sunteți înscris în cursuri de programare și cursuri 11 cele mai bune site-uri pentru Free Online Cursuri de programare de calculator 11 cele mai bune site-uri pentru Free Online Cursuri de programare de calculator În aceste zile, puteți deveni un master coder, fără a lua un grad tradițional de informatică. Unde sunt toate aceste resurse excelente de învățare, întrebați? Întrebare mare. Continuați să citiți și vă vom arăta. Citiți mai multe, nu subestimați eficacitatea temelor. Luați-o în serios, tratând-o întotdeauna ca o șansă de a continua ceea ce ați învățat în memoria pe termen lung.
Dar, de multe ori, temele încă nu sunt suficiente. (Și dacă învățați să programați pe cont propriu fără un instructor real, probabil că nu aveți niciun temei pentru a începe.)
Care este soluția? Creați câteva proiecte laterale!
Gândiți-vă la câteva idei de proiecte 5 Idei de proiect pentru a vă ajuta să învățați mai repede programarea 5 Idei de proiect pentru a vă ajuta să învățați programarea mai rapid Există câteva moduri de a ușura curba de învățare pentru programare. Ia mâinile murdare și învață mai repede cu proiectele laterale pe care le poți începe oricând. Redați-vă cu cei cinci. Citiți mai mult pe care doriți să le implementați. Pentru absolvenți absolut, puteți lua în considerare un joc de Tic-Tac-Toe sau Hangman. Pentru programatorii experimentați care încearcă să învețe un nou cadru, încercați să codificați o aplicație mobilă simplă sau un joc web. Atâta timp cât te interesează la nivel personal, du-te la el!
Frumusețea acestei abordări este de două ori.
În primul rând, este mult mai probabil să vă țineți atenția. Studiile au arătat că studenții învață mai bine atunci când pot urmări subiecte care le interesează. Acesta este exact ceea ce oferă un proiect personal. Aveți un scop final pe care doriți să-l atingeți, astfel încât veți avea mai multe șanse să păstrați informațiile care vă vor aduce acolo.
În al doilea rând, nu aveți nicio presiune pentru a reuși. În timp ce succesul ar fi frumos, lipsa de formalitate vă permite să fiți experimentați și creativi. În mod inevitabil, veți avea probleme, dar este mai mult să jucați cu Lego decât pentru teme. E mai distractiv și nu stresant.
Relaxați-vă și faceți totul
Adevărul este că nici un programator nu își amintește Tot au învățat. Chiar și după ce ați lucrat cu o anumită bibliotecă sau cadru pentru un timp, nu este neobișnuit dacă nu vă puteți aminti toate funcțiile sau variabilele din partea de sus a capului.
De fapt, încercarea de a memora totul ar putea deveni o pierdere imensă de timp și efort. Foile de referință există pentru un motiv. De ce să faceți o întreagă enciclopedie în memorie atunci când o puteți deschide oricând aveți nevoie de ea?
Deci, când să memorăm și când să ne referim?
Când vine vorba de materialul conceptual, întotdeauna să-l internalizați cât mai bine posibil. Prin asta înțeleg înțelegerea teoriei, chiar dacă nu o poți converti în cod real (și teoria ar trebui să fie suficient de clară pentru tine ca să-l înveți clar).
Pentru orice altceva - cum ar fi nume de funcții specifice, liste de parametri sau chiar quirks de limbă - Nu mi-ar face griji cu privire la comiterea memoriei. Simțiți-vă liber să amânați o foaie de referință. Uneori vei face referire la ceva atât de des încât vei termina memorarea. Dacă se întâmplă asta, bine. Dacă nu, este prea bine.
Personal, am sute de marcaje Internet la diverse API-uri, ghiduri și tutoriale. Dacă trebuie să pun în aplicare un fel de algoritm pathfinding, aș putea să mă refer la un ghid care să mă ajute să îl codific, înainte de a uita din nou de el. Ajută la înțelegerea conceptelor care stau la baza, dar încerc să nu mă îngrijorez de detaliile implementării.
Gândurile finale
O voi repeta de un milion de ori dacă trebuie: programarea este greu și e în regulă dacă te lupți cu ea. Am programat ca un hobby de peste un deceniu și încă mă găsesc intimidat când am concepte noi de învățat.
Nu vă bateți dacă nu vă puteți aminti totul imediat. Sfaturile de mai sus vă vor ajuta, sperăm, și chiar dacă nu, vă puteți baza întotdeauna pe referințele marcate ca o ultimă soluție.
Crezi că programarea este dificilă? Ce fel de trucuri și sfaturi știți că ar putea fi de ajutor pentru codificatorii newbie? Împărtășește-ți înțelepciunea cu noi în comentariile de mai jos!
Credite de imagine: Programator binar prin Shutterstock, Eraser de memorie prin Shutterstock, cod obfuscated prin Shutterstock, cauciuc Ducky prin Shutterstock, Keyboard Tipist via Shutterstock, PHP Source Code prin Shutterstock, dosar Folders prin Shutterstock
Explorați mai multe despre: Programare.