A népszerű, általános célú programozási nyelvek közül szerintetek is a Java a legrosszabb?
"Tudtok mondani a Java-nál rosszabbat? A PHP rosszabb.."
Kifejtenéd, hogy itt mire gondolsz?:D
Mármint mivel komolyabb a kérdésed ennél:
Azt tudom, hogy az automata mosógép rossz, de egy bőrkárpitos forgószék rosszabb??
>> "Nekem semmi bajom nincs a Java-val."
> Ha semmiért nem rossz, akkor miért jó? :D
Én azért szeretem, mert számomra tök logikus a felépítése, tetszik a kidolgozott elnevezési konvenció, amit minden lib, tool és fejlesztő betart, és hatalmas community van mögötte. Tetszik még a benne levő Reflection API (persze más nyelvben is lehet hasonló), amivel varázslatos dolgokat lehet csinálni.
A PHP-nak, java-nak és minden nyelvnek vannak hibái. Tökéletes nyelv nincs, de ezektől nem lesz egy prognyelv automatikusan rossz.
Valóban szinte minden esetben a programozóban van a hiba.
"Tetszik még a benne levő Reflection API (persze más nyelvben is lehet hasonló), amivel varázslatos dolgokat lehet csinálni."
Reflection API? Az az egyik legrosszabbul megvalósított része a Java-nak. Azt nagyon sokat szidják.
Illetve én mindig hangoztatom, hogy minden feladatra egy megfelelő nyelvet kell választani.
Nem írsz PHP-ban 3D-s lövöldözős játékot, ahogy C-ben sem szokás weboldalakat.
(Pedig bizony lehet!)
"Azt nagyon sokat szidják."
Vannak akik, igen.
De neked van valami konkrét gondod, ami miatt szerinted rossz?
Vagy csak hallottad valahonnan és most ezt így jó visszamondani?
"Illetve én mindig hangoztatom, hogy minden feladatra egy megfelelő nyelvet kell választani.
Nem írsz PHP-ban 3D-s lövöldözős játékot, ahogy C-ben sem szokás weboldalakat.
(Pedig bizony lehet!)"
Abszolút egyetértek, viszont a Java a legtöbb esetben rossz választás amiatt, hogy vannak jobb alternatívái.
"De neked van valami konkrét gondod, ami miatt szerinted rossz?
Vagy csak hallottad valahonnan és most ezt így jó visszamondani?"
A konkrét gond, hogy egyrészt korlátozott. Távolról sem elég rugalmas. Más nyelvekben, főleg dinamikus nyelvekben ennél rugalmasabb reflection képességek is vannak, jobb esetben külön API nélkül.
A másik konkrét gond, a nehézkes használat. Sokszor egyszerű dolgok kifejezéséhez is két sor kód kell.
"A másik konkrét gond, a nehézkes használat. Sokszor egyszerű dolgok kifejezéséhez is két sor kód kell."
Ez is elég relatív dolog azért.
C-ben mennyi egy socket kommunikációt megcsinálni és java-ban mennyi?
Persze, van ami több sor, de van ami kevesebb, ez visszavezethető a nem megfelelő ismeretre vagy a rossz nyelv választásra.
Mi nem elég rugalmas?
Mondj csak 1 olyan dolgot, amit nem lehet java-val megcsinálni. (Turing teljes, szóval sok sikert hozzá, hogy találj ilyet. :) )
Az meg oké, hogy vannak nyelvek ahol a reflection megy alapból, vagy könnyebben, de ettől még nem lesz rossz egy nyelv.
Mondok mást.
Az Eiffel programozási nyelveben lehet elő és utófeltételeket és ciklus invariánsokat is adni, ráadásul ezeket folyamatosan ellenőrzi a rendszer.
Tök jó dolog, de natív támogatás erre baromi kevés nyelvben van.
Ilyen szempontból akkor rossz nyelv: a Python, a Ruby, a C#, a C++, a Java, a PHP, a Haskell stb... Jóformán kb az összes gyakran használt nyelv.
"Mondj csak 1 olyan dolgot, amit nem lehet java-val megcsinálni. (Turing teljes, szóval sok sikert hozzá, hogy találj ilyet. :) ) "
Például egy tetszőleges, Java nyelvben lévő értéket egy másik tetszőleges, Java nyelvben lévő értékbe véges számú függvénykompozícióval átvinni. A Turing teljesség egy viszonylag gyenge fogalom!
Amúgy itt a válaszoknál viszonylag jól ki vannak fejtve a dolgok:
http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!