Dlaczego duża część krytykuję Jave ?

0

Witam,
Może ktoś mi wytłumaczyć dlaczego w sieci panuję taki hejt na Jave ? I dlaczego ludzie wypisują głupoty pt. "Java jest wolna", "Java jest niebezpieczna" ?
Z góry dzięki.

2

Ze względu na jej przeszłość. Pierwsze wersje nie pałały szybkością, a aplety osadzone w przeglądarkach nastraszyły ludzi.

0

Java nie ma typów unsigned :P

0

typowy flame jak: konsole/pecety, xbox/ps, android/ios, windows/linux

0

Każdy język ma zwolenników i krytyków (konstruktywnych), ale i krytykantów. Do każdego języka można się o coś przyczepić, a jeżeli jest popularny (Java, JS, C++ itd) to i hejt mocą statystyki będzie częstszy.

0
Sarrus napisał(a):

Java nie ma typów unsigned :P

Signed/unsigned to tylko kwestia interpretacji. Dla tych, którzy naprawdę potrzebują arytmetyki na unsigned, zapewniono odpowiednie statyczne metody, jak np. Integer.compareUnsigned(int x, int y)

0

Ja osobiscie nie lubie javy bo nie ma var ;p

18

Jak to mówią, są dwa typy językow: te, na które ludzie narzekają i te, których nikt nie używa :D

0

Ja nie lubię Javy bo jest trudna i ciężko spamiętać nazwy klas.

4

Jedno jest pewne, ten kto hejtuje Jave nigdy nie programował w RPG czy COBOL.
Ba, nie ma nawet bladego pojęcia co to oznacza.

Z drugiej strony prawdziwy programista by się tymi językami nie skalał ;-)
http://web.mit.edu/humor/Computers/real.programmers
http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html

Ze wszystkich produkcyjnych języków (takich które wykorzystuje się poza szkołą) Java jest całkiem niezła.
Na pewno lepsza niż C++ (chociaż nie ma tylu ficzerów - to jednocześnie wada i zaleta).
Ale świat idzie do przodu i być może niedługo Java zostanie wyparta z miejsc gdzie zarabia się kasę (banki, finanse, korporacje - np. przez Scalę).

C++ zostało kiedyś wyparte z wielu frontów przez Javę / C#, teraz Javę wypierają Scala, Groovy, JavaScript (część wizualna).

JavaScripta też próbują atakować z różnych frontów (CoffeScript, TypeScript, Kotlin, Dart), ale to na razie tylko próby.

0

Bo nie ma proprtiesów, przeciążania operatorów, partiali, argumentów domyślnych w metodach, typów prostych, wskaźników, dziedziczenia wielokrotnego, można wymieniać braki przez pół dnia.

Java to zabawka. Ekosystem javy to śmietnik, bez ładu i składu (tylko Android SDK + Android Studio są jako tako ogarnięte). Natomiast wszystkie pozostałe frameworki, biblioteki i biblioteczki gryzące się wzajemnie między sobą to syf kiła i mogiła.

3

java jest krytykowana bo 'jest wolniejsza od c++' a przeciez kazdy lubi szybkie programy ;)
edit: swoja droga to zwykle nie warto sluchac krytyki jezyka programowania od osob ktore nigdy w nim profesjonalnie nie pracowaly

9
Szczery Jacek napisał(a):

Bo nie ma proprtiesów,
wlasciwosci to lukier skladniowy na metody. czesto poprawia czytelnosc, czesciej powoduje problemy bo ktos 'sprytnie' pakuje tam logike

Szczery Jacek napisał(a):

przeciążania operatorów,
ile razy trzeba faktycznie przeciazyc operator? 2 razy przez cala kariere? :)

Szczery Jacek napisał(a):

partiali,
kolejna rzeczy wprowadzajaca balagan w kodzie i zachecajaca do wrzucania ui + logiki w jedna klase.

Szczery Jacek napisał(a):

