You will learn the following in this chapter:
Recall from Chapter 2, "The Basics of Object-Oriented Programming," that one of the breakthroughs in the early development of languages was the advent of the subroutine. In Chapter 2 you learned how subroutines simplify program structure by avoiding duplicate code for repetitive processes. Subroutines reduce program complexity and program size. This chapter examines both subroutines and functions in considerable detail. It also uses your understanding of lvalue and rvalue from Chapter 4, "Data Types and Numeric Variables," to demystify how information is passed to subroutines and functions.