Reasons for Changing
• Safety is important at all levels of software design but especially when learning to program. Although there
is some confusion about what a safe programming language is, we are using safety to mean: Any attempt to
misinterpret data is caught at compile time or generates a well-specified error at run time. Java is a safe
programming language. The Java compiler catches many inadvertent errors and the Java run time
environment ensures that any attempt to misinterpet data will generate a well-defined exception.
• A simple language should be used to teach programming in an introductory computer science course. A
simple language will be grammatically as well as semantically uncomplicated. It will be easy to learn,
because the notation will express programming concepts in a straightforward way. The appendix includes
a comparison of some language features that illustrate how simplicity helped guide the APCS Ad Hoc
Committee’s recommendation to switch to Java.
• Object Orientation involving encapsulation, inheritance, polymorphism, and abstraction, is an important
approach in programming and program design. It is widely accepted and used in industry and is growing in
popularity in the first and second college-level programming courses.