Saper programmare non significa conoscere i linguaggi di programmazione; tanti sono gli approcci teorici che un linguaggio di programmazione racchiude in se stesso. Questa ottima guida, utilizzando come linguaggio modello Java, presenta tutti gli aspetti caratteristici dei linguaggi di programmazione imperativi, mettendo a fuoco di seguito le tecniche che vengono utilizzate nei linguaggi
orientati agli oggetti.