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.
Dlaczego duża część krytykuję Jave ?
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
Ze względu na jej przeszłość. Pierwsze wersje nie pałały szybkością, a aplety osadzone w przeglądarkach nastraszyły ludzi.
- Rejestracja: dni
- Ostatnio: dni
typowy flame jak: konsole/pecety, xbox/ps, android/ios, windows/linux
- Rejestracja: dni
- Ostatnio: dni
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.
- Rejestracja: dni
- Ostatnio: dni
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)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 475
Ja osobiscie nie lubie javy bo nie ma var ;p
- Rejestracja: dni
- Ostatnio: dni
Jak to mówią, są dwa typy językow: te, na które ludzie narzekają i te, których nikt nie używa :D
- Rejestracja: dni
- Ostatnio: dni
- Postów: 8488
Ja nie lubię Javy bo jest trudna i ciężko spamiętać nazwy klas.
- Rejestracja: dni
- Ostatnio: dni
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.
- Rejestracja: dni
- Ostatnio: dni
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.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Hong Kong
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
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Hong Kong
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
- Rejestracja: dni
- Ostatnio: dni
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?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
W C# też nie ma typów prostych, a przynajmniej specyfikacja języka takich nie definiuje.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Hong Kong
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 ;)
- Rejestracja: dni
- Ostatnio: dni
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
- Rejestracja: dni
- Ostatnio: dni
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.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
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#?
- Rejestracja: dni
- Ostatnio: dni
QwertzOne napisał(a):
Względy estetyczne, kod w C# jest ładniejszy.
obyś trollował
- Rejestracja: dni
- Ostatnio: dni
C# jest super ale jest uruchamiany przez CLR i to jest jedyny mankament tej technologi.
- Rejestracja: dni
- Ostatnio: dni
Wielki Kot napisał(a):
C# jest super ale jest uruchamiany przez CLR i to jest jedyny mankament tej technologi.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Hong Kong
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 ;)
- Rejestracja: dni
- Ostatnio: dni
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 :)
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Krasnystaw
- Postów: 1185
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.
- Rejestracja: dni
- Ostatnio: dni
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.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Hong Kong
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.
- Rejestracja: dni
- Ostatnio: dni
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])
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Hong Kong
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