Exercises in programming style Using a simple computational task (term frequency) to illustrate different programming styles this book helps readers understand the various ways of writing programs and designing systems. It is designed to be used in conjunction with code provided on an online repository. The book complements and explains the raw code in a way that is accessible to anyone who regularly practices the art of programming. The first edition was honored as an ACM Notable Book and praised as The best programming book of the decade. This new edition retains the same presentation but has been upgraded to Python 3 and there is a new section on neural network styles