Punkt wyjścia do nauki Javy – co warto wiedzieć i o czym chciałbym wiedzieć

Opublikowany: 2020-04-14

Rozpoczęcie nauki programowania jest łatwiejsze, jeśli jest to część programu nauczania na uczelni. Wtedy nie musisz wybierać, którego języka się uczyć, które argumenty pominąć i którym pojęciom zwracać większą uwagę.

Kiedy poszedłem na studia, C był pierwszym językiem programowania, którego się nauczyłem, profesorowie prowadzili nam kurs C++, a później, jeśli chciałeś, można było nauczyć się Javy, Pythona i innych języków.

Jednak, kiedy rozmawiam z programistami na poziomie podstawowym, nie radzę kopać swojej edukacji programistycznej w języku C. Zamiast tego zazwyczaj sugeruję naukę Javy – o czym trochę później.

Chociaż moim zdaniem społeczność Java jest przepełniona materiałami do nauki, początkujący programiści często pytają mnie „Więc od czego zacząć?” lub „Czy muszę przeczytać teorię lub od razu zacząć pisać kod?”.

Najwyraźniej samodzielna nauka kodowania nie jest łatwa. Jako doświadczony programista postanowiłem pomóc nowicjuszom i przeprowadzić ich przez pułapki krzywej uczenia się Java. W tym poście dowiesz się, które praktyki zmieniają zasady gry w nauce Java, gdzie wielu programistów Java zawodzi i jak upewnić się, że możesz zastosować koncepcje, które opanowałeś w miejscu pracy.

Ale dlaczego Java?

Jeśli Twoim pierwszym odruchem jest rozpoczęcie ze mną debaty i wyjaśnienie, że Python jest prostszy lub że C jest bardziej tradycyjnym sposobem nauki tworzenia oprogramowania, zapewniam Cię, że widzę, skąd możesz pochodzić.

Postrzegam Javę taką, jaka jest obiektywnie, rozpoznaję jej wady (na przykład szybkość i wydajność pamięci) – niemniej uważam, że nie ma lepszego języka do nauki jako programista na poziomie podstawowym.

Oto dlaczego tak lubię Javę jako punkt wyjścia w programowaniu:

  • Koncepcje Java są używane przez wiele języków programowania. Programowanie obiektowe, zmienne typu lub przepływ sterowania to pojęcia, których możesz później użyć podczas pracy w C lub C++. Jeśli programista Pythona umie kodować tylko w Pythonie, uzyskasz pomost między Javą a innymi językami webowymi i mobilnymi (Kotlin, na przykład, wiele funkcji zawdzięcza Javie). Pod względem wszechstronności wybór Javy to zdecydowanie zwycięstwo nad jakimkolwiek innym językiem.
  • Kodowanie w Javie jest wszechstronne. Jako pierwszy język programowania nie potrzebujesz tylko lukratywnej technologii, która zapewni Ci umiejętności i pracę. Raczej w Twoim najlepszym interesie jest zapewnienie przyjemnej jazdy — a Java jest dokładnie tym, czego szukasz. Jeśli dopiero zaczynasz, uczucie, że C jest prostsze, ponieważ musisz pisać mniej, może Cię prześladować (jest to mylące, jak później zrozumiesz). Jednak, o ile pamiętam moje dni nauki języków programowania, żadne inne doświadczenie w nauce nie przebije ingerencji w Javę. Jest tak dużo miejsca na kreatywność i tworzenie przykładowych aplikacji – tekstowych gier RPG, gier zarządzanych przez konsolę i wielu innych. Ponadto można znaleźć projekty na wszystkich poziomach trudności – nie ma potrzeby uczenia się teoretycznych koncepcji miesiącami przed przejściem do nauki praktycznej.
  • Powszechnie używany język. Czasami jest to tak proste – chcesz nauczyć się języka, który pozwoli Ci zrobić wszystko, a nie ma nic lepszego niż Java. Język doskonale nadaje się do aplikacji internetowych, oprogramowania, projektów Android i narzędzi wewnętrznych. Po zapoznaniu się z Javą poczujesz, że możesz zrobić mniej więcej wszystko. Oczywiście mieszanie się w językach skryptowych, takich jak JavaScript, będzie nadal konieczne – jednak nie byłoby to tak przerażające, jak nauka języka programowania od zera, gdy jesteś przynajmniej na średnim poziomie zaawansowania Java.

