Interpreted concurrent object oriented programming language originally designed to be highly portable.