In the future, platform independent languages like Java might make OS and hardware issues irrelevant. Today, however, the OS and hardware platform chosen continues to have an impact on software development. Chapter 16 discusses general requirements for hardware environments, including developer desktops, servers, and production hardware. Also discussed in this chapter are hardware architecture issues, such as SMP versus MPP, and their impact on software architecture.