premise I want to explore where mainstream programming languages are headed, using Java and Go as my primary subjects. java is underrated The reason I say Java is underrated is because it is oddly both easy to learn and its type system is strong enough to make many incorrect states irrepresentable.[1] It has product types and sum types, and makes managing state explicit and easy enough.[2] Java is very “simple” precisely due to its verbosity.