Kód C / C ++ píšem už roky. Nedávno som začal robiť tiež veľa Java, pretože niektoré z veľmi dobrých produktov, ktoré používam na riešenie svojich problémov s počítačom, sú napísané v jazyku Java (príklad: Lucene / Solr, Hadoop, Neo4j, OpenNLP atď.).
Vidím túto závislosť od posledných 3-4 rokovJava je skutočne veľmi populárna minimálne v oblasti internetových algoritmov (klastrovanie, vyhľadávanie, veľké dáta atď.). Aj keď sú to náprotivky produktov, ktoré som spomenul vyššie v C ++ (podobne ako napríklad Search Sphinx napísaný v C ++ je skvelá voľba, Google má svoju Map Reduce napísanú v C ++ atď.)
Len by ma zaujímalo, aké sú faktory a sily, vďaka ktorým je Java v dnešnej dobe veľmi populárna špeciálne v doméne Získavanie informácií a Veľké dáta.
Chcel som len spoznať silné stránky Java, vďaka ktorým je veľmi obľúbený v priestore internetových algoritmov? Je to len kvôli veci nezávislosti na platforme?
odpovede:
3 pre odpoveď č. 1Tvrdil by som, že Java a C ++ fungujú na podobnej úrovni aj mimo svojvoľných vykonštruovaných situácií, ktoré sa tak často používajú na preukázanie toho, že X je rýchlejší ako Y.
Akonáhle zohľadníte časy obojsmerných pripojení k sieti ainé, oneskorenia v reálnom svete, nevidím aplikáciu C ++, ktorá ponúka merateľnú výhodu oproti aplikácii Java jednoducho kvôli tomu, že je C ++ oproti Jave. Uvidíte však merateľný rozdiel medzi dobre napísanou aplikáciou a slabo napísanou aplikáciou. - písomná žiadosť.
1 pre odpoveď č. 2
nezávislosť od plattform je pekná vlastnosť, ale v Jave nefunguje vždy. podľa toho, čo robíte
java získava svoju popularitu tým, že je bezpečnejšia ako c ++
nemôžete použiť aritmetiku ukazovateľa a nemôžete zvládnuť alokáciu pamäte sami
ak sa niečo strašne pokazí, dostanete výnimku alebo chybu, alebo program jednoducho zlyhá, ale v Jave ste si relatívne istí, že nebudete pokračovať v tom, čo určite nechcete robiť
áno, to všetko môžete robiť v c ++, ale to nie je otázka, nie?