Java czy JavaScript+front

0

Witajcie,
Otóż borykam się z wyborem języka programowania. Bardziej nie znam zastosowania Javy, niż problemów z nim związanych. Przesukałem masę for i nie znalazłem odpowiedzi na moje pytanie, które brzmi:

Czy JAVĘ mogę zaaplikować w przeglądarce internetowej? Czy aplikacje w javie są tylko dekstop bądź mobile?

Wiadomo, coraz więcej technologii desktop są wypieranych przez rozwiązania webowe. Do web developerki stosujemy javescript, php czy też pythona, ale czy można JAVĘ?

Tutaj właśnie stoję na rozdrożu, bo docelowo chciałbym tworzyć systemy, którę wdrożę właśnie w internet! Wiadomo, łatwiejszy próg wejścia oraz efekty widać Od razu. Nie spotkałem się z żadną stronką, która ma zaplecze na JAVIE. Czy moglibyście pomóc?

Java jest moim pierwszym językiem programowania i powiem nie jest łatwo. Nie chce wybaczać błędów.

0

95% softu w javie to są aplikacje webowe, wiec zupełnie nie rozumiem pytania.
Ale w javie nie pisze sie "stronek" tylko aplikacje webowe. Więc blog pani kasi w javie nie będzie, ale np. aplikacja do wyszukiwania i bookowania lotów już tak. No i skąd wiesz że dana aplikacja akurat nie jest w javie? Po czym to niby poznajesz? Po czym poznajesz ze np. to forum nie jest napisane w javie? (nie jest, ale przecież mogłoby być)

0
95% softu w javie to są aplikacje webowe, wiec zupełnie nie rozumiem pytania.
No właśnie dlatego założyłem ten topic. Nie wiedziałem, że Java może służyć do WEBowych konstrukcji.
Ale w javie nie pisze sie "stronek" tylko aplikacje webowe.
Dokładnie o to mi chodziło, stronkę napiszę sobie na WP bądź Boostrapie, ale zaplecza do mierzenia lotów czy rezerwacji biletów lotniczych już nie - o to dokładnie mi chodziło.
Po czym poznajesz ze np. to forum nie jest napisane w javie? (nie jest, ale przecież mogłoby być)
No właśnie nie mam pojęcia na czym. Byłem przekonany, że Java to jak C++ czy inne desktopowe języki.

Dzięki za rozjaśnienie mojego umysłu :)

0

Od biedy i w C++ można przecież zrobić backend do webu, bo czemu nie? Jeśli kod w C++ będzie wystawiał jakieś RESTowe serwisy to nie widzę powodu żeby nie dało sie do tego podpiąć jakiegoś frontendu w javascripcie i mieć aplikację webową C++/javascript. Pewnie nietypowe, ale mimo wszystko zupełnie wykonalne.

0

Chodziło mi bardziej o to żeby nie zrazić się do JAVY na początku swojej nauki. Chciałbym robić aplikacje typowo pod WEB, ale czy do tego nie wymagana jest znajomość czegoś dodatkowo poza JAVA+HTML+CSS?

0

Tak, żeby robić sensowne aplikacje musisz się nauczyć JavaScriptu (na frontend). Backend może być w Javie. NIe wiem co chcesz robić, ale w typowych aplikacjach webowych większość kodu jest we froncie (CSS, JS, HTML). Backend (server, który możesz zrobić w Javie) - to taki dodatek.

0

Chodzi mi o to co mój poprzednik wspomniał.
Docelowo chciałbym na przykład stworzyć portal z ofertami pracy (ala'pracuj.pl), gdzie użytkownik może wyszukać oferty pracy i dodać nową. Czy takie skrypty dam radę napisać w JAVie?

0

Coś ala pracuj pl dasz radę zrobić. Dawno temu (16 lat temu) pracuj.pl był zrobiony w Javie :-).
Ale uwaga Java (to jak na razie) nie skrypty. JavaScript to inny język - nawet nie podobny.

0

ale w typowych aplikacjach webowych większość kodu jest we froncie (CSS, JS, HTML). Backend (server, który możesz zrobić w Javie) - to taki dodatek.

Od kiedy? o_O Może nie mam tyle doświadczenia co ty, ale w większości projektów przy których pracowałem frontend to był niewielki % całego projektu. Nie mylisz sobie aplikacji webowych ze stronami internetowymi? ;]