argumentów domyślnych w metodach,
najlepszy sposob aby skomplikowac sobie zycie, zrobic kilka przeladowanych metod z roznymi zestawami parametrow domyslnych...

Szczery Jacek napisał(a):

typów prostych,
zakladam ze chodzi o 'struct' co ma znaczenie wylacznie w systemach o krytycznej wydajnosci... i nawet wtedy nie jest to problemem, juz bardziej bym marudzila o przymusowy boxing w generykach

Szczery Jacek napisał(a):

wskaźników,
straszna wada, po prostu nie da sie bez nich zyc

Szczery Jacek napisał(a):

dziedziczenia wielokrotnego,
w zyciu sie nie spotkalam z uzasadnionym uzyciem wielokrotnego dziedziczenia

Szczery Jacek napisał(a):

Java to zabawka.
pewnie dlatego jest uzywana do systemow przewalajacych miliony dolarow na sekunde. albo ratujacych zycie.

Szczery Jacek napisał(a):

Ekosystem javy to śmietnik, bez ładu i składu
oczywiscie ze jest pare wtf'ow w javie i jdk co nie zmienia faktu ze kiepsko o lepsza alternatywe dla wielu zastosowan

0

oczywiscie ze jest pare wtf'ow w javie i jdk co nie zmienia faktu ze kiepsko o lepsza alternatywe dla wielu zastosowan

Zaciekawiłaś mnie. Możesz podać przykład takiego zastosowania, gdzie .NET nie będzie równie dobry lub lepszy?

0

W C# też nie ma typów prostych, a przynajmniej specyfikacja języka takich nie definiuje.

0
aurel napisał(a):

Możesz podać przykład takiego zastosowania, gdzie .NET nie będzie równie dobry lub lepszy?

systemy serwerowe (linux) z wymaganiami low latency.
na codzien programuje w obu i wole .net ale bez popadania w fascynacje ;)

0
somekind napisał(a):

W C# też nie ma typów prostych, a przynajmniej specyfikacja języka takich nie definiuje.

No co pan nie powiesz: https://msdn.microsoft.com/en-us/library/aa711900(v=vs.71).aspx

9

Dlaczego duża część krytykuję Jave ?

krytykuje

Może ktoś mi wytłumaczyć dlaczego w sieci panuję

panuje

taki hejt na Jave

Javę

?

Bez spacji przed znakiem zapytania.

Z góry dzięki.

Proszsz.

0
Szczery Jacek napisał(a):
somekind napisał(a):

W C# też nie ma typów prostych, a przynajmniej specyfikacja języka takich nie definiuje.

No co pan nie powiesz: https://msdn.microsoft.com/en-us/library/aa711900(v=vs.71).aspx

A co ma specyfikacja Visual Basic .NET do C#?

3

Względy estetyczne, kod w C# jest ładniejszy.

0
QwertzOne napisał(a):

Względy estetyczne, kod w C# jest ładniejszy.

obyś trollował

0

C# jest super ale jest uruchamiany przez CLR i to jest jedyny mankament tej technologi.

0
Wielki Kot napisał(a):

C# jest super ale jest uruchamiany przez CLR i to jest jedyny mankament tej technologi.

https://msdn.microsoft.com/en-us/vstudio/dotnetnative.aspx

0
Wielki Kot napisał(a):

C# jest super ale jest uruchamiany przez CLR i to jest jedyny mankament tej technologi.

mankament? wyjasnij co masz na mysli, bo troche smierdzisz trollem ;)

0
katelx napisał(a):
Wielki Kot napisał(a):

C# jest super ale jest uruchamiany przez CLR i to jest jedyny mankament tej technologi.

mankament? wyjasnij co masz na mysli, bo troche smierdzisz trollem ;)

Bo jest mit, że to co na maszynie jest wolne. Tylko C/C++ !
Jeszcze wracając do tematu dla mnie Java jest idealną platformą, bo nie jestem od niczego zależny i mam potężne wsparcie w community :)

0
makabratabra napisał(a):

