This document discusses the history of computer programming and programming languages from the 1940s to present. It describes how programming has evolved from entering instructions by hand using panel switches, to using assembly languages which were translated to machine code, to the development of high-level languages like FORTRAN, COBOL, and LISP in the 1950s. Important programming languages from each decade like C, BASIC, Pascal, C++, Perl, and Java are highlighted. The transition to object-oriented programming in the 1980s and web-based programming in the 1990s represented major innovations.