Concurrent computation has been with us for over 50 years, and has become essential today. Concurrency paradigms affect the way we think about parallelism, the programs we try to write, the algorithms we choose, the performance we achieve, the errors we make, and the support mechanisms we need. The paradigms are not equivalent. Although each paradigm can usually be simulated in environments designed for a different paradigm, such a "Turing machine style" proof of computational equivalency does not establish equivalency in terms of the effort required to program solutions, the proclivity for solutions to be error-prone, or the comparable effectiveness of solutions. Two classic concurrency paradigms are reviewed. A third (not so widely recognized) concurrency paradigm is then discussed.