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

Dlaczego duża część krytykuję Jave ?
katelx
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Hong Kong
3
moskitek napisał(a):

u Mnie w pracy (duże fiansowe korpo) jakiś czas temu w jednym z działów pojawił się wymóg napisania systemu do wyszukiwania dostępnych serwisów w danej sieci ( nie znam dokładnej specyfikacji bo to był inny dział, wiem tylko że zarówno java jak i C++ były dobre do wykonania).

java i c++ byly dobre i wybrano c++... seems legit :)

moskitek napisał(a):

Goście tęgo myśleli nad technologią i stwierdzili, że z tego narzędzia będą korzystały inne zespoły więc jest to soft krytyczny i nie może być pisany w żadnym "toj-langłidżó" i wybrano C++.
Projekt był na 6 miesięcy i pracowało nad nim kilkunastu programistów....
W 7 miesiącu w projekt było zaangażowanych ponad 100 ( projekt był 'krytyczny' więc było ciśnienie) ludzi bo program zjadał cały ram serwera kilka minut po starcie aplikacji po czym wywalał serwer.

jak juz wymyslasz historyjki to troche bardziej sie postaraj, bo w takie cos uwierzy tylko ktos kto jest jeszcze na etapie pisania postow 'jaki jezyk wybrac, zeby zarabiac duzo kasy'

moskitek napisał(a):

lamerom od javy polecam poczytać o wskaźnikach i mem-leakch bo pewnie nie wiedzą co to takiego :P

teraz juz nie wiadomo czy chciales dowalic javie czy c++

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0
katelx napisał(a):

ale przeciez to nie byla powazna odpowiedz z mojej strony, ciezko odpowiedziec powaznie na 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..

Myślę, że zwięzła składnia zwiększa produktywność. A jeśli kodu jest mniej, to i mniej WTFów.
Oczywiście język to tylko jedna ze składowych, ważniejsze jest to, kto i jak się nim posługuje.

  • Rejestracja: dni
  • Ostatnio: dni
6
Kopiuj
c8R";@d=split/(map{$P=$P[$f^ord/,"\nrekcah xinU/P,P);pipe"r$p"LREP rehtona tsuJ";$q*=2)+=$f=!fork;subp{@p{"r$p","u$p"}=(,"u$p";++$p;($p{$_})&6];$p{$_}=/ ^$P/

No to Perl jak zawsze górą. Tak zwięźle, w jednej linijce.

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8488
0

Ten czy inne nieszczęsny przykłady pokazują, że większe znaczenie ma liczba znaków niż linijek, jeśli już się ścigać na największą zwięzłość. Kod w 5 króciutkich linijkach mający 30 znaków będzie bardziej czytelny niż jednolinijkowiec z 200ma...

inne moje posty dosc wyraznie pokazuja moje podejscie do tej kwestii - jak najmniej kodu, lecz bez oszczedzania na czytelnosci

ano :)

MO
  • Rejestracja: dni
  • Ostatnio: dni
1

moskitek napisał(a) wczoraj, 22:53:

Goście tęgo myśleli nad technologią i stwierdzili, że z tego narzędzia będą korzystały inne zespoły więc jest to soft krytyczny i nie może być pisany w żadnym "toj-langłidżó" i wybrano C++.
Projekt był na 6 miesięcy i pracowało nad nim kilkunastu programistów....
W 7 miesiącu w projekt było zaangażowanych ponad 100 ( projekt był 'krytyczny' więc było ciśnienie) ludzi bo program zjadał cały ram serwera kilka minut po starcie aplikacji po czym wywalał serwer.

jak juz wymyslasz historyjki to troche bardziej sie postaraj, bo w takie cos uwierzy tylko ktos kto jest jeszcze na etapie pisania postow 'jaki jezyk wybrac, zeby zarabiac duzo kasy'

to teraz wymyślę inną fajna historyjkę jak nabijać kasiorę na programowaniu.

