This document discusses different types of software. It defines software and distinguishes between a programmer and software engineer. Software is divided into operating systems and application software. Operating systems allow other programs to run and perform basic tasks like input/output. Common operating system types include graphical user interfaces, multi-user, multiprocessing, multitasking, and multithreading. Application software includes programs for specific tasks like games, web browsing, and productivity tools.