GPSS is one of the earliest discrete event simulation languages developed in the 1960s. It uses a network of blocks to model systems, with each block performing a specific function. Transactions representing entities move through the blocks. Common blocks include Generate to create transactions, Queue to queue transactions, and Advance to impose delays. GPSS is not programmed like other languages but rather models the system as a network of interconnected blocks through which transactions flow.