Rynek pracy dla programistów Java – coś dobrego?

naucz się programować kod
Zdjęcie: Sklep KnowTechie

Nauka Javy może być świetną zabawą, ale czy nie będę bezrobotna i głodna, jeśli to jedyny język, który znam?

Ponieważ Java jest tak popularna wśród początkujących programistów, możesz mieć wrażenie, że wszyscy wiedzą, jak jej używać i nikt już nie będzie zatrudniał programistów. Najprawdopodobniej doświadczasz klasycznych efektów torowania – myślisz, że ponieważ widzisz dużo czegoś, może to być boleśnie powszechne.

Zebrałem kilka statystyk dotyczących rynku pracy Java, aby udowodnić, że dla rozsądnego programisty jest mnóstwo pracy:

  • Java jest najwyżej ocenianym językiem programowania według najnowszej ankiety przeprowadzonej przez Stack Overflow;
  • Według Glassdoor średnia pensja programisty Java w USA wynosi 79 137 USD;
  • Liczba otwarć programistycznych Java dostępnych obecnie w serwisie Indeed – 27 049

Jeśli weźmiesz pod uwagę ogólne trendy w świecie technologii – takie jak rosnące zapotrzebowanie na talenty techniczne i rosnące rozpowszechnienie urządzeń z Androidem (Java jest powszechnie używanym językiem programowania Androida), staje się jasne, że nie brakuje Ci miejsc pracy w najbliższym czasie.

Więc zamiast wahać się, czy powinieneś wypróbować Javę, zbierz ją i zacznij uczyć się języka już dziś.

Rzeczy, które chciałbym wiedzieć podczas mojej podróży do nauki języka Java

W czasach, gdy uczyłem się Javy, nie było o połowę mniej narzędzi i zasobów poza kilkoma tuzinami samouczków, książek i oficjalnej dokumentacji. Dlaczego myślę, że deweloperom jest łatwiej teraz, gdy jest dużo zasobów, wielu początkujących programistów jest zdezorientowanych i przytłoczonych różnorodnością narzędzi.

Chociaż nie ma ustalonej strategii nabywania biegłości w tworzeniu oprogramowania, oto kilka rzeczy, o których chciałbym, aby ktoś powiedział mi wcześniej.

1. Naucz się rozwiązywania problemów, a nie programowania

twórca stron internetowych
Obraz: Pexels

Widzę wielu początkujących, którzy przeglądają samouczki po samouczkach, podchwytując wzorce i koncepcje. Jednak, chociaż pomoże ci to nauczyć się składni Javy, nadal będziesz daleko od sposobu myślenia programisty.

Zaraz po tym, jak ukończyłem samouczki Java i musiałem dobrze wykorzystać swoje umiejętności, zdezorientowałem się i rzuciłem wyzwanie. Zamiast rozkładać aplikacje na ruchome części i sprawdzać, jak sam mogę je zbudować od podstaw, cały czas postrzegałem każdy projekt jak wysoką górę, na którą nie mogłem się wspiąć.

Na szczęście po drodze znalazłem mnóstwo zasobów, które pomogły nabrać pewności w programowaniu Java w świecie rzeczywistym:

  • Think Like a Programmer – książka, która pomoże Ci przyswoić sobie mentalność programisty niezależnie od tego, jakiego języka się uczysz
  • Codegym – platforma dedykowana specjalnie do nauki języka Java, która kładzie nacisk na praktyczne zastosowanie pojęć teoretycznych. Dzięki temu dowiedziałem się o wielu przydatnych hackach, które pomogły mi ułatwić tworzenie projektów.
  • Przepełnienie stosu – wiem, że dużo słyszałeś o czai się tutaj – chociaż nie polecam wklejania fragmentów kodu z SO, przeglądanie forów z pewnością przybliża Cię o krok do sposobu myślenia programisty.