0

@Shalom - tak Ci się pewnie zdaje. Tez mi się tak zdawało jak się tylko backendem zajmowałem i jak robiłem go durnie ( czyli standardowa architektura korporacyjna nr 1 -> dużo kodu powstaje).

0

Więc jak w końcu jest z tą Javą, bo mam już mętlik...

0

Użyj JavaScriptu (=/= Java), odpalisz skrypty po stronie klienta i serwera - Node.js, albo Lambdy na AWS.

0

To w takim razie do czego sluzy Java?

0

Java jest na serwerze (to może byc twoj PC), logiczne jest ogarnąć jeden język niż dwa. Przy rozbudowanym UX, też się napocisz (html/css/ajax/...)

0
morek900 napisał(a):

To w takim razie do czego sluzy Java?

Koledzy trochę Ci nakręcili w głowie ;) Java to potężny język, w którym tworzy się przede wszystkim duże (duuuuuże) i dobrze skalowane systemy
z webowym front-endem również. Ma do tego frameworki (lekkie, ciężkie, do wyboru, do koloru), serwery aplikacyjne (od lekkiego Springa, czy Sparka, po potęgi typu IBM Websphere czy Weblogic) i masę (MASĘ!) wspomagających narzędzi i sprawdzonych wzorców projektowych. 90% systemów bankowych, platform typu Allegro,
czy dużych portali publicznych (ePUAP, CEPIK, Geoportal) - to systemy w Java Enterprise (czyli sporo logiki, bebechów, obsługa bazy danych, webserwisów, kolejek, transakcji, bezpieczeństwa i pierdyliarda innych rzeczy).

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. To wygrzana i stabilna platforma głównie do krytycznych zastosowań. 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), nieco bałaganiarski język, który wymaga wspierania się transpilatorami (pomiędzy ECMAScript5 a 6), kompilatorami do JavaScriptu (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).... 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 :) 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 :-)

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:

http://www.primefaces.org/showcase/index.xhtml

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) 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ć...

Reasumując: na szybko, do małej rzeczy - wygodniej Ci będzie użyć JavaScript (+ node.js + angularek). Jeśli interesują Cię duże systemy, mające frontend webowy + gruby klient + porządne skalowanie i duża baza w tle - to Java długo jeszcze będzie na tym polu rządziła (i długo jeszcze będzie ją gonił C# ze swoim .NET) ;-)

0

@MarekFalz:

Dziękuje Ci Marku za bardzo obszerną odpowiedź na mój wątek. Od dłuższego czasu nigdzie nie mogłem znaleźć odpowiedzi na moje nurtujące pytania. Java spędzała mi sen z powiek.

Wiem tylko, że Java jest językiem korporacyjnym do ogromnych przedsiębiorstw. Swoją karierę programisty właśnie w takich molohah korporacyjnych planowałem, lecz przy nauce JAVY coraz bardziej mnie ona odstrasza. Jest według mnie bardzo skomplikowana i tak jak napisałeś, posiada bardzo wysoki próg wejścia. Starałem się uczyć z dostępnych mi źródeł takich jak :
http://javastart.pl/ czy kobietydokodu.pl/.

Lecz strasznie zraziłem się do tego języka ponieważ mało rzeczy mi w nim zaczęło wychodzić a jestem dopiero na początku nauki. Mam wrażenie, że bez znajomości na przykład C++ czy innego języka programowania nie mam co zabierać się do Javy.

Swoje początki pisania jakiś pierdół rozpoczynałem z HTML i CSS gdzie było od razu widać efekt mojej pracy.

Chciałbym być programistą z prawdziwego zdarzenia, pracować w ogromnej korporacji i robić rzeczy, o których inni tylko marzą. Wiem, że jest to masa wyrzeczeń i ciągłej nauki.

Wracając do JavaScriptu, bardzo nie podoba mi się to, że jest on napisany na szybko. Ale dobrze stwierdziłeś, że jest to język, który w obecnych czasach jest "TOP TRENDY" :)

Swoich sił próbowałem w PYTHONIE, ale docelowo chciałem brnąć w JAVĘ także moją naukę zaprzestałem.

Czy jako programista, masz jakieś dogodne źródła do JAVY o niskim progu wejścia. Najlepiej żeby wszystko było wytłumaczone jak dla "debila", który nigdy nie miał styczności z językami obiektowymi i programowania.

Ze swojej strony bardzo przepraszam za męczenie "buły". Jestem dopiero na początku i to wszystko jest dla mnie nowością.

1

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ł ;)

0

Ja ucze sie js-a juz od ponad roku i pracuje teraz w tym. Akurat jestem js-devem, trudniejsze taski cssowe trafiaja do kogosc innego, ja zajmuje sie logika + prostsze / srednie wyzwania cssowe i jest to mega spoko, jednoczesnie ucze sie javy i w przyszlosci chcialbym rownoczesnie pisac w tym i tym. Dobry programista zna wiecej niz jeden jezyk ;)

0
Złoty Ogrodnik napisał(a):

Ja ucze sie js-a juz od ponad roku i pracuje teraz w tym. Akurat jestem js-devem, trudniejsze taski cssowe trafiaja do kogosc innego, ja zajmuje sie logika + prostsze / srednie wyzwania cssowe i jest to mega spoko, jednoczesnie ucze sie javy i w przyszlosci chcialbym rownoczesnie pisac w tym i tym. Dobry programista zna wiecej niz jeden jezyk ;)

Znać język to jedno ale fullstack to bzdura.
Dziwny podział, żeby koleś od JS nie robił CSSów.

0

Znać język to jedno ale fullstack to bzdura.
Dziwny podział, żeby koleś od JS nie robił CSSów.

Nie wiem, nie jestem jeszcze full stackiem.
Robie cssy, ale jesli jest cos bardziej zaawansowanego, to trafia do kolegow, a ja zgarniam js-a. Pracujemy w kilku osobowym teamie i jeden zna lepiej to, drugi to, wiec co widzisz w tym dziwnego ? Jakby ktos chcial sie rozwinac w tym co kolega, nie ma problemu.

0

Poza tym, ja jestem przydzielany do aplikacji firmowych, nie stronek www. Tam taki podzial ma sens, jakby kolega nie wiedzial.

0
morek900 napisał(a):

Lecz strasznie zraziłem się do tego języka ponieważ mało rzeczy mi w nim zaczęło wychodzić a jestem dopiero na początku nauki. Mam wrażenie, że bez znajomości na przykład C++ czy innego języka programowania nie mam co zabierać się do Javy.

C++ absolutnie nie jest Ci do nauki Javy potrzebny. Zupełnie inna filozofia, wielodziedziczenie, przeciążanie operatorów, ręczne zarządzanie
pamięcią i masa rzeczy - która w Javie nie występuje i nigdy nie będzie Ci potrzebna. Do tego w Java 8 masz mechanizmy funkcyjne, predygaty, strumienie itd,
które oddalają ten język od filozofii C++ kompletnie...

Czy jako programista, masz jakieś dogodne źródła do JAVY o niskim progu wejścia. Najlepiej żeby wszystko było wytłumaczone jak dla "debila", który nigdy nie miał styczności z językami obiektowymi i programowania.

Prawdę mówiąc jak zupełnie zaczynasz, to warto zainwestować w bardzo dobre książki. Uwzględniając nowe rzeczy w Java 8 polecam ze swojej strony:

http://helion.pl/ksiazki/java-podstawy-wydanie-x-cay-s-horstmann,javp10.htm (idealna dla zupełnie początkujących)
http://helion.pl/ksiazki/java-8-przewodnik-doswiadczonego-programisty-cay-s-horstmann,jav8pd.htm (kolejna po pierwszej)

A później to już w zasadzie dokumentacja, mnóstwo dobrych podcastów i filmów na youtube i przede wszystkim zaczynanie od małych rzeczy
(tzn nie rzucaj się od razu na duże frameworki i Java Enterprise, zacznij np. od zabaw z GUI przy pomocy JavaFX, później spróbuj lekkiego
webowego frameworka (świetny): http://sparkjava.com/
itd...

Warto podglądać pewne rozwiązania na: http://howtodoinjava.com/

Poza tym społeczność Javy, ilość konferencji, publikacji itp jest kolosalna. Raczej nie będziesz miał problemów :-)

0
Maciej Cąderek napisał(a):

Poza tym, że oprócz Tiobe to na pierwszym miejscu jest JS:

Nie tylko Tiobe. Java jest na pierwszym miejscu w wielu rankingach:

http://pypl.github.io/PYPL.html
http://www.codingdojo.com/blog/9-most-in-demand-programming-languages-of-2016/

...ale nie ma co się przerzucać rankingami. Java jest popularna od lat 20 i jest po prostu solidną platformą do wielu zastosowań.

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.

To nie tak :) Ja nie pisałem o samym Node.js czy Angularze, które są już ustabilizowane, ale o masie przeróżnych frameworków i zabawek, które wyrastają jak grzyby po deszczu. O tym, że tworząc cokolwiek w JS, musisz uwzględniać ES5, ES6 oraz to,  że co większy framework w JS to inna składnia. O tym  że debagowanie
jest jakie jest i właśnie MUSISZ się wspierać ESLintem i podobnymi. Wystarczy poczytać jak męczą się z tym JavaScriptowcy (hint: google: Javascript Fatigue)
i nie atakować od razu "upośledzonymi" albo "jakbyś się orientował". Mniej emocji proszę i mniej "ad personam". Zresztą ja piszę o odczuciach, jakie w mojej
firmie mają JavaScriptowcy, siedzący w Node.js i frontendzie od kilku lat.

Ja rozumiem, że można kochać JS, ale nie można (jak to nazwałeś) zaklinać rzeczywistości. Język nie jest tak dobrze zaprojektowany jak Java, czy nawet Python (mimo wariactwa z wersjami 2 i 3 w Pythonie), co dla początkującego, może być źródłem różnych problemów. Jeśli myślisz że ktoś kto ZACZYNA naukę (a o takiej osobie jest mowa), "jak nie jest upośledzony to spoko będzie "podążał za hypem", to gratuluje wyczucia :-)

Jak już ktoś kręci OP w głowie to raczej Ty, twoja wiedza o JS jest nieaktualna i jesteś mocno nieobiektywny.

Z JS jest ten problem, że wystarczy wyjechac na tydzień urlopu i już jest wiedza nieaktualna :) A tak serio to zauważ, że DORADZAMY
OSOBIE KOMPLETNIE POCZĄTKUJĄCEJ. Moim zdaniem poukładana i ustabilizowana Java z solidnym modelem obiektowym i statycznym typowaniem (dzięki
któremu początkujący nauczy się co to jest system typów i co mu się przyda nawet jak przesiądzie się na język dynamicznie typowany) jest
imho (a wyrażałem własne zdanie) dobrą opcją. Wyjaśniałem mu również do czego jest dzisiaj używana Java, a do czego JS. To że "giganci używają i wspierają Node.js"
nie oznacza że stawiają na nim swoje krytyczne systemy. A na Javie takowe chodzą...

A co do Springa, to w porównaniu do EJB jest lekki nadal (mimo że to nie to samo co dawny Spring), a poza tym nikt nie każe
Ci używać CAŁEGO Springa. Możesz spokojnie użyć Spring JDBC pomijając Spring MVC itd.
Możesz użyć Spring Boota, który w porównaniu z pełnym Springiem np. jest lekki i przyjemny: https://projects.spring.io/spring-boot/
Chcesz jeszcze lżejsze - masz Sparka, masz Play itd, itd. Lekki/Ciężki zawsze zależy od kontekstu i tego
do czego się porównuje. Jak ktoś przez kilka lat walczył z Weblogikiem i EJB - traktuje Spring boota jak przyjemną zabawkę :-)

0

Dziękuje bardzo za komentarze! Jest tutaj masa nowych pojęć dla mnie, o których do dnia dzisiejszego nie miałem żadnego pojęcia!

Odniosę się do komentarza Marka:

Prawdę mówiąc jak zupełnie zaczynasz, to warto zainwestować w bardzo dobre książki. Uwzględniając nowe rzeczy w Java 8 polecam ze swojej strony:

http://helion.pl/ksiazki/java-podstawy-wydanie-x-cay-s-horstmann,javp10.htm (idealna dla zupełnie początkujących)
http://helion.pl/ksiazki/java-8-przewodnik-doswiadczonego-programisty-cay-s-horstmann,jav8pd.htm (kolejna po pierwszej)

