Dalsze kroki w nauce Javy, czy warto uczyć się Swinga w 2024?

0

Cześć,

Jestem na etapie nauki Javy i czuję, że opanowałem już podstawy. Mam też podstawowe informacje na temat JUnit, a ostatnio staram się uczyć TDD. Korzystam z kursu online, który jako kolejny krok proponuje naukę biblioteki Swing. Zastanawiam się jednak, czy warto poświęcać na to czas, bo wiem, że Swing jest już technologią dość przestarzałą. Chciałbym się upewnić, czy w dzisiejszych czasach wciąż ma sens nauka Swinga, czy lepiej skupić się na czymś bardziej aktualnym?

Dodatkowo, równolegle uczę się z książki Thinking in Java i chociaż jest ona bardzo wartościowa, to opisuje zagadnienia, które już dość dobrze rozumiem. Następna w kolejce jest książka Czysty Kod

Czy ktoś mógłby mi doradzić, w jakim kierunku powinienem kontynuować naukę Javy? Czy jest jakaś konkretna technologia lub biblioteka, na której warto się teraz skupić? Będę wdzięczny za każdą sugestię.

Dzięki!

6

Nie potrzebnie skupiasz się na języku, wygląda to tak jakbyś miał w głowie zakorzenione że "nauka programowania" == "nauka języka programowania", a tak nie jest.

Jak oglądasz filmy o tym jak artyści i malarze mówią o swoich obrazach, to nie mówią: "obsługi jakiego pędzla powinienem się nauczyć teraz?". Skupiają się na rzechach które tworzą. Oczywiście narzędzia są istotne, ale to nie o to w nich chodzi.

2

@Riddle Jeśli autor tematu chce zdobyć np. pracę to owszem narzędzia są bardzo istotne bo bardzo rzadko w Polsce obecnie zatrudnia się juniorów zwłaszcza bez znajomości danych narzędzi

1
Riddle napisał(a):

Nie potrzebnie skupiasz się na języku, wygląda to tak jakbyś miał w głowie zakorzenione że "nauka programowania" == "nauka języka programowania", a tak nie jest.

Myślałem, ze jeśli chce zdobyć kiedyś pracę to musze nauczyć się konkretnego języka/frameworku, które są wymagane na dane stanowisko.

Jak oglądasz filmy o tym jak artyści i malarze mówią o swoich obrazach, to nie mówią: "obsługi jakiego pędzla powinienem się nauczyć teraz?". Skupiają się na rzechach które tworzą. Oczywiście narzędzia są istotne, ale to nie o to w nich chodzi.

Rozumiem co masz na myśli i wydaje mi się umiejąc te podstawy Javy umiałbym przenieść to na inny język po ogarnięciu składni, ale wiadomo mowie tylko o podstawach języka. W takim razie czego się najlepiej uczyć?

0

Łap state of Java in 2024, może tam cię coś natchnie:
https://stackoverflow.blog/2024/07/19/java-but-why-the-state-of-java-in-2024/

2
Maciek_SK8 napisał(a):

Myślałem, ze jeśli chce zdobyć kiedyś pracę to musze nauczyć się konkretnego języka/frameworku, które są wymagane na dane stanowisko.

No właśnie tak i nie.

Konieczne jest że musisz umieć programować, a ciężko jest umieć programować bez języka; ale to nie musi być żaden konkretny język.

Wbrew pozorom jak zaczynasz pracę w nowej firmie, i nie znasz frameworka, to najczęściej po 1-2 miesiącach już go znasz. Owszem, firmy jak zatrudniają ludzi to piszą w ofercie "wymagamy znajomości tego i tamtego", ale to tylko dlatego że rekrutujące osoby mają właśnie takie mylne pojęcie, że musisz mieć te skille jak przychodzisz (i niby wytworzenie ich jak jesteś w pracy jest jakoś gorsze).

Faktyczna zdolność która jest wymagana to jest umiejętność programowania, wytwarzania aplikacji, rozwiązywania problemów, dbałość o szczegóły, cierpliwość, kreatywność, zdolność do przetłumaczenia rozwiązania na kod. To czy znasz jakiś konkretny język nie ma aż takiego znaczenia, łatwo się tego nauczyć.

0

Jesli chcesz sie nauczyc Javy zeby zdobyc prace, to prawdopodobnie juz przegrales. Pociag odjechal

2

bo wiem, że Swing jest już technologią dość przestarzałą

Świetnie, że się tego dowiedziałeś - i masz rację, nawet jeśli można by dyskutować czy przestarzałe = niewarte nauki, to pracy w tym raczej nie znajdziesz dziś.

