Błędy w nauce programowania

Dzisiejszy wpis będzie trochę luźniej powiązany z programowaniem. Każdy z nas jakoś zaczynał. Niektórzy uczyli się na studiach a inni sami w domu korzystając z ogólno dostępnych materiałów w sieci. Wszystkich nas natomiast łączy jedna rzecz. Błędy w nauce programowania i nie tylko programowania. 

Błędy, pomyłki czy inne problemy

Zacznę od tego, że ten post chciałbym napisać z perspektywy kogoś kto dopiero chce się nauczyć programowania. Niektóre z przytoczonych problemów mogą się też odnosić do nauki nowego frameworka czy innego narzędzia. Mogą ale nie muszą, to już jest kwestia bardzo indywidualna. Dlatego też skupimy się tutaj na błędach w nauce popełnianych przez początkujących.

„Od czego zacząć?”

W dzisiejszych czasach gdy czegoś nie wiemy to wpisujemy w wyszukiwarkę. Po sekundzie lub nawet mniej wujek podaje nam na tacy odpowiedź na nurtujące nas pytania. Pamiętam jeszcze czasy gdy nie znając odpowiedzi na pytanie kim był Mikołaj Kopernik sięgałem do encyklopedii, która leżała na półce i na okładce miała literę K. Po kilku minutach szukania w końcu trafiałem na skrócony życiorys tego pana. Dzisiaj nikt nie sięga do takich źródeł ponieważ wszystko jest w Internecie a mimo to i tak niektórym nie chce się wpisać odpowiedniego hasła w wyszukiwarce. Wolą oni rozpocząć kolejną dyskusję na nieśmiertelny temat „Który język lepszy na początek” i tym podobne. Zamiast poświęcać czas na poznanie podstaw jakiegokolwiek języka i sprawdzenie do czego można go wykorzystać w praktyce to wolą toczyć jałowe dyskusje z których tak na prawdę nic nie wynika. W rzeczywistości wiele osób, które zaczynają naukę od zadawania tego pytania właśnie na tym kończą swoją naukę ponieważ nie ma na to pytanie jednoznacznej odpowiedzi a to tylko powoduje zamęt w głowie i niechęć do podjęcia nauki. Jest to moim zdaniem problem doskonale wpisujący się w błędy w nauce. Napisałem nawet post dotyczący zadawania pytań i drugi o tym od jakiego języka warto zacząć. Zapraszam do lektury.

błędy w nauce - ide
Popularne IDE

„Jakie IDE jest najlepsze do JSa?”

„Dopiero zaczynam ale od razu chciałbym poznać profesjonalne narzędzia. Jakie IDE polecacie do JSa? Tak na prawdę nie napisałem jeszcze nigdy ani linii kodu ale przeczytałem gdzieś, że jak się uczyć to od razu dobrze no więc potrzebne mi jakieś IDE. Najlepiej darmowe, z podpowiadaniem składni, integracją z GIT (czytałem gdzieś, że się przydaje) i żeby można było łatwo dodać potrzebne wtyczki.” – takie pytania się czasem zdarzają. Chociaż może trochę przesadzam z rozbudowaniem ale nie tak dawno zdarzyło mi się odpowiadać na podobne pytanie. Otóż moim zdaniem, jako początkujący, który chce się dopiero zacząć uczyć języka (dajmy na to JSa) nie potrzebujesz IDE. Uważam wręcz, że mogłoby ono tylko przeszkadzać w nauce. Na początku chcemy przecież poznać i zapamiętać podstawowe słowa kluczowe, pętle czy instrukcje warunkowe. Gdy cały czas coś będzie nam podpowiadało to ciężej będzie aby weszło nam to w nawyk. Druga rzecz to to o czym wspomniałem wcześniej. Zadawanie takich pytań do niczego nie prowadzi poza stratą cennego czasu. Jeżeli na prawdę chciałbyś dowiedzieć się jakie są dobre IDE do JSa to po wpisaniu tej frazy do wujka Google Twoim oczom ukazało by się mnóstwo postów z przeróżnych blogów porównujących różne edytory i po chwili wszystko będzie dla Ciebie jasne.

Chęć tworzenia czegoś WIELKIEGO

