Java, mimo że jest językiem programowania bardzo wygodnym w użyciu, charakteryzującym się łatwością posługiwania się oraz szybkością wprowadzania danych, posiada także swoich przeciwników, którzy znajdują w niej wiele negatywnych cech, stanowiących według nich podstawę do uznawania jej za jeden z najgorszych języków wśród wszystkich, które zyskały w ostatnich czasach swoją popularność. Przede wszystkim zarzucają oni twórcom Javy, że ich język nie umożliwia szybkiego programowania, jak ma to miejsce w przypadku innych. Twierdzą, że programy powinny być pisane zdecydowanie szybciej, a prędkość stanowi główny wyznacznik popularności danego języka wśród grona informatyków, ponieważ, jak wiadomo, nikt nie lubi marnować swojego czasu. Przeciwnicy Javy dodają także, że wcześniej tworzone języki działają wciąż zdecydowanie szybciej od niej, która jest stosunkowo nowym rozwiązaniem wprowadzonym w życie informatyków. Inną wadą, jaką zauważają, jest także jej funkcjonalność – podają, że cele, jakie spełnia, nie są adekwatne do jej możliwości oraz dodają, że twórcy niepotrzebnie ograniczyli zakres jej działania do tak niewielkiego stopnia, jaki ją charakteryzuje.