jakaś konkretna technologia lub biblioteka, na której warto się teraz skupić

@Riddle ogólnie ma rację, ale pytasz o konkrety. Tutaj niestety muszę cię zganić, bo te informacje też bez problemu znajdziesz w sieci - przejrzyj sobie oferty pracy. Znajdziesz tam na 99% jakąś kombinację Springa, Kafki, Postgresa, chmur, toolingu itp.

równolegle uczę się z książki Thinking in Java

Też ją czytałem na studiach, jest ok ale jednocześnie ultra wyczerpująca aż do bólu - traktuj ją raczej jako kompendium wiedzy "co można zrobić w Javie", wiedza na temat ile bitów ma typ double albo 1000 sposobów na skonstruowanie InputStreamReader żeby wczytać plik tekstowy do pamięci - raczej się na nic nie przyda.

0

równolegle uczę się z książki Thinking in Java

Też ją czytałem na studiach, jest ok ale jednocześnie ultra wyczerpująca aż do bólu - traktuj ją raczej jako kompendium wiedzy "co można zrobić w Javie", wiedza na temat ile bitów ma typ double albo 1000 sposobów na skonstruowanie InputStreamReader żeby wczytać plik tekstowy do pamięci - raczej się na nic nie przyda.

To wiadomo bardziej ją przeglądam niż czytam dokładnie i robię zadania.

1

"Thinking in Java" to klasyk gatunku. Wiedza tam zawarta jest odległa od realiów współczesności. Swing owszem pozostaje w użyciu lecz to ciekawostka.

Jak chcesz się zajmowa Javą to poeksoerymentuj z Core Java, z JDBC, ze Springiem, z Quarkusem, z Vert.X. Czas zainwestowany w dotykanie tych obszarów ma szansę się zwrócić z nawiązką.

Jedna patrząc na to, co dzieje się na naszym grajdołkuto zastanawiam się czy aby nie lepiej na zdrowie wyjdzie Ci potraktoanie tego wszystkiego jako ciekawostki. Wszystkie jęzki w których powstają aplikacje biznesowe zostały dość mocno rozmienione na drobne przez bootcampy, szkoły programowania, tajne komplety weekendowe, a w kolejnych latach to zjawisko nasili się.

4

Swinga to warto się uczyć w golfie i tenisie, a nie w Javie w 2024.

2
Pinek napisał(a):

Swinga to warto się uczyć w golfie i tenisie, a nie w Javie w 2024.

To też nie jest tak że nauczenie się swinga to jakaś mechanika kwantowa. Jak sobie poużywa swinga przez 1-2 dni to się nic nie stanie.

Zgadzam się że swing nie jest jakoś specjalnie wartościowy dzisiaj, ale nie jest też specjalnie trudny do nauczenia się na podstawowym poziomie w 1-2 dni.

1

Aby dostać pracę Java, Spring, Kafka/RabbitMQ, SQL, współbieżność, wielowątkowość, Docker, Kubernetes/Openshift. Dobrze liznąć coś z chmury AWS/Azure.
Swingiem możesz się pobawić ale moim zdaniem to nie ma sensu. O ile dobrze kojarzę, to Swing traci wsparcie chyba w 2025 więc firmy będą z tego uciekać. Swinga warto było znać parę lat temu jeśli chciało się pracować w legacy, w którym nikt pracować nie chciał bo czasem zdarzały się jakieś stare systemy, które trzeba było utrzymywać.

Jeśli dopiero co opanowałeś podstawy to jeszcze długa droga przed Tobą. Dobrze opanuj bardziej złożone zagadnienia z Javy (współbieżność, wielowątowość) i Springa. Potem jakiś system messegingowy (Kafka/Rabbit) i konteneryzacja (Docker/Kubernetes). To takie najpopularniejsze narzędzia do pracy z Javą na Backendzie.

0
tefu napisał(a):

Aby dostać pracę Java, Spring, Kafka/RabbitMQ, SQL, współbieżność, wielowątkowość, Docker, Kubernetes/Openshift. Dobrze liznąć coś z chmury AWS/Azure.
Swingiem możesz się pobawić ale moim zdaniem to nie ma sensu. O ile dobrze kojarzę, to Swing traci wsparcie chyba w 2025 więc firmy będą z tego uciekać. Swinga warto było znać parę lat temu jeśli chciało się pracować w legacy, w którym nikt pracować nie chciał bo czasem zdarzały się jakieś stare systemy, które trzeba było utrzymywać.

Jeśli dopiero co opanowałeś podstawy to jeszcze długa droga przed Tobą. Dobrze opanuj bardziej złożone zagadnienia z Javy (współbieżność, wielowątowość) i Springa. Potem jakiś system messegingowy (Kafka/Rabbit) i konteneryzacja (Docker/Kubernetes). To takie najpopularniejsze narzędzia do pracy z Javą na Backendzie.