Rozpoczynając naukę programowania należy pisać malutkie programy. Kalkulator, który będzie tylko dodawał i odejmował. Prosty stoper, który będzie odliczał 10 sekund. Najprostszą z możliwych ToDo listę (chociaż nie jestem jej zwolennikiem). Należy jednak unikać molochów na pierwsze programy. Często jest tak, że adepci programowania chcą od razu stworzyć system operacyjny albo grę pokroju Wiedźmina. Nie tędy droga. Zbyt duży projekt prowadzi do różnych problemów z którymi nawet doświadczeni developerzy mają problemy. Brak umiejętności do rozwiązania takiego problemu prowadzi do frustracji, złości i w efekcie do porzucenia nauki przy pierwszych trudnościach. Dlatego apeluję jeszcze raz. Zaczynajcie od prostych programów! Na ogromne projekty przyjdzie czas i wierzcie mi, będziecie mieli dosyć molochów.

Nieregularność

Jeżeli chce się posiadać piękną sylwetkę to trzeba ćwiczyć. Niestety nie wystarczy ćwiczyć raz na jakiś czas. Trzeba to robić cały czas, regularnie w niewielkich odstępach czasu (np. codziennie po godzinie). Tak samo jest z programowaniem. Nie da się nauczyć dobrze (lub jakkolwiek) programować jeżeli nie robi się tego regularnie bez większych odstępów czasu. Ustal sobie harmonogram nauki. Powiedzmy dwa razy w tygodniu przez godzinę lub dwie będziesz pracować nad swoim projektem. Jeżeli uda Ci się trzymać tego postanowienia po pewnym czasie zobaczysz, że to co wcześniej sprawiało Ci problemy teraz jest proste i oczywiste.

Perfekcjonizm

Chęć stworzenia idealnego programu jest szczególnie widoczna wśród ludzi uczących się. Czasem wydaje mi się że adepci nie zdają sobie sprawy z tego, że idealnych rozwiązań nie ma. Jest to kolejny powód dla którego tracą oni czas. Jeżeli też chciałeś napisać idealny program / kod to wiedz, że jest to niemożliwe. A wręcz przeciwnie. Na początku Twój kod będzie słaby. Czas na tworzenie dobrego (nie idealnego!) kodu przyjdzie gdy nabierzesz więcej doświadczenia. Dla Ciebie na początku ważne jest to żeby pisać a nie pisać dobry kod.

Błędy  w nauce popełnia każdy

Na koniec chcę jeszcze dodać, że tak na prawdę każdy z nas ucząc się popełnia jakieś błędy. Ja tutaj wskazałem te z którymi mam najczęściej do czynienia rozmawiając ze znajomymi lub osobami dopiero uczącymi się programować. Sam te błędy popełniałem i uważam, że nie ma w tym nic złego. Źle jest dopiero wtedy gdy nie wyciągamy z tych błędów żadnych wniosków. Dlatego też mam nadzieję, że jeżeli dopiero się uczysz to po przeczytaniu tego postu zastanowisz się nad tym jak na prawdę wygląda Twoja nauka. Jeżeli uważasz, że jest wszystko dobrze to gratuluję i cieszę się i życzę sukcesów w programowaniu i nie tylko. Jeżeli znajdziesz u siebie któryś z tych błędów to trzymam kciuki za to abyś zwalczył przeszkody i został dobrym programistą. 

Podsumowując

Mam nadzieję, że ten post będzie pomocny dla wszystkich, którzy uczą się programowania. Pamiętajcie, że ta nauka trwa całe życie a więc i bardziej doświadczeni też mogą popełniać niektóre z tych błędów. Polecam się przyjrzeć bliżej temu jak to wygląda u nas.

Vue w przyszłym tygodniu!

Na koniec jeszcze chciałbym przeprosić wszystkich, którzy czekali na kolejny wpis z Vue. Pojawi się on dopiero w przyszłym tygodniu. Niestety nie dopracowałem jeszcze projektu na tyle, żeby zdążyć z wykonaniem tego wszystkiego co planowałem w tym poście. Mam nadzieję, że przez weekend uda mi się wszystko co trzeba wykończyć i będzie to wyglądało tak jak tego chcę. Także na post z Vue zapraszam w przyszłym tygodniu!

Ja też popełniam błędy.

Jeżeli takie znalazłeś w tym wpisie, proszę daj znać w komentarzu. Poprawię niezwłocznie. A może uważasz, że się mylę i tak na prawdę to nie są błędy w nauce programowania? Tym bardziej odezwij się w komentarzu, chętnie o tym podyskutuję.