Wyobraź sobie że w pewnym państwie gdzie podstawą demokracji są wybory powszechne, wymyślono soft na informatyczną obsługę tychże wyborów. Przetarg wygrał jakiś JanuszSoft. W przeciągu kilku miesięcy napisali soft dla całego państwa, kozaki.....
Efektem było zwolnienie wysoko postawionych sędziów, którzy mieli pilnować poprawności prawnej wyborów, niektóre partie zarzucały zamach stanu, inne fałszowanie wyborów i pewnie niewiele brakowało żeby przerodziło się w jakieś zamieszki....a wyniki wyborów były z tygodniowym opóźnieniem mimo używania najnowszych nowinek IT.
Autorzy pewnie zarobili więcej kasy niż wszyscy udzielający się w tym wątku razem wzięci przez rok :P
Oczywiście program został odebrany, a że nikt nie zgłaszał zastrzeżeń to nawet nie wiadomo jak ich pociągnąć do odpowiedzialności.
Ale to był C#, z tej samej stajni co windows, więc co się dziwić.

w javie takiej wtopy jeszcze nie widziałem....

@katelx - i jak Ci się podoba moja druga bajeczka, mam talent?

Może zamiast zadawać pytania jaki język wybrać lepiej zapytać dla kogo klepać formatki ?

MO
  • Rejestracja: dni
  • Ostatnio: dni
0

a tak odnośnie jednolinijkowców, w javie takich "fajoskich" jak w tym perlu to pisać nie można, więc niedowartościowani klepacze javy mają coś lepszego, te wasze słitaśne jednolinikowce to gnioty przy tym:

http://grepcode.com/file/repository.springsource.com/org.aspectj/com.springsource.org.aspectj.weaver/1.6.3/org/aspectj/weaver/patterns/HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor.java

http://docs.spring.io/spring/docs/2.5.x/api/org/springframework/aop/config/SimpleBeanFactoryAwareAspectInstanceFactory.html

kiedyś była jakaś fajna w jdk ale nie mogę znaleźć.

  • Rejestracja: dni
  • Ostatnio: dni
0

No i o czym to świadczy? W każdym innym języku można stworzyć klasę o nazwie MamBolesnaObstrukcjeINieMogeSieWysracBoBoliMnieDupa

drorat1
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Krasnystaw
  • Postów: 1185
0
Szczery Jacek napisał(a):

No i o czym to świadczy? W każdym innym języku można stworzyć klasę o nazwie MamBolesnaObstrukcjeINieMogeSieWysracBoBoliMnieDupa

Akurat .NET to był dobry wybór, przynajmniej jeśli chodzi o aplikację desktopową pod Windows i w tym konkretnym zastosowaniu. Oczywiście aplikację desktopową można by zrobić tutaj bez problemu w C++ (Visual Studio), DELPHI czy tam JAVA SE, może nawet w pythonie z użyciem wxWidgets.

Zastanawiające jest jednak to czy PHP to była właściwa technologia dla rozwiązań tej klasy (mowa o aplikacji działającej na serwerze) bo o enterprise to chyba nie może być mowy (która korporacja zapewnia tu wsparcie???). Ale to jest jeszcze pryszcz. Ciekawe co by było jakby serwer obsługujący wybory został zaatakowany np. przez DDoS?

katelx
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Hong Kong
0

@moskitek
to jak kuriozalne sytuacje dzieja sie u nas w polityce i okolicach nijak sie ma do tematu. historyjka ktora podales jako pierwsza brzmi bardzo nierealistycznie i to ze w przetargach publicznych dzieja sie czary-mary to zaden argument.
ciezko mi sobie wyobrazic nowy korpo-kobylasty projekt w ktorym c++ moglby byc lepszym wyborem niz java

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
2
somekind napisał(a):
katelx napisał(a):

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)

