Java czy JavaScript - którego języka obecnie się uczyć?

1

Cześć. W wielkim skrócie. Zastanawiam się czy uczyć się Javy czy JSa. Dopiero zaczynam przygodę z programowaniem - nie mam doświadczenia, ale jakąś styczność już miałem - rozumiem podstawy, takie jak tablice, funkcje, pętle wiem w miarę na czym polega programowanie obiektowe, potrafiłbym napisać jakiś prosty program. Generalnie zacząłem uczyć się JSa - przerobiłem nieco podstawy i przesiadłem się na Javę - z ciekawości, po prostu chciałem zobaczyć jak wygląda. No i z Javy też liznąłem podstawy podstaw i znów naszła mnie refleksja. Wiem, że takie skakanie z języka na język nie ma sensu, dlatego chciałbym, żebyście pomogli mi doradzić, do którego z tych języków się przyłożyć, i w którym uczyć się programowania.
Java wydaje się być trochę ciekawsza, wymagająca bardziej ścisłego myślenia, ale z tego co czytałem język ten się starzeje i choć w najbliższym czasie nie zapowiada się, żeby umarł, to czy warto uczyć się języka, którego trend już zaczyna maleć? Czy nowo powstające firmy będą wciąż stawiały na rozwiązania w Javie, czy będą wybierały inne języki? Czy wsparcie dla Javy nie zacznie maleć, przestanie być już tak rozbudowywana, coraz mniej programistów będzie poświęcało czas na jej rozbudowę? No i jeszcze jedno ważne pytanie. Czy ucząć się Javy nie zostanę skazany na pracę w korpo?
JavaScript i jej Node.js z kolei bardzo się rozwijają i JS to już nie jest język, w którym można tworzyć tylko stronki internetowe, ale nawet tworzyć apki desktopowe. I choć Node.js nie jest jeszcze tak popularny jak Java, to czy za jakiś czas jej nie wyprzedzi?
Jak wy to widzicie?

3

Wcześnie czy póżniej i tak poznasz kilka języków (raczej wcześniej), i kilka z nich będzie "zmarnowanych" tzn nie będziesz w nich pracował.
Na etapie "wiem trochę" martw się bardziej, by się nauczyć PROGRAMOWANIA, myślenia jak programista itd.

(w mojej opinii JS nie jest szczęśliwym językiem do nauki ogólnej, ma niesamowita ilosc dziwactw, których nie ma gdzie indziej)

5

Don't be mistaken. JS i Java to całkiem różne języki zarówno pod kątem technicznym (więc się zastanów, który ci bardziej odpowiada), jak i pod tym, że mają inne zastosowania (więc zastanów się, co byś chciał robić - jaką działką programowania się zajmować). Kultura programistyczna też jest inna - JS to zabawkowy język, więc ludzie się nim bawią, a Java to język boomerski, więc jest sztywno i "prhofesjonalnie".

Czy nowo powstające firmy będą wciąż stawiały na rozwiązania w Javie, czy będą wybierały inne języki?

Ostatnio strasznie popularny jest Python - elegancki, czytelny, ma biblioteki do Machine Learning, ale również frameworki webowe takie jak Django czy Flask itp. No ale wiadomo, że ma swoje wady.

JS to już nie jest język, w którym można tworzyć tylko stronki internetowe, ale nawet tworzyć apki desktopowe.

To też, ale obecnie wiele firm szuka programistów do React Native, gdzie piszesz w JS apki mobilne.

6
netheaton napisał(a):

Cześć. W wielkim skrócie. Zastanawiam się czy uczyć się Javy czy JSa.

Smutna odpowiedź - oba. W 2019 najpopularniejszą ofertą na rynku był Full Stack Developer (Java + Angular). A jak wiadomo Angular to framework frontowy w JS/TS.
Wiele firm zatrudnia Full Staków czyli osoby i backend napiszą (w tym wypadku w Javie) i frontend napiszą (w tym wypadku w Angularze). Ofert na tylko backendowców jest coraz mniej, więc niestety radzę uczyć się obu tych języków, ale oczywiście Javy bardziej :P

