IT

Od czego zacząć naukę programowania – cz. 1 – moich 7 rad

Nauka programowania to nie łatwa rzecz. A sprawę utrudnia dodatkowo ilość dostępnych materiałów, kursów, tutoriali. Zastanawiam się czasem dlaczego tak dużo osób porzuca naukę programowania lub zwyczajnie nie chce nawet zacząć (mimo, że chcieliby być programistami). Dzisiejszy wpis to w 100% moje przemyślenia i kroki jakie podjęłabym, gdybym jeszcze raz zaczynała.

#1 Wybierz prostą technologię

Wydaje mi się, że jedną z łatwiejszych technologii jest PHP . Ja sama, sporo się nauczyłam programując właśnie w tym języku. Dużo frajdy dawało mi też to, że z jego pomocą buduje się strony internetowe więc szybko widziałam wizualne efekty mojej pracy. Nieskomplikowany jest też JavaScript – tu też nie będziesz musiała przyswajać ogromnej ilości wiedzy. Te dwa języki to języki dynamicznie typowane. Oznacza to, że zmniejsza się ilość wiedzy o typach, jaką będziesz musiała na początek zrozumieć. Z czasem zobaczysz, że jest to duża wada, ale dla początkującej osoby to zaleta bo kod jest znacznie bardziej czytelny. Jeśli te dwa języki Cię nie przekonują to kolejnym z tej listy, popularnym językiem jest Python. Oczywiście w nich wszystkich będziesz robiła zupełnie różne rzeczy, ale musisz któryś wybrać by zacząć, a z czasem wiele rzeczy się rozjaśni.

Co z Javą i C#?

Pierwszy styk z programowaniem miałam właśnie przez język C#. Czy był to dobry czy zły wybór ciężko mi ocenić. Byłam trochę prowadzona za rękę, ponieważ programować uczyłam się na studiach. Program był narzucony więc ja nie miałam wyjścia, ale C# i Visual Studio nigdy nie lubiłam. Visual Studio był dla mnie zawsze zbyt dużym kombajnem, w szczególności jeśli zależało mi na napisaniu prostego programu konsolowego. I z tego powodu, odradzałabym naukę i pisanie w nim pierwszych programów. Ilość opcji i ogólne skomplikowanie skutecznie mnie zniechęcało. Jednak podobno jest to jedno z lepszych środowisk, więc zawsze możesz spróbować i ocenić sama.

Jeśli jednak interesuje Cię Java to zdecydowanie polecam rozpoczęcie nauki od pisania programu w notatniku i wykonywanie kodu z linii komend. Popularne tutoriale, “all in one”, które wymagają zainstalowania naraz kilku wtyczek i frameworka, są według mnie do niczego. Zgubisz się w nich bo nie będziesz po minucie wiedziała, dlaczego coś masz kliknąć tak, a nie inaczej. Z czasem, jeśli zacznie Ci brakować kontroli typów, walidacji składni i będziesz pisała coś więcej niż programy konsolowe, wybrałabym Eclipse, ponieważ mi najlepiej się w nim pracuje.

#2 Nie skupiaj się zbyt długo na dostosowaniu środowiska

Wspominam o tym dlatego, że sama początkowo traciłam dużo czasu na zabawę ze środowiskiem. Wiem, że praca w środowisku jest czymś zupełnie innym i nie wyobrażam sobie pisać programu w notatniku. Jednak najczęściej to rozbudowane narzędzia z ogromną ilością narzędzi i dodatków. Nie będą Ci one prawdopodobnie potrzebne, żeby rozwiązać zadania z książki dla początkujących. Z czasem będziesz musiała z jakiegoś skorzystać, ale na początek postaw albo na coś bardzo prostego albo nie poświęcaj zbyt dużo czasu, na dostosowanie go, żeby napisać jedną pętlę.

#3 Zacznij od tutorialu

Wyszukaj jeden z prostszych jakie uda Ci się znaleźć, który jest tutorialem o jednej, danej technologii. Tutoriale video typu “First webapp” nie nauczą Cię na początku zbyt wiele, nawet jeśli aplikacja będzie działała. Przeczytaj o podstawowych konstrukcjach, dokładnie prześledź szczegóły podanego przykładowego kodu lub jeśli są, to rozwiąż proste zadania. I nie zniechęcaj się, jeśli początkowo nie będziesz umiała ich rozwiązać. Programowanie to specyficzny sposób myślenia, którego musisz się nauczyć. To zajmie trochę czasu. Tutorial na pewno nie powinien być jedynym źródłem Twojej wiedzy, ale da ci ogólny pogląd na to co Cię czeka. Ja zawsze sięgałam do chyba najbardziej znanego punktu w sieci – TUTORIALSPOINT – LINK.

#4 Przeczytaj chociaż jedną (aktualną!) książkę