Ale po co wpadać w skrajność?
Moim zdaniem zwięzłośc nie musi oznaczać braku czytelności. Dla mnie kod zwięzły to kod, w którym od razu widać, co się dzieje - jest minimum technologicznego narzutu, a maksimum rozwiązywania problemu. Kod staje się przez to krótki, a mniej kodu to mniej błędów, łatwiejsza analiza, szybsze odnajdowanie miejsca do wprowadzania zmiany, itd.

Tutaj zawsze jest pewien kompromis i żadne rozwiązanie nie jest idealne, no chyba, że jest się wyznawcą Microsoftu i dylemat znika :]

Rozwlekłym ekstremum jest COBOL, gdzie funkcjonują takie kwiatki jak "ADD A TO B GIVING C". Zwięzłym ekstremum jest APL, gdzie wykorzystuje się znaczki spoza zbioru ASCII. Wszystko pomiędzy to kompromis :)

W Scali są dyskusje nt tego czy używać nazw metod typu /: czy może lepiej foldLeft? Jeśli ktoś lubi śmieszne znaczki, to ma do dyspozycji całą bibliotekę pełną takich wynalazków czyli scalaz.

  • Rejestracja: dni
  • Ostatnio: dni
0

<quote="1157818">

somekind napisał(a):

Rozwlekłym ekstremum jest COBOL, gdzie funkcjonują takie kwiatki jak "ADD A TO B GIVING C"

Albo pascal, gdzie funkcjonują takie kwiatki jak if a>0 then begin ... end else begin ...end ... end

Delphi i pascal to i tak już trupy śmierdzące, ale np pl-sql jeszcze żyje i widać że Oracle tutaj zapatrzył się na pascala

W0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3760
0

"Dlaczego duża część krytykuje Javę"?

Zacytuję tutaj mojego znajomego, który w kwestiach niskopoziomowych jest dla mnie guru i który na ASM zjadł zęby:
"Fajna Javka jest, trudno w niej błąd popełnić który później boli przez tydzień". Oraz: "te ludziki wkurzające się na Javę chyba nie rozumieją, po co się rzeczy programuje".

Tak więc jeśli chodzi o mnie to sprawa jest prosta: ograniczeni (do jednego paradygmatu/języka) wrzucają na Javę. Reszta traktuje ją neutralnie.

Artekat
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Elbląg
  • Postów: 49
0

Dlaczego duża część krytykuje Javę"

Myślę ze jest to trochę zawiść ludzi programujących w innych językach. Ponieważ java ma kilka rzeczy takich których inne języki nie mają, stosunkowo prosta, bezpieczna (dzięki maszynie javy), no i modna głównie dzieki androidowi ;)

Wszyscy mówią o javie właśnie ze względu na Androida(mówię tu o ludziach dopiero wchodzących w branżę) a dodatkowym atutem jest to ze możemy pisać aplikacje na desktop. To trochę denerwuję programistów innych języków bo o ich językach się nie mówi.

MarekR22 napisał(a):

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

nic dodać, nic ująć

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0

Ja nie lubię Javy bo w niej pisałem i nie chcę więcej, dopóki nie będę musiał.

_naf
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Ja to sobie najbardziej szanuje Javę za to, że muszę projektować wszystko w momencie kiedy mam najmniejsze pojęcie o tym jak projekt finalnie będzie wyglądał.
Zamiast zacząć kodzić jak w jakimś innym, gorszym i mniej fajnym języku muszę się zastanowić jakie będą funkcje w tej klasie, co będzie dziedziczone, jakie funkcje będą przyjmowały parametry (bo jak bym je zmienił to cały projekt psu w dupę i idzie się... znacie tą historię :P).

Jasne java ma kilka fajnych rzeczy, sporo się dzięki niej nauczyłem (np. debugowania tego samego programu na różnych platformach), ale język sam w sobie nie jest przyjemny w nauce ani w pracy - dla mnie. Są różni ludzie i rozmowa nad zaletami/wadami ma sens jak ktoś zna więcej języków niż tylko javę. Jak ktoś zna jakiś język funkcyjny to już bajka, i 0,7l nie wystarcza na ustalenie jaki język jest najlepszy :P

