Why Racket?

Many people we encounter tell us they wish they knew how to code and then ask which programming language they should learn. Given the press that some programming languages get, this question is not surprising. But it is also wholly inappropriate. Learning to program in a currently fashionable programming language often sets up students for eventual failure. Fashion in this world is extremely short lived. A typical “quick programming in X” book or course fails to teach principles that transfer to the next fashion language. Worse, the language itself often distracts from the acquisition of transferable skills, at the level of both expressing solutions and dealing with programming mistakes.

Felleison et al, How to Design Programs, Second Edition.

To understand why Racket is a good language to learn, one need read no further than Section 0.1 of Stephen Bloch’s Picturing Programs. Please read it now if you have not.

To summarize, here are major arguments for choosing Racket over a more “popular” programming language: