Java od dawna i w każdych możliwych rankingach (stackoverflow, github, Tiobe) jest na pierwszym miejscu popularności (czy to się komuś podoba czy nie) i WARTO znać ten język.
Poza tym, że oprócz Tiobe to na pierwszym miejscu jest JS:
http://githut.info/
http://stackoverflow.com/research/developer-survey-2016#most-popular-technologies-per-occupation
http://redmonk.com/sogrady/2016/07/20/language-rankings-6-16/
http://www.modulecounts.com/
JavaScript z kolei to dzisiaj pewnego rodzaju szaleństwo i moda, mnóstwo zmieniających się frameworków (często o krótkim cyklu życia),
Tja, jedyny język wspierany przez przeglądarki, Node.js obecny na rynku od 7 lat, wspierany przez gigantów ( https://nodejs.org/en/foundation/members/ ), oparty na Googlowskim V8, z pewnością to tylko chwilowy hype i moda, która zaraz przeminie. Nie trzeba lubić JSa, ale nie należy zaklinać rzeczywistości.
nieco bałaganiarski język, który wymaga wspierania się transpilatorami (pomiędzy ECMAScript5 a 6), kompilatorami do JavaScriptu
Nic nie wymaga, jakbyś orientował się w temacie to wiedziałbyć, że Node od wersji 6 natywnie obsługuje ES6. No chyba, że mówisz o froncie - tu też nie trzeba transpilować jak wystarczy Ci ES5 lub celujesz w nanowsze przeglądarki, no ale nawet zakładając, że transpilacja jest potrzebna - gdzie tu przewaga Javy?
(bo mało kto chce pisać w tak "bałaganiarskim" języku, więc sporo ludzi pisze w różnych TypeScriptach i kompiluje później kod do JavaScript itd)....
Liczby mówią co innego:
http://stateofjs.com/2016/flavors/
a do tego co framework - to inne podejście i składnia :) Poczytaj sobie o panującym wśród JavaScriptowców tzw "JavaScript fatigue" (sami o tym piszą m.in twórcy Angulara) to zrozumiesz :)
Tzw "problemy pierwszego świata" - ten teks oddaje mniej więcej moje zdanie na ten temat: https://medium.com/javascript-scene/why-im-thankful-for-js-fatigue-i-know-you-re-sick-of-those-words-but-this-is-different-296fae0c888f#.jm2ig9s3t
Tutaj moja odpowiedź na podobny temat: https://4programmers.net/Forum/1319059
Oczywiście próg wejścia w JavaScript jest szybszy, język jest ekspresywny, ale licz się z tym, że co 2-3 miesiące będziesz musiał zmieniać narzędzia i pewnie uczyć się kolejnego frameworka lub kolejnej wersji frameworka :-)
Jeśli jesteś upośledzony i nie potrafisz filtrować danych i nie podążać za hypem.
Teraz co do GUI. Nawet jak tworzysz portal, czy duży system webowy (gdzie backendu i skomplikowanych operacji w tle jest więcej niż GUI'a), to sam GUI, kiedy
system piszesz w Javie - wytwarzasz przy pomocy javowych bibliotek - np. Java Server Faces lub PrimeFaces). Te biblioteki 'generują" tak na prawdę HTML/JavaScript i CSS, który później jest serwowany po stronie klienta. Tutaj przykład możliwości jakie ma Javowa PrimeFaces:
Albo wystawiasz API i front robisz w JS czy jeszcze czymś innym jak człowiek. Piszesz tak jakby generowanie JSa w Javie było najpopularniejszym i najlepszym rozwiązaniem - odnoszę wrażenie, że niewiele osób podziela tą opinię.
Próg wejścia w Javę jest wyższy, bo Java jest bardzo złożona - ale dzisiaj wspomniana Java możliwości ma więcej niż JavaScript (nawet z Node.js , Angular i wieloma innymi)
Nie sądzę, oba języki mają obszary w których sprawdzają się lepiej lub gorzej i oba są wszechobecne.
I co więcej nie ma tylu "pułapek" co w JavaScript, wynikających z tego - że język JS został bardzo niestarannie i szybko zaprojektowany i teraz kolejne standardy ECMA i wspomagacze różnej maści próbują to naprawiać...
I naprawiają z całkiem niezłym skutkiem - nie ma co bawić się archeologię. Co do pułapek - po to powstały lintery by pilnować tego za nas (przynajmniej dużej części).
Jak już ktoś kręci OP w głowie to raczej Ty, twoja wiedza o JS jest nieaktualna i jesteś mocno nieobiektywny. Swoją drogą Java też ruszyłą do przodu i pojawiają się tam ciekawe rozwiązania, a za nazywanie Springa "lekkim frameworkiem" to by Cię pewnie @jarekr000000 wyśmiał ;)