Zobaczyłem teraz, ze jest promocja na kursy na Udemy i znalazłem taki kurs:
https://www.udemy.com/course/kurs-java-od-podstaw-od-zera-do-mastera-zbuduj-wlasne-aplikacje/?couponCode=SKILLS4SALEB

Kiedyś dostałem kurs Javy, ale ma juz swoje lata i myślę nad czymś bardziej aktualnym. Pomijając już tego swinga, to pomoże mi chyba zrozumieć bardziej zaawansowane rzeczy niż to czego nauczyłem się do tej pory.

Oprócz tego znalazłem jeszcze kurs dockera:
https://www.udemy.com/course/docker-od-podstaw-dla-programistow-i-nie-tylko/

Co myślicie o tych kursach?

2

Oprócz tego znalazłem jeszcze kurs dockera:
https://www.udemy.com/course/docker-od-podstaw-dla-programistow-i-nie-tylko/

Płatny kurs Dockera? Dej Pan spokój. W necie znajdziesz setki darmowych tutoriali. A i raczej nie potrzebujesz wiedzieć więcej, niż jak odpalić obraz, jak zbudować swój i ewentualnie pull/push.

0
kelog napisał(a):

Oprócz tego znalazłem jeszcze kurs dockera:
https://www.udemy.com/course/docker-od-podstaw-dla-programistow-i-nie-tylko/

Płatny kurs Dockera? Dej Pan spokój. W necie znajdziesz setki darmowych tutoriali. A i raczej nie potrzebujesz wiedzieć więcej, niż jak odpalić obraz, jak zbudować swój i ewentualnie pull/push.

Masz racje, płacenie za ten kurs będzie trochę bez sensu. Znalazłem jeszcze taki kurs Springa, jest tam też cos o testach:
https://www.udemy.com/course/spring-pl/?couponCode=SKILLS4SALEB#reviews

Ewentualnie jeszcze cos takiego:
https://www.udemy.com/course/mikroserwisy-z-spring-cloud-tworzenie-aplikacji-webowych/#reviews

2
Maciek_SK8 napisał(a):

Zobaczyłem teraz, ze jest promocja na kursy na Udemy i znalazłem taki kurs:
https://www.udemy.com/course/kurs-java-od-podstaw-od-zera-do-mastera-zbuduj-wlasne-aplikacje/?couponCode=SKILLS4SALEB

Moim zdaniem lepsze przerabianie takich kursów niż beznamiętne czytanie książek pokroju Thinking in Java.

30zł nie majątek, kurs aktualny, zrobiony przez polaka (brak problemu ze zrozumieniem), ocen sporo, poziom odsyć podstawowy ale to dla Ciebie raczej na +.

Ja polecam tę ścieżkę nauki 😉

Sam ma msporo rzeczy kupionych na udemy bo mimo, że owszem można znaleźć sensowne materiały za free to często szkoda mi czasu na poszukiwania i wolę wydać te 30-40zł aby zdobyć w wolnej chwili podstawy jakiejś technologii.

0
RequiredNickname napisał(a):
Maciek_SK8 napisał(a):

Zobaczyłem teraz, ze jest promocja na kursy na Udemy i znalazłem taki kurs:
https://www.udemy.com/course/kurs-java-od-podstaw-od-zera-do-mastera-zbuduj-wlasne-aplikacje/?couponCode=SKILLS4SALEB

Moim zdaniem lepsze przerabianie takich kursów niż beznamiętne czytanie książek pokroju Thinking in Java.

30zł nie majątek, kurs aktualny, zrobiony przez polaka (brak problemu ze zrozumieniem), ocen sporo, poziom odsyć podstawowy ale to dla Ciebie raczej na +.

Ja polecam tę ścieżkę nauki 😉

Sam ma msporo rzeczy kupionych na udemy bo mimo, że owszem można znaleźć sensowne materiały za free to często szkoda mi czasu na poszukiwania i wolę wydać te 30-40zł aby zdobyć w wolnej chwili podstawy jakiejś technologii.

Właśnie dla mnie też lepszą metodą nauki są kursy, a cena jest bardzo dobra

3

Z Javy warto nauczyć się tylko Springa i to moim zdaniem kończy dyskusje.

90% rekrutacji na Java deva to czysta Java więc, pomimo tego że zgadzam się z przedmówcami że nauka programowania to nie nauka języka, warto poznać API Javy 11+

Pozostałe 9.99% będzie dotyczyć właśnie Springa ew Hibernate