Książki informatyczne są na ogół dość drogie. Wynika to z tego, że są często zbiorem wiedzy, wynikającej z doświadczenia i przemyśleń autora. Jeśli ktoś pracuje kilkanaście lat, poświęca się temu co robi, dochodzi do wniosków, to nie upubliczni swojej wiedzy w książce za 20 złotych. A tym bardziej za darmo w Internecie. Tutoriale internetowe są oczywiście dobre, ale nie omijaj książek. Niektóre są naprawdę dobrze napisane i czytanie ich jest przyjemne. Poza tym, samo kupienie książki, ze świadomością, że wydałaś na nią kilkadziesiąt złotych skłania Cię do tego, by ją przeczytać. 😉

#5 Rozwiąż dużo, dużo zadań

Zanim dojdziesz do tworzenia własnej aplikacji radziłabym rozwiązać dużą ilość zadań. Tak dużą, żebyś sama płynnie potrafiła rozwiązywać trywialne problemy. Na pewno słyszałaś, że najwięcej nauczysz się przez pisanie własnej aplikacji i jest to prawda, ale musisz znać podstawy, żeby to zrobić. Jeśli nie będziesz umiała rozwiązać prostych problemów, to pisanie aplikacji szybko porzucisz. Albo nie będziesz wiedziała od czego zacząć, albo zmarnujesz znacznie więcej czasu na szukaniu błędów bo zwyczajnie nie będziesz ich świadoma. Tu jest trochę tak jak przy rozwiązywaniu zadań z matematyki. Poznajesz najpierw teorię, jak coś działa, a następnie przechodzisz przez różnej trudności zadania. Gdybyś od razu rzuciła się na najtrudniejsze z nich, prawdopodobnie byś je rozwiązała, ale zajęłoby to dużo czasu.

#6 Framework nie zając, nie ucieknie

Więc spokojnie możesz go na początku odpuścić. Dużo osób, żeby znaleźć pracę nie traci czasu na naukę podstaw, tylko od razu chwyta jakiś framework, żeby wpasować się w ofertę. To bardzo krótka droga. Jeśli jakimś cudem przemknie to na rozmowie, to już w pracy łatwo coś takiego zauważyć. Nie warto. W szczególności, że nie potrzebujesz frameworka na początku nauki. Mało tego, im lepiej będziesz znała podstawy tym szybciej go potem zrozumiesz. Pułapką tutaj są tutoriale “all in one” typu “First webapp Java in 10 minutes”. 

Zobaczysz na nich najkrótszą możliwą drogę, żeby osiągnąć dany efekt, ale takie tutoriale według mnie – zwyczajnie ogłupiają (a przynajmniej na początku) bo zdobyta w ten sposób wiedza jest po prostu powierzchowna. Czy masz się nie uczyć frameworków? Oczywiście, że przyjdzie moment, w którym będziesz musiała. Ale nie zaczynaj od nich i napisz choć jeden prosty program bez ich użycia.

#7 Własna aplikacja wisienką na torcie

I mam na myśli małą wisienkę, a nie wielką przerośniętą bezkształtną wiśnię. 🙂 Napisz coś prostego. Nie porywaj się na pisanie skomplikowanego systemu z wieloma funkcjami. Najciekawsze są chyba proste gry, bez skomplikowanej grafiki. Takie, żeby technicznie wykorzystywać różne elementy języka – operacje na plikach, odliczanie czasu, interakcję z użytkownikiem. Z czasem będziesz mogła swoją aplikację ulepszać i powiększać. Jednak im mniejsza będzie, tym szybciej będziesz mogła ją komuś pokazać (np. na rozmowie o pracę). Jeśli brakuje Ci pomysłów (mi zawsze brakuje :)) to w moim przypadku były to aplikacje takie jak “Mistrz klawiatury”, który był “grą” i proste aplikacje internetowe – na przykład do liczenia miesięcznego budżetu, symulator obsługi restauracji. Uważaj jednak by nie zaplątać się w dużą ilość biznesowych elementów, które będą technicznie proste, a pochłoną dużo Twojego czasu. Dlatego właśnie dobrym wyborem są gry – będziesz miała okazję upchnąć więcej różnorodnych technicznie elementów.

Jeśli planujesz naukę programowania to z całą pewnością musisz być bardzo wytrwała. Początki są niestety trudne i będziesz musiała poczekać na efekty swojej pracy. Wymienione rzeczy to moje subiektywne rady, ale nie oznacza to, że jeśli uczyłaś lub uczysz się w zupełnie inny sposób, to jest on zły. Najważniejsze jest to, jaki efekt ostatecznie udaje się osiągnąć. 🙂

Możesz również polubić…

1 komentarz

  1. […] Nauka programowania to nie łatwa rzecz. A sprawę utrudnia dodatkowo ilość dostępnych materiałów, kursów, tutoriali. Dlaczego tak dużo osób porzuca naukę?  […]

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *