• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Wyjaśnijcie mi fenomen Javy

Object Storage Arubacloud
+1 głos
637 wizyt
pytanie zadane 9 sierpnia 2020 w Java przez J0ker Pasjonat (15,400 p.)
zamknięte 27 sierpnia 2020 przez J0ker
Cześć.

Nie rozumiem fenomenu języka Java.

Napisanie w nim Hello World trwa 20 sekund podczas gdy w Pythonie 5, a w innych językach 5-15 sekund, a potem tendencja zdaje się powiększać przy większych programach. Z javą trzeba się bardziej babrać przy instalacji, dokumentacja Pythona też bardziej mi się podoba. Java należy do potężnej korporacji - nie jest open source, nadaje się tylko do programowania obiektowego, jest powolna, nie widzę żadnej przewagi tego języka nad jakimkolwiek innym językiem w czymkolwiek. A już najbardziej nie rozumiem polecania jej jako PIERWSZY język programowania.

Więc pytam programistów Javy, bo ja jestem noobkiem który zadaje prymitywne pytanie - na czym polega fenomen Javy? Czy siła lezy w przyzwyczajeniu albo potężnych framerowrkach, a sam goły język bez frameworków nie jest aż tak dobry jaką ma opinię?
komentarz zamknięcia: Dostałem odpowiedź.
komentarz 9 sierpnia 2020 przez J0ker Pasjonat (15,400 p.)
No i po zainstalowaniu JDK nadal nie działa mi nawet komenda javac do skompilowania HelloWorld, a 3 posty na StackOverflow nic nie dały mimo zastosowania się do tego co tam napisano.
komentarz 9 sierpnia 2020 przez Wiciorny Ekspert (269,710 p.)
ale to, że coś jest trudne dla Ciebie i Ty sobie nie radzisz nie powoduje, że język jest zły ... i PO CO ON JEST... :)
C++ jest bardzo trudno i co, tez powinniśmy z niego rezygnować na rzecz pythona? Programowanie to nie ma być cukierek i takie nie jest ... a jeśli Tobie to taki problem stwarza, to pomyślałbym, czy dobrą drogą idziesz.
komentarz 9 sierpnia 2020 przez J0ker Pasjonat (15,400 p.)
No to prosze napisać co jest dobrego w tym języku. Bo w Brainfucku też mi pewnie by nie szło dobrze, a jednak nie powie Pan, że to dobry język.
4
komentarz 9 sierpnia 2020 przez adrian17 Ekspert (344,860 p.)

jest powolna

?

nie widzę żadnej przewagi tego języka nad jakimkolwiek innym językiem w czymkolwiek

Może nie widzisz dlatego, że Twoja znajomość Javy jeszcze nawet nie sięgnęła poziomu Hello Worlda...?

komentarz 9 sierpnia 2020 przez J0ker Pasjonat (15,400 p.)
A Pan ponownie nie poda nawet jednej, może ich nie ma?
komentarz 9 sierpnia 2020 przez niezalogowany
Ja podam Panu jedną najważniejszą cechę Javy, której nie mają pozostałe języki jest nią wielo-platformowość przez co nie jest szybkim językiem i nie nada się do programowania np. rakiet kosmicznych lub samochodów gdzie potrzebny jest szybki czas reakcji lecz programy napisane w tym języku można "napisać raz i uruchomić wszędzie". I też jak niektóre osoby, które pisały komentarze wcześniej nigdy nie słyszałem żeby język oceniali za czasem napisania programu "Hello world!".

Pozdrawiam!
komentarz 10 sierpnia 2020 przez Wiciorny Ekspert (269,710 p.)
Scala, C# też jest wielkoformatowe :) więc o ile zgadzam się z tym, że jest to ważne, to niczym nie wyróżnia na obecną chwilę

4 odpowiedzi

+4 głosów
odpowiedź 9 sierpnia 2020 przez miro Pasjonat (23,870 p.)
Jak porównujesz języki ze względu na to jak szybko napisać hello world to nic dziwnego, że nie widzisz plusów Javy.

Tam gdzie wytykasz minusy to mogą być duże plusy jak popatrzysz na to z innej perspektywy. To, że java jest toporna to wynika też z jej zalety jaką jest wsteczna kompatybilność, czego nie możesz powiedzieć o Ptythonie. Oracle raczej nie pozwoli sobie na takie głupoty jak zamiana terminologii, bez poważnej przyczyny (patrz master/slave). Silne typowanie i pewna struktura projektu jest też plusem.

Największą zaletą wg. mnie to właśnie sama popularność języka, przez co całe środowisko jest ogromne, a znalezienie pracownika jest mniejszym problemem porównując do innych języków.
+2 głosów
odpowiedź 9 sierpnia 2020 przez mbabane Szeryf (79,280 p.)

jest powolna

Java vs C https://youtu.be/GXyM7IOTXOM?t=694

komentarz 9 sierpnia 2020 przez Wiciorny Ekspert (269,710 p.)
No wiesz, sprowadzając problem do "Hello worl'da|" :D to  faktycznie kolega mógł się wypowiedzieć z racją  :D
komentarz 9 sierpnia 2020 przez Cixo Gaduła (4,070 p.)
edycja 9 sierpnia 2020 przez Cixo

@mbabane, zależy też od zastosowania szybkość języka, to jak JVM wykona ten kod, zobatrz na fps w Minecraft Java a ten windows 10 editnio (c#) w10e jest 4 razy lżejszy, wiec no

Albo raspberry pi zero, tam javy nawet nie ma jak odpalić za bardzo jedynie jakąś starą, a c++ kompiluje się i świetnie działają napisane w nim programy, Java jest wolniejsza nie ma co ukrywac, jedynie ta różnica szybkosci jest różna w zależności od zastosowania, tam są obliczenia na ciągu liczb, gdzie akurat ta różnica duza nie jest

komentarz 9 sierpnia 2020 przez mbabane Szeryf (79,280 p.)
Zastosowanie JVM to nie gry i systemy wbudowane. Użycie do tego typu rzeczy javy nie jest zbyt mądre według mnie.
1
komentarz 10 sierpnia 2020 przez draghan VIP (106,230 p.)

Zastosowanie JVM to nie gry i systemy wbudowane. Użycie do tego typu rzeczy javy nie jest zbyt mądre według mnie.

Inżynierzy stojący za rozwojem powszechnej telekomunikacji mieli w tym wgzlędzie inne zdanie. :) Platforma Java Card jest używana np. w kartach SIM.

komentarz 10 sierpnia 2020 przez Cixo Gaduła (4,070 p.)
Chciałem tylko tym przykładem pokazać że Java wcale taka lekka i szybka znowu nie jest, i natywny program w C++, czy innym języku kompilowanym ma jak najbardziej sens, i się wykona szybciej, zużyje mniej pamięci, itd itd.
komentarz 10 sierpnia 2020 przez mbabane Szeryf (79,280 p.)
Generalnie początkowe założenia Javy były trochę inne niż teraz. Java Card za bardzo nie znam, czytając o tym jakieś ogólne informacje dochodzę do wniosku, że jest to JVM bardzo specyficznego przeznaczenia i nie do końca jest tożsamy z Java SE. Aczkolwiek nadal jest to jakaś forma Javy, co potwierdza też jak duże jest środowisko JVM.

Dodam jeszcze adnotacje do systemów wbudowanych. Aktualnie, od Java 9, można robić małe JVM'y wybebeszając Jave SE z niewykorzystanych modułów, co może przyczynić się do użycia JVM własnie w systemach wbudowanych.
komentarz 10 sierpnia 2020 przez Cixo Gaduła (4,070 p.)
Ale to już strasznie śmierdzi sztuką dla sztuki, to już w tym czasie przygotowywania przestarzałej wersji JVM można napisac ten kod w C++ i mieć spokuj, i dalej on (ten w C++) będzie szybszy
komentarz 10 sierpnia 2020 przez Wiciorny Ekspert (269,710 p.)
ale tu nie tylko chodzi o szybkość ale i elastyczność której C++ nie ma, a nawet C# nie ma... bo c# jest silnie zależny od platformy .NET
komentarz 11 sierpnia 2020 przez Cixo Gaduła (4,070 p.)
C++jest bardzo elastyczny starczy mieć kompilator na tą platformę
+1 głos
odpowiedź 9 sierpnia 2020 przez jankustosz1 Nałogowiec (35,880 p.)
Java jest ogromnie popularna i powszechnie używana z kilku powodów.

1) Historycznie była jednym z pierwszych porządnych języków programowania, z tego powodu wiele wielkich projektów było i jest w niej pisanych i do dzisiaj są rozwijane, powstało wielu programistów javy którzy są w niej teraz ekspertami i nie mają żadnego powodu by się przerzucać na inny język.

2) Języku nie ocenia się po hello worldzie, bo takim tokiem rozumowania, to bash jest najlepszy, bo wystarczy echo "Hello World". Przede wszystkim java jest porządna, sprawdzona, bezpieczna, powstała do niej masa bibliotek itd. I co jest ważne to zarządzanie dużymi projektami, debuggowanie ich itp.  

3) Jest szybsza od pythona jeżeli chcesz to porównywać

Choć ja bym polecał c#(który jest bardzo podobny do javy), bo wydaje mi się bardziej nowoczesny i Microsoft tworzy mu świetny ekosystem.
0 głosów
odpowiedź 10 sierpnia 2020 przez J0ker Pasjonat (15,400 p.)
No dobrze, podali Państwo tutaj i na discoradzie kilka zalet Javy.

3 największe podane zalety to:

- wsteczna kompatybilność

- wieloplatformowość (write one, run everywhere)

- duża ilość użytkowników.

Przeanalizowałem te zalety dzisiaj i doszedłem do wniosku, że wszystkie 3 są zaletami dla firmy,korporacji zatrudniającej programistów Javy, a nie dla samego programisty-jednostki, pojedynczego człowieka.

Dlaczego:

- wsteczna kompatybilność sprawia, że firma może gładko wymienić zespół pracujący nad danym produktem. Z punktu widzenia programisty to po prostu inna praca do wykonania niż pisanie od nowa, ale nie znaczy, że łatwiejsza czy lepsza

- multi sprawia, że firma zatrudni jeden zespół programistów do danego produktu zamiast 3 cy 4; bo wiadomo, że gdyby na każdą platformę pisano osobny program to raczej zatrudnionoby tyle zespołów co platform, a nie tak, że jeden zespół pisze na każdą platformę po kolei. Zatem to zaleta dla firmy. Pojedynczy programista i tak pracuje nad jedną platformą w danej chwili - czy to w tej firmie, czy w innej.

- wreszcie duża baza użytkowników to łatwe znalezienie nowego pracownika - programisty Javy. Dla pojedynczego człowieka to po prostu 10k kursów i ksiażek zamiast 1k kursów i książek, a i tak wybiera się jedno lub góra kilka.

 

A gdzie zalety Javy dla pojedynczego człowieka, dla jednostki?
komentarz 10 sierpnia 2020 przez draghan VIP (106,230 p.)

A gdzie zalety Javy dla pojedynczego człowieka, dla jednostki?

Wszystko o czym piszesz ma dwie strony. Kto powiedział, że jeśli coś jest dobre dla korporacji (cokolwiek to nie znaczy), nie jest też dobre dla pojedynczego programisty na rynku?

- wsteczna kompatybilność: nie musisz się przejmować, czy projekt który napisałeś 3 lata temu będzie działał i dziś; możesz względnie długo egzystować na rynku pracy, bez podnoszenia poziomu znajomości technologii,

- wieloplatformowość (write one, run everywhere): (tutaj naprawdę jestem zaskoczony, że muszę to pisać) możesz łatwo rozszerzyć dostępność swojego oprogramowania o kolejne platformy i nie musisz się martwić o różnice,

- duża ilość użytkowników: masz ogromną bazę do nauki i dużą społeczność chętną do pomocy; poza tym rynek zawsze potrzebuje programistów Javy, więc łatwiej o pracę kiedy jesteś z nią zaznajomiony.

Podobne pytania

0 głosów
4 odpowiedzi 434 wizyt
0 głosów
3 odpowiedzi 542 wizyt
pytanie zadane 3 sierpnia 2018 w C i C++ przez multim Obywatel (1,830 p.)

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...