Java criticism