Kupiłem już książkę podobno bardzo dobrą dla początkujących:
http://helion.pl/ksiazki/java-przewodnik-dla-poczatkujacych-wydanie-vi-herbert-schildt,javpp6.htm

Niestety, dla zielonego takiego jak ja, jest tam masa nowości, które mnie przytłaczają.

Z JS jest ten problem, że wystarczy wyjechac na tydzień urlopu i już jest wiedza nieaktualna :)

Dla mnie jest to mega bolączka, ponieważ nie jestem zawodowym programistom i w wolnych chwilach bym coś pisał. Co innego, jeżeli ktoś codziennie w pracy siedzi i ma możliwości na śledzenie nowinek.

Chyba zacznę od czegoś łatwiejszego żeby w ogóle liznąć to programowanie. Jeżeli dam radę konstruować coś w web dev w Pythonie, to tak zrobię.
Posiadam nawet dwie książki:
http://helion.pl/ksiazki/python-wprowadzenie-wydanie-iv-mark-lutz,pytho4.htm
http://livro.pl/python-dla-kazdego-podstawy-programowania-dawson-michael-sku1100574246.html?gclid=CJ3llrGm6NECFUW1GAodUSUOmg&gclsrc=aw.ds

Ale jak to ze mną, liznąłem troche, pogrzebałem, nie spodobało mi się to, że nie miałem IDE to rzuciłem to. Nie doszedłem nawet do tego jak aplikować aplikację na serwer. Następnie liznąłem Jave (oczywiście najpierw potrzebowałem środowisko... U mnie jest taki problem, że najpierw szukam interfejsów, programów IDE itp, zamiast zacząć kodzić...)

To nie tak :) Ja nie pisałem o samym Node.js czy Angularze, które są już ustabilizowane, ale o masie przeróżnych frameworków i zabawek, które wyrastają jak grzyby po deszczu. O tym, że tworząc cokolwiek w JS, musisz uwzględniać ES5, ES6 oraz to, że co większy framework w JS to inna składnia. O tym że debagowanie
jest jakie jest i właśnie MUSISZ się wspierać ESLintem i podobnymi. Wystarczy poczytać jak męczą się z tym JavaScriptowcy (hint: google: Javascript Fatigue)

Tego to już w ogóle nie rozumiem, żadnego ze stwierdzeń jak ES5,ES6 i ESLint, Fatigue itp... Trzeba zacząć się interesować.
Tak to jest jak ktoś dłubał tylko w html+css+bootstrap .... apetyt rośnie w miare jedzenia. :)

0

Nie chciałbym tutaj wywoływać shitstormu z dyskusją, który język lepszy, który jest najlepszy itp. Stworzyłem ten topic ponieważ pogubiłem się, a internet nie dał mi satysfakcjonującej odpowiedzi na moje wątpliwości. Od wielu miesiący szukam i błądze :)
Ale tak jak ktoś powiedział: To że nauczę się jednego języka, nie oznacza, że do końca życia muszę w nim siedzieć. Także wybiorę na początek albo kontynuację dalej JAVY, która mi idzie topornie. Albo spróbuję początków w Pythonie. Jak to nie podejdzie to kupię materiały do JS :)

0

Morek. Ja myślę że nie znajdziesz jednoznacznej odpowiedzi na swoje pytanie. Ja mam zupełnie inne doświadczenia i background. Maciek Cąderek ma inne. Co programista to inna historia, inny człowiek i inne zdanie ;)