Wszystkich specyficznych frameworkow nauczysz się w pracy.

2

Swing to bardzo efektywne i wszechstronne ćwiczenie, które warto uwzględnić w swoim treningu, nawet w 2024 roku. Oto kilka powodów, dla których warto to robić:

  1. Poprawa siły i wytrzymałości mięśniowej
    Swing angażuje wiele grup mięśniowych, w tym mięśnie nóg, pośladków, pleców, ramion, a także mięśnie korpusu (core). Regularne wykonywanie tego ćwiczenia może znacząco zwiększyć siłę i wytrzymałość mięśniową.

  2. Spalanie kalorii i poprawa kondycji
    Swing jest ćwiczeniem o wysokiej intensywności, które skutecznie podnosi tętno, co pomaga w spalaniu kalorii. Jest to świetne ćwiczenie cardio, które można wykorzystać zarówno do poprawy kondycji, jak i do redukcji tkanki tłuszczowej.

  3. Wzmacnianie mięśni korpusu
    Podczas wykonywania swing, mięśnie korpusu muszą pracować, aby stabilizować ciało, co prowadzi do ich wzmocnienia. Silny core jest kluczowy dla ogólnej sprawności fizycznej i może pomóc w zapobieganiu kontuzjom.

  4. Poprawa mobilności i elastyczności
    Ćwiczenie to wymaga odpowiedniego zakresu ruchu w stawach biodrowych i ramionach, co może przyczynić się do poprawy mobilności. Regularne wykonywanie swing może zwiększyć elastyczność mięśni i poprawić ogólną sprawność ruchową.

  5. Efektywność czasowa
    Swing to ćwiczenie, które może być wykonywane w krótkim czasie, a jednocześnie daje bardzo dobre rezultaty. Jest idealne dla osób, które mają ograniczony czas na trening, ale chcą osiągnąć maksymalne efekty.

  6. Wszechstronność
    Swing można łatwo dostosować do różnych poziomów zaawansowania. Możesz modyfikować wagę kettlebella, liczbę powtórzeń lub zestawiać swingi z innymi ćwiczeniami, tworząc kompleksowy trening.

Podsumowanie

Swing to ćwiczenie, które z pewnością warto uwzględnić w swoim treningu w 2024 roku. Pomaga w budowaniu siły, poprawia kondycję, wspiera rozwój mięśni korpusu i jest efektywnym narzędziem do spalania kalorii. Bez względu na to, czy jesteś początkującym, czy zaawansowanym sportowcem, swing może być wartościowym dodatkiem do Twojego programu treningowego.

1

@benoni12: pamiętaj, że "ironiczne" pisanie głupot to jest pisanie głupot. Nawet jeśli zaprzęgłeś czatbota do tego.

1

Czysty kod, super. Potem wzorce projektowe, (w moim wypadku to była książka "Head First") koniecznie. Jeśli chodzi o Swinga, to np. Intelij IDEA jest robiony w Swingu. Jeśli ogarniesz wzorce projektowe i SOLID to masz szansę dostać pracę.
Ps. Do Swinga mam podejście nostalgiczne, bo to framework, którego używałem w pierwszej pracy :). Fajne w nim jest to, że piszesz jeden kod, i działa w okienkach windowsa, maca i linuxa rzuć okiem tutaj: https://github.com/bartgora/swing-in-minutes to jest mój niedokończony tutorial do Swinga

2
kiedys_mialem_lepszy_brzuch napisał(a):

Z Javy warto nauczyć się tylko Springa i to moim zdaniem kończy dyskusje.

A potem przychod taki jeden z drugim na rekrutacje, proste pytanie z wielowątkowości i leży i kwiczy, kolekcje i złożoność obliczeniowa - eee, a co to, design patterns - panie, a po co to komu. Ja mogę tylko podziękować za takie rady, bo dzięki temu poziom kandydatów i ogólnie ludzi w IT jest żenująco niski a dzięki temu ludzie z prawdziwym doświadczeniem i umiejętnościami nie muszą martwić się ani o pracę ani o stawki.

2

Swing - archeologia.

Czego się uczyć dalej? Masz 2 drogi do wyboru:

  • Android, pisanie appek na telefony.
  • Web, pisanie kodu serverowego (Spring Framework lub coś nowszego np. Quarkus)

Aplikacje GUI to obecnie nisza. Jest z resztą jeszcze gorzej następca Swinga to jest JavaFX to framework niestety niedopracowany. Na tym etapie nauki radzę skupić się na tym co pozwoli w obecnej trudnej sytuacji na ryku pracy otrzymać pierwsze stanowisko - to jest web albo mobilki...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.