Nauka programowania java – jak się uczyć?

Nauka programowania java

Cześć, możliwe, że trafiłeś tutaj, ponieważ masz w planach naukę programowania java i chcesz się dowiedzieć jak to zrobić.  Nauka programowania nie jest prosta, szczególnie gdy się robi to w pojedynkę, dlatego przedstawię Ci teraz po krótce przykładowy etap nauki programowania javy od podstaw.

Bootcamp

Bootcampy są jedną z możliwości, które Ci się pojawiły podczas wpisywanie w Google hasła nauka programowania java. Znasz pewnie również ich ceny. Ceny są dosyć wysokie. Moim zdaniem nie ma sensu zapisywać się do szkół programowania szczególnie na początku. Możliwe, że nawet jeszcze nigdy nie próbowałeś programować to skąd masz wiedzieć, że to jest to co chcesz robić w życiu? Pieniądze łatwo wydać. Na początek warto przystopować i się dobrze zastanowić nad uczestnictwem w Bootcampie. Na początek spróbuj rad, które teraz ja Ci podsunę.

Nauka na własną rękę

Możliwości jest wiele – jedyne co nas kosztuje taka nauka to tylko czas, jednak powinienem tutaj użyć słowa „aż” zamiast „tylko”. Czas jest bezcenny, wiele osób pracuje i tego czasu ma naprawdę mało – dla tych osób polecam zapoznać się z moimi technikami produktywności. Jest pewnie też wielu uczniów i studentów – oni powinni znaleźć sporo czasu, przynajmniej wtedy kiedy wiedzą na co go przeznaczają.

Wybór języka

Jeżeli jesteś pewien, że chcesz uczyć się javy to możesz ominąć ten akapit – jeżeli nie wiesz za co się zabrać to jest to dla Ciebie lektura obowiązkowa!

Skoro musimy wybrać język programowania to czas się brać do pracy. Jedynym i poważnym problemem jest to, że jest ich naprawdę wiele i często stanowi to bardzo dużą barierę dla początkujących. Zadają sobie wtedy pytania: „Za co by tutaj się wziąć? Czego się uczyć?” i zamiast się uczyć myślą o wyborze języka.

Poniżej jest lista języków, które są dosyć popularne lub, od których warto zacząć naukę. Nie martw się jaki język wybierzesz, możliwe jest, że jeżeli poznasz solidnie podstawy programowania to będziesz przechodził z języka do języka przez weekend czasu. Musisz zaczać!

  • Java
  • C#
  • C++
  • Python
  • Javascript
  • Php

Bardzo często na studiach nauka programowania odbywa się na języku C++ lub Python – dopiero w dalszych semestrach poznaje się inne technologie. Ja osobiście nie żałuję, że poznałem naprawdę solidne podstawy C++ na studiach, ponieważ jest niskopoziomowych językiem programowania w porównaniu z innym na tej liście. Przesiadka na Jave nie była trudna, nie musiałem dbać o wiele rzeczy, o których musiałem myśleć w C++ – nic mnie nie zaskakiwało. Wystarczyło przerobić pierwszy lepszy kurs javy dla początkujących i szybko się wdrożyłem.

Jeżeli chcesz spróbować Javy to zapraszam Cię do mojego wpisu „Czy warto wybrać Java?”. 

Warto wybrać też Pythona, ponieważ też jest dosyć przyjemny lub C#, który jest również bardzo popularny.

Książki

Standardowy sposób nauki odbywa się z książek, na rynku są tysiące książek do każdego języka programowania. Którą więc wybrać? O to już najlepiej zapytać na grupie na facebook lub forach. Znajdą się z pewnością osoby, który były naprawdę zadowolone z nauki z danej książki, ale co najważniejsze znajdą się też takie, które nie polecą konkretnych książek.

W przypadku C++ na początku korzystałem sporadycznie z książki Symfonia C++, a w póżniejszym czasie czytałem trochę więcej książki Język C++. Szkoła programowania.  Tą drugą czytałem trochę z przymusu, pierwszą zaś z ciekawości, jednak wydaje mi się, że pierwsza pozycja naprawdę przystępna dla początkujących.

Przy nauce javy od podstaw nie spędzałem raczej dużo czasu w książkach, ponieważ przechodziłem na nią z języka C++. Jednak dla początkujących wydaję się w porządku książka Thinking in Java, zaś dla bardziej zaawansowanych osób polecam bardzo dobrą książkę Effective Java. Z tą drugą polecam się zapoznać, gdy poznasz całkowicie składnię języka i będziesz pisać w stanie proste aplikacje – jest tam sporo materiału, który na początku nie będzie dla Ciebie zrozumiały.