Ty musisz znaleźć własną drogę i tyle. Pisząc serio - to język jest wtórny bo w KAŻDYM są plusy i minusy. Osoba początkująca moim zdaniem powinna przede wszystkim zaczynać od platformy i języka, które nie rzucą Cię na zbyt głęboką wodę (dlatego odradzałbym zaczynanie od C++ albo funkcyjnego Erlanga) i nauczą dobrych nawyków. Które są dobrze zaprojektowane, mają bogatą biliotekę standardową i dużą, przyjazną społeczność. Do takich języków z pewnością należy i Python, i Java i również JavaScript. Tyle, że JS moim skromnym zdaniem nie jest najlepszym językiem dla osoby początkującej. Ten język to "wilk w owczej skórze". Jest szybki, jest popularny, jest natywnie wpierany przez przeglądarki - ale ma też sporo pułapek. To że ma javo-perlowo-podobną składnię, to tylko przypadek. Semantycznie JS'owi bliżej do języków
funkcyjnych. Obsługuje funkcje jako obiekty pierwszej klasy, domknięcia (closures), ma nietypowy system obiektowy (dziedziczenie prototypowe) itd itp. Sporym
utrudnieniem dla newbie może być generalnie zrozumienie czym jest programowanie asynchroniczne (a to standard na Node.JS).... No i żeby było teraz
jasne... Te mechanizmy po nabraniu doświadczenia dają Ci wielkie możliwości i elastykę. Natomiast osobie zupełnie początkującej mogą nieźle namieszać.
Dlatego zacznij moim zdaniem od Pythona lub Javy - a później (znając już pewne rzeczy i rozumiejąc czym jest lambda, domknięcia i na czym polega asynchroniczna
obsługa I/O) będzie Ci łatwiej pobawić się Node.js, JavaScriptem i poradzić sobie z błędami - które w Javie wyłapie Ci debugger ;-)

0

@MarekFalz: Masz u mnie Piwo! Zapraszam do Wrocławia! Każdemu w tej dyskusji powiniennem postawić piwko, także serdecznie zapraszam (serio) :)

2
MarekFalz napisał(a):

Java to potężny język, w którym tworzy się przede wszystkim duże (duuuuuże) i dobrze skalowane systemy [...] ePUAP, CEPIK, Geoportal

No, po przykładach widać, że jesteś mistrzem ironii.

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)

Oj, już dawno nie jest.

i WARTO znać ten język.

Warto, jeśli jest się w nim pracuje. Głupio być programistą Javy i jej nie znać, chociaż praktyka pokazuje, że nie jest to niemożliwe.
Ale tak poza tym, to jak ktoś w Javie nie pisze, to nie ma po co jej znać. To nie jest Haskell czy Prolog, które warto znać, bo uczą myślenia. To tylko toporny język dla korpoludków. Możliwe prosty, aby każdy przeciętny programista mógł w nim pisać.

Jeśli interesują Cię duże systemy, mające frontend webowy + gruby klient + porządne skalowanie i duża baza w tle

Javę się skaluje, bo tego wymaga biznes, a nie dlatego, że się do tego nadaje. Są języki, które są lepiej przystosowane do skalowania niż Java.
Duża baza to też wynalazek Javowych enterprise architektów, sensu w tym żadnego nie ma, poza tym, że jest "enterprise".

morek900 napisał(a):

Chciałbym być programistą z prawdziwego zdarzenia, pracować w ogromnej korporacji i robić rzeczy, o których inni tylko marzą.

To musisz się zdecydować i wybrać jedno z dwóch. Bo w korporacji jesteś zazwyczaj tylko trybikiem, który odbębnia nudne zadania w typowych projektach - czyli pobierz dane od użytkownika, zapisz do bazy, zrób to zgodnie z wytycznymi jakiegoś idioty tytułującego się architektem i postaraj się nie zasnąć w międzyczasie. To nie jest coś, o czym ktokolwiek by marzył, tym bardziej programista z prawdziwego zdarzenia.

0

Przesadzasz z tymi korporacjami. W małych firmach też może być duża bezwładność. e-podróżnik.pl ZTCW jest dalej oparty o Apache Struts 1, a testów automatycznych praktycznie brak. Szefo ma sentyment do własnego dziecka (tzn kodu źródłowego) i nie chce robić drastycznych zmian. Inwestuje za to dużo pieniędzy w zmyślne algorytmy wyszukiwania tras czy łączenia biletów.

Trzeba się po prostu dowiedzieć jak są prowadzone projekty i wtedy zadecydować. Z tym, że na początku kariery ciężko jest stwierdzić, która oferta jest bardziej rozwijająca, a która mniej. Jednak na początku i tak każdy często zmienia pracę, więc negatywne doświadczenia nie spowodują znaczącego zastoju, a same z siebie coś przyniosą bo będzie wiadomo czego w przyszłości unikać.

0

@somekind: i @Wibowit dziekuje za odpowiedzi. Żeby jako tako dłuvać w web dev, to czy python bedzie Ok? Wdrazam szablony na wp dla klientow i jakis zarobek z tego jest, dlatego mysle o web dev :)

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