Zabawne jest to, że część ludzi potrafi określić jakość języka po tym ile znaków zajmuje jakaś funkcja czy jak często używają ludzie w nim regexów. Widać że jedyne co czytali to skład domestosa, a perl to taki magiczny język, że trzeba wygooglować JAPH i wkleić coś żeby pokazać jaki to on jest straszny... Tak się nie pisze poza zawodami.

Próbując dorównać trolowi. Najtrudniejszy jezyk to javascript, pobierzcie program z załącznika 18.668 znaków, żeby głupi alert wyświetlić!
W pracy jak piszemy funkcje to mamy tempo 1/rok i każda ma powyżej 10^7 znaków...
Zaleta jest taka, że działa na każdym urządzeniu. Od mojego laptopa z końca lat 90 aż po apple watch. ♫♪♫ Call it magic ♫♪♫...

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0
Artekat napisał(a):

Myślę ze jest to trochę zawiść ludzi programujących w innych językach. Ponieważ java ma kilka rzeczy takich których inne języki nie mają

Co konkretnie?

dodatkowym atutem jest to ze możemy pisać aplikacje na desktop.

Ktoś w ogóle pisze w Javie na desktopy?

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
3

Ktoś w ogóle pisze w Javie na desktopy?

No. W Javie są pisane IDE do Javy.

  • Rejestracja: dni
  • Ostatnio: dni
0
Artekat napisał(a):

Ponieważ java ma kilka rzeczy takich których inne języki nie mają, stosunkowo prosta, bezpieczna (dzięki maszynie javy), no i modna głównie dzieki androidowi ;)

No ba. Przecież nawet MS uznał że .net na urządzenia mobilne jest g**no wart w gruncie rzeczy a potem zaczął tworzyć projekt Astoria, używać linuksowego kernela i implementować linuksowe api oraz biblioteki w Windows Mobile 10 oraz dołączył obsługę aplikacji androida + pełny emulator do Visual Studio.

Więc może i coś w tym jest, co nie zmienia faktu że poza Androidem frameworki javowe to syf a jedyne dobre IDE do javy to InteliJ (no i Android Studio)

katelx
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Hong Kong
2
Artekat napisał(a):

modna głównie dzieki androidowi
jesli chodzi o pracodajnosc to mysle ze wiekszy udzial maja korpo-kobyly

somekind napisał(a):

Co konkretnie?
popularnosc :)

somekind napisał(a):

Ktoś w ogóle pisze w Javie na desktopy?
korpo w ktorych decyzje podejmuja java fanboye

Szczery Jacek napisał(a):

co nie zmienia faktu że poza Androidem frameworki javowe to syf
to chyba nie robiles w javie poza androidem, ladnie tak hejtowac? a nawet jesli masz dobre rozeznanie w javowych frameworkach to i tak jest to wylacznie twoja opinia a nie fakt.

  • Rejestracja: dni
  • Ostatnio: dni
0

Psioczenie na jakiś język to suchar.
Po co się ograniczać?
Ja pisze w Java ale nie jestem od razu hejterem C# itp.

Poza tym jak mi się zachce to zacznę się ucyzć cegoś innego. Np. Pythona.

Język to przecież tylko narzędzie, a niekiedy wypada stosować różnych narzędzi...

A według mnie Java Web jest bardziej popularna niż Android.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0
Wibowit napisał(a):

Ktoś w ogóle pisze w Javie na desktopy?

No. W Javie są pisane IDE do Javy.

Trafna uwaga, w ten sposób uzyskamy chyba z 0,01% ogółu programistów Javy. :)

  • Rejestracja: dni
  • Ostatnio: dni
0

Ale da jak widać nie tylko postawić smierdzącą kupę (Eclipse, NetBeans), ale też napisać bardzo dobrą aplikację desktopową w Javie (InteliJ/Android Studio).

Jedno i drugie pisane w Javie.

Poza tym, w javie na desktop jest sporo aplikacji od Oracle

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.