Jeszcze wracając do tematu dla mnie Java jest idealną platformą, bo nie jestem od niczego zależny i mam potężne wsparcie w community :)

O jakiej niezależności Ty piszesz? Aplikacje w C++ są kompilowane w przypadku Windowsa np. do formatu Portable Executable (nie mówię o Visual Studio gdzie zdaje się i C++ jest kompilowane do kodu pośredniego pod .NET albo innych targetach) więc na tym systemie uruchamiają się jako programy które są przenośne i nie wymagają instalacji runtime, jak JRE czy też .NET w przypadku C#. A jak w JVM są jakieś błędy to chyba powinno to rzutować na aplikacje w kodzie pod tą platformę (przecież jar nie uruchamia się jako samodzielna aplikacja). Chociaż w przypadku javy to z tego co widziałem niektóre aplikacje są dystrybuowane i z runtime, więc nawet JRE nie trzeba instalować.

Na temat szybkości można by sobie też dyskutować, tylko zastanawiam się jakie dla usera ma znaczenie jeżeli coś się wykona w 1 a 2 ms, w takiej aplikacji desktopowej i ten nawet tego nie zauważy. Zostawmy tu może te szybkie gry wideo.

Zasadnicze założenie w przypadku javy jest takie, że aplikacje mają się uruchamiać na różnych systemach operacyjnych bez potrzeby kompilacji pod Windows/Linux/Mac jak to jest w C++ czy tam pascalu. No ale coś za coś. Musisz przecież zainstalować to runtime, które jest jednak rozwijane przez poteżną korporację więc chyba jesteś zależny od Oracle :-)

Oczywiście można sobie hejtować i pisać, że C++ jest szybszy, nie ważne że koszt aplikacji jest znacznie większy. Mówię o zastosowaniach kiedy to bez problemu JAVA się nada albo .NET.

0

Witam,
Może ktoś mi wytłumaczyć dlaczego w sieci panuję taki hejt na Jave ?

Wynika to prawdopodobnie z tego, że Java ma mniej zwięzłą składnię niż inne języki, co sprawia, że programiści Javy są mniej produktywni i bardziej sfrustrowani ilością WTF w kodzie.

2
Mały Kot napisał(a):

Wynika to prawdopodobnie z tego, że Java ma mniej zwięzłą składnię niż inne języki, co sprawia, że programiści Javy są mniej produktywni i bardziej sfrustrowani ilością WTF w kodzie.

proponuje wziac sie za kodowanie w jezykach takich jak k albo q, pewnie 100x bardziej zwiezle od javy :) 100 krotny wzrost produktywnosci gwarantowany (zakladajac ze jest odwrotnie proporcjonalny do LoC)
obawiam ze ze ilosc wtf w kodzie jednak nie zmaleje...
frustracja zalezy od konstrukcji psychicznej programisty. np. dla mnie duzo bardziej frustrujace sa one-linery, bledy zwiazane ze wskaznikami, brak dobrych narzedzi, brak wsparcia dla platformy na ktorej pisze, powolnosc developmentu, powolnosc w runtime... te wszystkie cechy jednak zwykle javy nie dotycza.

0

Co masz do one-linerów? Przecież to jest piękne...

>>> n = 50
>>> print sorted(set(range(2,n+1)).difference(set((p * f) for p in range(2,int(n**0.5) + 2) for f in range(2,(n/p)+1))))
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

albo:

>>> print reduce(lambda(a,b),c: (a+[c],b) if c > 60 else (a,b + [c]), [49, 58, 76, 82, 88, 90],([],[]))
([76, 82, 88, 90], [49, 58])
10
Mały Kot napisał(a):

Co masz do one-linerów? Przecież to jest piękne...

mylisz kod produkcyjny, uzywany do prawdziwych aplikacji utrzymywanych przez wielu programistow latami, ze smieciami wpisywanymi w interaktywna konsole na swoj wlasny uzytek i zapomnienie zaraz po uruchomieniu

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