This introduction to the principles and concepts of programming language uses Java as a main language then systematically compares it to other languages, thereby providing the tools that allow students to adapt to new programming languages.