explore both object oriented design and purely functional principles. You strive for quality of software and productivity of development. You...