Majoritatea oamenilor fie nu încep, fie renunță să învețe codificare din două motive:

  • Învățarea primului limbaj de programare poate fi o sarcină foarte dificilă
  • Este important să ai un profesor bun (sau cel puțin instrucțiuni bune), dar pot fi greu de găsit

În acest articol voi:

  • Vorbiți despre abordarea acestor probleme în termeni practici
  • Încercați să vă dezlegați de unele dintre gândurile pe care le puteți avea despre capacitatea dvs. de a învăța să scrieți cod
  • Dați-vă câteva semne rutiere la care să aveți grijă dacă decideți să rămâneți pe acest drum

Primul limbaj de programare

Unii oameni sunt în mod natural buni la memorarea comenzilor și sintaxa unui limbaj de programare, iar alții nu. Cu toate acestea, acesta este doar un aspect din ceea ce este nevoie pentru a fi un programator bun. Trebuie să luăm în considerare și alte calități pe care le-am observat pe parcursul a aproape un deceniu în acest domeniu:

  • O bună imaginație pentru a vizualiza arhitecturi software, a crea interfețe frumoase cu utilizatorul sau a inventa soluții noi și mai bune la problemele vechi
  • O capacitate de a raționa despre sistemele logice, care constau din definiții formale, date abstracte și mecanisme de control pentru a dicta fluxul unui program în timp
  • Fiind capabil să organizeze proiecte, fluxuri de lucru, resurse și ființe umane pentru o eficacitate optimă
  • Efortul de a învăța continuu și răbdarea de a nu renunța niciodată, chiar dacă trebuie să petreci două săptămâni nenorocite reparând o eroare care a fost cauzată de utilizarea unui semn egal în loc de două. Povestea adevărată.

Dacă ești capabil să găsești acest articol, atunci sunt sigur că, cu mult efort și răbdare, poți deveni un bun programator. Mai mult, cel care poate memora comenzi și sintaxa cu puțin efort, nu este neapărat cel care înțelege cum să scrie programe care rezolvă probleme și câștigă bani.

Scrie cod

Recomand tuturor să petrece cât mai mult timp posibil scriind codul și foarte puțin timp îngrijorându-se dacă aveți sau nu o definiție perfect formulată a polimorfismului. Astfel de definiții sunt mase mari de cuvinte care descriu lucruri care sunt adesea șocant de simplu de înțeles în codul însuși.

În loc să fii prea preocupat de memoria discursivă, gândește-te la un program pe care vrei să-l construiești. Alegeți ceva carevă interesează. Mi-a plăcut să mă antrenez, așa că mi-am construit un jurnal de antrenament ca primul meu program real. Dacă alegi ceva care te interesează, vei fi mai motivat să-l înveți.

De asemenea, dacă înveți subiecte relevante pentru construirea acelui program, le vei învăța mai bine decât dacă ai încerca să le studiezi unul câte unul, așa cum încurajează de obicei la școală. De asemenea, veți construi ceva care v-ar putea ajuta să obțineți un loc de muncă dacă ar fi să postați codul sursă pe o platformă precum GitHub sau BitBucket.

Dacă aceasta nu a fost suficientă încurajare pentru a urma o abordare de învățare bazată pe proiecte, atunci mai am una pentru tine. Ai observat vreodată cum nu există un sfârșit pentru diferitele subiecte pe care le-ar putea studia în acest domeniu? Concentrându-vă atenția asupra subiectelor de învățare care rezolvă probleme practice din programele dvs., nu veți mai fi blocat în paralizie prin supraanaliza.

Continuați să scrieți cod. Nu cunosc niciun programator grozav care să nu fi scris o mulțime de cod.

Nu toate resursele de învățare sunt create egale

Uneori suntem cu adevărat demoralizați și ne simțim proști pentru că nu reușim să înțelegem un concept sau un termen din jargon. Uneori simțim că înțelegem cu adevărat ceva doar la nivelul memorării unui concept, dar nu și în utilizarea lui în practică.

Sincer, de cele mai multe ori profesorul este de vină. Da, așa este, eu sunt profesor de programare și tocmai am spus că dacă nu înțelegi ce te învăț, atunci de obicei este vina mea.

Nu este vina mea dacă:

  • Aveți acreditările academice sau experiența practică, ceea ce înseamnă că nu ar trebui să vă explic conceptele de bază
  • Ai fost distras de la verificarea rețelelor sociale la fiecare 17 secunde în timp ce țineam o prelegere

Este vina mea dacă:

  • Nu am reușit să vă ofer un motiv să doriți să învățați conceptul pe care îl predau, dincolo de a spune că va fi la test
  • Am presupus că vocabularul meu străin de termeni din jargon precum Fie Monad, ForkJoinPool,sauAsymptotic Runtime Complexityeste ceva pe care o ființă umană normală ar ști intuitiv.
  • Nu am folosit o varietate de simțuri, analogii familiare și exemple practice pentru a face interesant un subiect adesea uscat și plictisitor (și, prin urmare, mai ușor de învățat, deoarece sunt facultăți împletite)
  • Mi-am confundat incapacitatea de a explica un subiect ca fiind problema ta

Asta pune ștacheta destul de sus și ai al naibii de dreptate în privința asta. Un profesor incompetent poate cauza probleme extraordinare elevilor care pun încredere în acel profesor.

Deci, dacă ați început această călătorie sau o luați în considerare, dar aveți probleme în a găsi calea de urmat, continuați. Adresați-vă unui profesor bun și luați în considerare chiar să-i cereți un pic de ajutor. Înțelegeți că sentimentul pierdut, confuz și copleșit este o parte normală a a face ceva dificil. Cu toții trecem prin asta, chiar și genii reale (am întâlnit doi până acum și chiar și ei se luptă), așa că nu-ți mai face griji că te compari cu ceilalți și te mai departe, verișoare.

Social Media | A sustine

Acest articol a fost scris de Ryan Michael Kay. Sunt un programator/inginer autodidact care creează conținut educațional pentru o mare varietate de subiecte, pe o mare varietate de platforme. Cel mai bun mod de a mă sprijini este să mă urmărești pe diverse platforme și să te alăture comunității mele de dezvoltatori (avem sute de membri!):

Anunțuri:
https://www.facebook.com/wiseassblog
https://twitter.com/wiseAss301

Tutoriale și cursuri:

Tutoriale gratuite, întrebări și răspunsuri live, codare live:
https://www.youtube.com/channel/UCSwuCetC3YlO1Y7bqVW5GHg

Programare desktop Java cu JavaFX (intermediar) — https://skl.sh/31pzCa1

Introducere completă pentru începători în programarea Java (începător – intermediar) — https://skl.sh/3fZbjos

Aplicații Android cu Kotlin și Android Studio (începător) — https://skl.sh/2ZU6ZT9

Material Design Android Programare cu Kotlin (Intermediar) — https://skl.sh/2OrwrYZ

Conectați:

LinkedIn-https://www.linkedin.com/in/ryan-kay-808388114/