Język Java jest w pełni zorientowanym obiektowo językiem programowania stworzonym przez firmę Sun Microsystems. Pozwala on na tworzenie kodu źródłowego, kompilowanego do kodu bajtowego, wykonywanego przez maszynę wirtualną javy.

   Język cechuje się silnym typowaniem, to oznacza, że każde wyrażenie ma przypisany typ, a używanie tego wyrażenia w kontekście przeznaczonym dla innych typów powoduje wystpąpienie wyjątku. Składnia języka jest bardzo przybliżona do składni C++.

   Niewątpliwą zaletą Javy jest jej przenośność. Możliwość instalacji maszyny wirtualnej na każdym liczącym się systemie operacyjnym pozwala uruchomić każdą aplikacje stworzoną w tym języku.

   Java jednak postrzegana jest jako język wyższego poziomu i pomimo wielu ulepszeń i poprawek nadal można udowodnić, iż programy w niej napisane wykonują się wolniej niż te napisane w językach natywnie kompilowanych(takich jak C++). Zarzuca się jej równierz zmniejszoną co do innych języków funkcjonalność, oraz to, że język ten nie jest językiem prawdziwie obiektowym, co utrudnia pracę na kolekcjach obiektów różnych typów.