 Chessbase (for PC) is perhaps the most common program for this amongst professional players, but there are alternatives such as Shane's Chess Information Database (Scid)  for Windows, Mac or Linux, Chess Assistant for PC, Gerhard Kalab's Chess PGN Master for Android or Giordano Vicoli's Chess-Studio for iOS.Programs such as Playchess allow you to play games against other players over the internet.Chess training programs teach chess.