2. Nie doceniłem technologii wspomagających

Jakoś byłem błogo nieświadomy tego, jak pomocne mogą być biblioteki i frameworki Java. Oczywiście jako początkujący programista chcesz robić wszystko sam – jednak w ciągu jednego dnia możesz zrobić tylko tyle, a szukanie skrótów jest często kluczowe.

Gdybym miał rozpocząć od nowa swoją przygodę z nauką Java, byłbym znacznie dokładniejszy przy wyborze zestawu narzędzi do sparowania języka.

Oto narzędzia, które polecam programistom do wypróbowania:

  • JUnit – wygodne narzędzie testowe dla programistów Java
  • JRat – profiler wydajności Java, który pozwala programistom monitorować wykonanie ich produktów;
  • Mockito – framework open source, który ułatwia mockowanie Javy;
  • Ehcache – narzędzie do buforowania zaprojektowane specjalnie do programowania w Javie.

Poniżej wymienię najważniejsze biblioteki, frameworki i interfejsy API do nauki języka Java.

3. Nie miałem planu nauki

Pokładając duże zaufanie w samouczkach i zasobach internetowych, zacząłem uczyć się Javy zupełnie z pustymi głowami. Nie miałam harmonogramu mojej podróży, nie miałam pojęcia, jak wykorzystam swoje umiejętności, ani rozbudowanej codziennej rutyny nauki. Moja motywacja była prosta i głupia – Java wydawała się modna, nie wiedząc, że jest to strata, więc dlaczego się tego nie nauczę?

Jeśli zaczynasz w tworzeniu oprogramowania, dokładniej określ, dokąd chcesz dotrzeć na koniec dnia. Nie pozwól, aby cel, który masz na myśli, cię zaślepił – nauka języka programowania powinna zawsze zaczynać się od podstaw, nawet jeśli chcesz zostać pełnoprawnym programistą – specjalistą od wszystkiego.

W tej chwili, gdybym musiał nauczyć się Javy od podstaw, to z grubsza byłby to mój plan:

Interfejsy API JDK:

  • Jawa IO
  • Kolekcja Java
  • Współbieżność Java
  • Jawa 8

Struktury Java:

  • Wiosna
  • Wiosenny but
  • Hibernować
  • Mikronaut
  • Mikroprofil Eclipse

Biblioteki testowe:

  • Ogórek – ułatwia testowanie biznesowe
  • Robot Framework – pomaga zoptymalizować testy integracyjne
  • JUnity do testów jednostkowych
  • Mockito do testowania makiet.

Aby uzyskać bardziej szczegółową makieta nauki programowania w języku Java, spójrz na poniższy wykres.

Do każdego z tych bloków przypisałbym termin, aby mieć pewność, że nie osłabnę i nie zrobię postępów.

Wniosek

Kiedy mówię, że nauka Javy to świetna zabawa, mam na myśli przede wszystkim nostalgię i szczęśliwe wspomnienia, które będziesz odczuwać po osiągnięciu biegłości. Jeśli chodzi o ten proces, doświadczysz zarówno wysokiego poziomu uzyskania właściwej odpowiedzi na problem, jak i niskiego poziomu niezrozumienia, czego, u diabła, chce od ciebie twój zasób edukacyjny.

Jak w przypadku każdej nauki, opanowanie języka programowania to pot i łzy krwi. Jednak tak długo, jak wytrwasz i pokonasz początkową uciążliwość Javy, proces uczenia się stopniowo stanie się przyjemniejszy i mniej męczący.

Masz jakieś przemyślenia na ten temat? Daj nam znać poniżej w komentarzach lub przenieś dyskusję na naszego Twittera lub Facebooka.

Rekomendacje redaktorów:

  • Rozpocznij swoje umiejętności obsługi JavaScript dzięki temu kursowi dla początkujących za 13 USD
  • 9 musi nauczyć się talii, aby być na bieżąco z Javą
  • 3 rzeczy, które powinieneś wiedzieć o hostingu Java
  • Dlaczego programowanie w języku Java jest popularne w firmach?