Pamiętaj, nie traktuj książki jako wyłączności! Najważniejszą częścią nauki jest pisanie kodu i rozwiązywanie prawdziwych problemów, a nie nastawienie w stylu: „Jak pacze to umiem jak nie pacze to nie umiem”.

Rozwiązywanie wyzwań

Jest wiele fajnych platform, które oferują dużo ciekawych zadań z programowania, które można implementować w każdym języku. Zadania są zazwyczaj sprawdzane przez platformę i rankingowane pod względem czasu oraz oryginalności wykonania.

W internecie znajdziesz sporo takich platform, m.in. są to:

Warto starać się wykonać sobie jedno zadanie dziennie lub kilka tygodniowo – patrz też na rozwiązania innych i analizuj co warto zmienić w swoim rozwiązaniu. Pamiętaj, że sporo też się możesz nauczyć czytając kod innego programisty lub zadając mu pytania dotyczące jego sposobu rozwiązania problemu, aniżeli tylko klepania kursów programowania.

Kursy online

Tak naprawdę jest to chyba najlepsza forma nauki w dzisiejszych czasach. Kursów są miliony, platform z kursami tysiące. Wiele płatnych jak i darmowych. Ciężko to tylko przefiltrować i wybrać te najlepsze.

Ponownie namawiam do odwiedzenia grup facebookowych i for tematycznych i zapytania się, które kursy ludzie polecają. Liczyć się trzeba również z tym, że niektóre są płatne i sporo wartościowych informacji możemy tylko dostać w języku angielskim – taki już los.

Jednak znajdziesz i tak sporo wartościowego contentu za darmo, tysiące blogów z kursami lub kanały na Youtube, które robią dobrą robotę np. JavaBrains CaveOfProgramming. 

Co do nauki w tym stylu podkreślam jedną rzecz, nie kopiuj nigdy kodu. Zawsze przepisuj kod do swojego środowiska, ponieważ w ten sposób szybciej będziesz się uczył.

Z łatwością też znajdziesz kursy na Youtube oraz platformach np. Udemy, gdzie z łatwością można znaleźć za darmo kurs javy dla początkujących.

Projekty

W końcu przychodzi czas na bardziej samodzielną naukę niż tworzenie aplikacji na podstawie kursów. Wymyśl sobie aplikację, która może Ci się przyda – choć niekoniecznie. Ważne, żeby projekt, który tworzysz był trochę większy niż przysłowiowy Hello World i będziesz mógł trafiać na większą ilość problemów (o tym za chwilę).

Lista przykładowych projektów, które możesz zrealizować:

  • Klasyczna todo lista
  • Edytor tekstu
  • Edytor graficzny (np. dla formatu ppm)
  • Odtwarzacz muzyczny (np. dla formatu .wma)
  • Pakowanie/rozpakowywanie plików do .zip (dosyć prosty format!)
  • Analizator danych (statystyka na podstawie podanych danych wejściowych)
  • Gra (np. gra w życie, snake, szachy – cokolwiek!)
  • Kalkulator (z większą ilością funkcji np. przeliczanie między systemami liczbowymi)
  • Kółko i krzyżyk
  • Pomodoro

Czemu tak gorąco polecam realizowanie projektów od podstaw nauki programowania? Z tego względu, że przy rozwiązywaniu danego problemu zmagasz się ciągle z różnymi problemami związanymi z programowaniem. Gdzie takie problemy rozwiązywać? Odpowiedź jest bardzo prosta i dobrze znana każdemu programiście: na przepełenieniu stosu . Wystarczy, że w Google opiszesz krótko swój problem w języku angielskim i dodasz na końcu frazę Stackoverflow – i problem rozwiązany!

Powiadają, że stackoverflow nie rozwiązał jeszcze tylko problemu głodu na świecie. 

Na koniec

Jeżeli jesteś początkującym to jak najszybciej wybierz język  i wyszukaj w Google np. „kurs java od podstawy” lub „Kurs java dla początkujących” i natychmiast bierz się do pracy. Gdy będziesz systematycznie uczył się poprzez czytanie książek, przerabianiem kursów oraz realizację projektów od samych podstaw to wkrótce będziesz wymiatał jako programista – to jest pewne. Najważniejsza jest praktyka, samozaparcie i chęć zdobywania wiedzy – wyniki w końcu przyjdą.

Zapraszam Cię do komentowania jakie języka się uczysz i jakie techniki stosujesz lub jakie techniki ty stosowałeś, gdy dawniej uczyłeś się programowania?