What where the key motivations for the development of multiproccessing and multiprogramming?

whar are key motivation for the development of multiprogrammig,multitasking,multithreading