Zkuste si někdy zahrát Runescape nebo Minecraft. Je to nejlepší důkaz toho, že Java jako taková není pomalá. Problémem jsou lidé, co s ní neumí. Přesto, jak nepříjemně ten jazyk vypadá, tak je bohužel dost přístupný. Píše v tom kdejaká trubka a podle toho to vypadá. Nejhorší jsou zkušení progamátoři z jiných jazyků, kteří se neobtěžují nastudovat si rozdíly. Svého času byli morem Javy lidé používající winapi. Jejich neschopnost pochopit, že Java gui je single-threaded, byla do očí bijící. Po stisku tlačítek to běžně "vytuhávalo". A když pak člověk kouknul do kódu, tak se občas musel smát - oni v single-threaded aplikaci kontrolovali, zda se něco nestalo. Prostě v metodě "actionPerformed" tahali data z databáze a pak se dotázali, zda je okno ještě otevřené. Jednou tam byl i komentář ve stylu "načtení trvá dlouho, ověř si, že uživatel během té doby dialog nezavřel". A pak spamovali fóra stížnostmi, že Java je pomalá a že je to špatný jazyk, protože mají na formuláři tlačítko "cancel", které má přerušit stahování dat, ale Java je tak pomalá, že i když ho mačkají jak diví, tak prostě nereaguje a nezavolá funkci dříve, než se všechno načte. Vysvětlovat jim, že je tam prostě jen jeden EventDispatchThread nemělo úspěch. Prostě pro ně "Java je tak pomalá, že ani nešlo kliknout na tlačítko".
Další mor jsou pak lidé nechápající metodu String. Psal mi onehdy člověk, co v Javě zkoušel psát mud. A stěžoval si, jak je to pomalé a nenažrané. Kód měl prolezlý "a + b" a každou sekundu to vytvářelo desetitisíce nových instancí a garbage collector byl z toho takový divoký. Naštěstí si nechal poradit a přepsal to na použití StringBuilder. Zlepšení obrovské.
A v neposlední řadě ještě lidé s přístupem "všechno musí být objekt". Buď ani neví, že Java má primitivní typy, pole apod., nebo se jim líbí nějaká vlastnost (hodně lidí láká třebas java.util.Vector) a pak se tomu přizpůsobí. Bez ohledu na cenu a důsledky. Místo pole double pak mají Vector s miliony instancí Double, Java padá na nedostatek paměti a oni si stěžují, že je to stokrát pomalejší než C. Jenže tenhle chuchvalec instancí porovnávají s C, kde použili pole. Zkrátka fakt, že Java má Vector, ještě neznamená, že na některé věci prostě není potřeba použít pole. To, že navíc použili Vector, což je serializovaná třída, je kapitola sama o sobě.
Stejně tak se dá prasit a špatně používat třebas C++. Jenže tam je použití šablon poměrně složité na naučení, takže lidé, co se neradi učí nové věci, přirozeně použijí jen základy - tedy primitivní typy a pole.