3

Java developer ma znać 3 języki (tak mówią starzy wyjadacze 10lat expa):
Java
JavaScript
Angielski

O angielskim to już 10 lat temu mówił Seliga

Bez emocji, tak to wygląda.

Starych wyjadaczy cenię, słucham, korzystam z ich rad, bo są mądrzy i doświadczeni

2

Głównie chodzi mi o Javę, a konkretniej o jej przyszłośc - czy będzie wciąż rozbudowywana, ulepszana.

Ja to bałem się o Javę w 2013 jak Javy 8 nie umieli wypuścić, oraz 2016 jak Javy 9 nie umieli wypuścić. Od 2017 regularnie wydają nowe wersje.
Oczywiście Java jest w tyle za takimi językami jak Kotlin czy Scala, ale ogromną zaletą JVMa jest to że łatwo można łączyć te języki i często można spotkać oferty na programistę Java/Kotlin bo stare legacy jest w Javie, a nowe mikroserwisy piszą w Kotlinie

0

Czy myslicie ze java bedzie 2gim cobolem?

0

Java jest jak banki na Wall Street. Jest za duża żeby upaść.
Jeden Lehman Brothers można poświęcić ale reszta żyje i zarabia grubą kasę.

Banki po covid 2020 są jeszcze bogatsze i lepiej rozwinięte jak wcześniej i dostosowały się do zmian wywołanych kryzysem 2008 roku

2

Biznesowo to oba języki mają różne charakteryski.

W przypadku js będziesz obsługiwał front, często też robił do niego wygląd, możliwe, że też będziesz stylował stronki i w głównej mierze kodował rzeczy o powierzchownym znaczeniu, łatwiejsze do wyoutsourcowania, i mimo, że praca wydaje się prosta to ta tego typu praca potrafi być naprawdę irytująca, bo chociaż głównie logika jest trywialna to narzędzia jakie przyjdzie Ci używać będą praktycznie na każdym kroku Cię zawodzić, ciężko to opisać bez posiłkowania się wulgaryzmami. Oczywiście kasa jest fajna, bo jest tutaj praktycznie 4 razy mniej nauki w porównywanie z backendowcem, a kasę masz często taką samą. Jednak byś nie podją zbyt podchopnej decyzji dodam, że na froncie praktyczne wszystko często się zmienia i wartość wiedzy jaka zdobędziesz będzie tracić na znaczeniu więc nauka rozłoży się na wieki i będziesz musiał uczyć nowych frameworków lub tych samych ale z nową wersją, a jeśli tego zaniechasz to Twoja sytuacja na rynku po prostu znacząco się pogorszy.

W przypadku javy natomiast będziesz robił backend, operował na bazie i w głównej mierze będziesz robił rzeczy o których typowy użytkownik ani razu nie pomyśli, a tym bardziej nie doceni. Same projekty będą większe (na tyle większe, że idzie ich włozyć całych do głowy), spotkasz w nich bardziej złożone techniki, i jako programista doświadczysz więcej ciekawych problemów. Programista java jest trochę przeciwieństwem javascriptu, bo on za bardzo nie podąża za nowinkami więc tutaj jest większa szansa, że ten czas lepiej wykorzystasz :)

0

@pan_krewetek:

A taki pierwszy z brzegu Node.js na to się już sfajczył jak hotel Pawłowicz albo Lidl "na zajezdni metra"?

JS jest wszędzie, i na froncie i na backendzie. Nawet jak coś poleciało na Marsa to maczał w tym palce javascript.

Nawet tu jest Js
https://en.wikipedia.org/wiki/Espruino

4
AnyKtokolwiek napisał(a):

Wcześniej czy póżniej i tak poznasz kilka języków (raczej wcześniej) ...

Na etapie "wiem trochę" martw się bardziej, by się nauczyć PROGRAMOWANIA, myślenia jak programista itd.

