JJ is a new programming language designed for beginners, and JJ is also an online environment for learning programming. JJ gets it name from both Java and Junior, but JJ is going beyond a Junior version of Java. JJ provides the basic principles of programming without the many distracting details of a "real" industrial-strength language. JJ is like a pseudo-code; to promote thinking and problem-solving rather than syntax and strange characters. JJ is easy to read and also easy to write. JJ is intended for about the first half of a programming course. JJ easily extends to Java by a quick line-by-line conversion. but JJ can also extend to others such as C, C++, Ada, Fortran, Eiffel. JJ teaches numerous paradigms: COP: control oriented (procedural), DOP: data oriented (both data-flow and data-space), OOP: object oriented, SOP: state oriented, and others. JJ is an art, a science, a craft, and more.