LukeJL napisał(a):

Ostatnio strasznie popularny jest Python - elegancki, czytelny, ma biblioteki do Machine Learning, ale również frameworki webowe takie jak Django czy Flask itp. No ale wiadomo, że ma swoje wady.

Sądzę, że na etapie uczenia się programowania ogólnie, uwolnij się od szybkiego wyboru ścieżki zawodowej (i blokowania drugiej).
Python jest bdb do nauki
(nie chcę na tym etapie specjalistycznie porównywac do zalet i wad obu wspominanych).
Umiejąc PROGRAMOWAĆ będziesz w lepszej pozycji do tego "fundamentalnego" wyboru.

EDIT: plus zobaczysz, co cię bardziej "jara"

1

Jedna mieszka w kryptach a druga w korpo, zależy jaki klimat wolisz. W kryptach jest zabawniej ;)

2
AnyKtokolwiek napisał(a):

Sądzę, że na etapie uczenia się programowania ogólnie, uwolnij się od szybkiego wyboru ścieżki zawodowej (i blokowania drugiej).

This. W zasadzie na tym etapie (na późniejszych też) najlepiej poznać kilka języków, żeby nauczyć się w różny sposób pisać. I żeby nie mylić naleciałości językowych z koncepcjami (np. OOP - w każdym języku to trochę inaczej wygląda i pisząc OOP tylko w jednym języku zaczynasz mylić konkretny sposób realizacji OOP z samą koncepcją programowania obiektowego).

0

Python też po głowie mi chodzi. Ale ja mam tendencję do przerzucania się z czegoś czego zacząłem się uczyć na coś czego chciałbym zacząć się uczyć, dlatego skupię się na jednym i będzie to chyba Java. Ogarniając Javę łatwiej jest ogarnąć Pythona, czy na odwrót? Czy bez różnicy?
Zastanawiam się też czy idąc w Javę nie będę skazany na pracę w branżach finansowych, jak banki, firmy tradingowe itp, bo z tym mi się w sumie głównie Java kojarzy, ale tak nie do końca te obszary mnie interesują.

0
netheaton napisał(a):

Zastanawiam się też czy idąc w Javę nie będę skazany na pracę w branżach finansowych, jak banki, firmy tradingowe itp, bo z tym mi się w sumie głównie Java kojarzy, ale tak nie do końca te obszary mnie interesują.

Być może, jak rynek będzie się rozwijać w tym kierunku w jakim idzie po pandemii Capegemini, to nie nie będzie ci groziło "bycie skazanym na te obszary".

0
netheaton napisał(a):

Python też po głowie mi chodzi. Ale ja mam tendencję do przerzucania się z czegoś czego zacząłem się uczyć na coś czego chciałbym zacząć się uczyć, dlatego skupię się na jednym i będzie to chyba Java. Ogarniając Javę łatwiej jest ogarnąć Pythona, czy na odwrót? Czy bez różnicy?

jeden jest sztywno typowany (java), drugi miękko (python).
Ja się lepiej czuję w sztywnym typowaniu, wszelkie literówki, sprzeczności koncepcyjne (dodawanie jabłek do pomarańczy) najczęściej wychodzą podczas kompilacji. Kosztuje to więcej linii kodu.

Miękkie typowanie przedłużysz potem do JS, ale w Pythonie jest to zdrowiej zrobione.
W JavaScripcie, jak pisał @LukeJL nie odróżnisz co jest naleciałością, a co rdzeniem, istotą.

2
AnyKtokolwiek napisał(a):

jeden jest sztywno typowany (java), drugi miękko (python).

Nie wiem, czy miękko, bo Python wbrew pozorem jest językiem silnie typowanym, tyle, że jest to dynamiczne typowanie i jest stosowany duck typing. Tym niemniej wartości mają swój określony typ i nie możesz nawet dodać liczby do stringa, bo masz TypeError, jeśli nie przekonwertujesz.

0 użytkowników online, w tym zalogowanych: 0, gości: 0