Goodreads helps you keep track of books you want to read.
Start by marking “Exercises in Programming Style” as Want to Read:
Exercises in Programming Style
Enlarge cover
Rate this book
Clear rating
Open Preview

Exercises in Programming Style

4.37  ·  Rating details ·  91 ratings  ·  13 reviews
Using a simple computational task (term frequency) to illustrate different programming styles, Exercises in Programming Style 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 a ...more
Paperback, 304 pages
Published June 16th 2014 by CRC Press (first published January 15th 2014)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Exercises in Programming Style, please sign up.

Be the first to ask a question about Exercises in Programming Style

This book is not yet featured on Listopia. Add this book to your favorite list »

Community Reviews

Showing 1-30
Average rating 4.37  · 
Rating details
 ·  91 ratings  ·  13 reviews

More filters
Sort order
Start your review of Exercises in Programming Style
I must say I'm impressed with this book. The idea is not new (Rosetta Stone has been around the corner for a while), but a major innovation of this book is the discussion of each style and how it relates to other styles.

I have to admit I was a little bit thrown off by the, apparently weird at the time, choice of Python as the one and only language to demonstrate the different styles. In the end I realized that far from being a nuisance, this was yet another constraint that proved useful to demon
Jul 11, 2020 rated it really liked it
I've been programming since late 90s, and while I'm familiar with all (and more than I like to admit with some) of the styles described in this book, it was interesting to see it from a zoomed out perspective.

The material is nicely structured and I think would be accessible to beginners. I was delighted to see a chapter on monads which boils it down to essentialls (while admittedly losing many important details) instead of yet another confusing attempt to draw a box or burrito analogy.
Eric Lewis
Jun 03, 2018 rated it it was amazing
Exercises in Programming Style takes one programming problem (what are the 25 most frequently used words in Pride and Prejudice?) and solves it in 33 different programming styles (e.g. functional, monads, pub-sub). Lopes presents code examples in Python, as well as a few paragraphs of commentary and historical context on each.

To be honest, I can't remember a more useful book about the technique of programming I've read. It's easy to focus on one style while working with a single library or tech
Greg Williams
Jun 23, 2018 rated it really liked it
This book takes a simple problem and solves it 33 different times, each time using a different "programming style". In this book, "programming style" is not about aesthetics. Instead, it is a way of organizing a solution based upon a set of constraints (what I think of as an "architectural style"). The "styles" are organized into "domains", e.g. function composition, object-oriented, metaprogramming, error handling, data-centric, concurrent, etc. As such, a typical software solution will use man ...more
Jul 10, 2017 rated it it was ok
Shelves: programming
The premise of this book is brilliant, but the execution is flawed. It's still worth reading.

Before I read the book, I had qualms about all the exercises being in Python. As I started, I decided this was actually a great idea, because it should allow the stylistic ideas to shine through, removed from differing syntax. As I read on, however, I started to feel that Python was a poor semantic fit for many of the styles, many of the implementations felt forced, and it would be unclear to anyone not
Andrei Faur
Apr 10, 2019 rated it really liked it
I consider this to be a programming history book in disguise. Going through the chapters in order is like chronologically going through all of the advances made in programming in the last four decades or so. Python is an excellent choice for a programming language, I consider its readability to be its main strength (if you can write/read pseudocode then you can read this without any issues).

My favourite parts were the commentaries on system design, where the author tried to link the presented id
Feb 14, 2019 rated it it was amazing
A great book about different programming styles. Understanding why each of these should be used is a great learning opportunity. In a career of professional software development almost all of these will be encountered at some point. I love different perspectives on ways to approach similar problems especially with a book as well written as this that clearly explains the differences in data, results, and expectations. A great read that will help with writing cleaner code and tighter designs. Not ...more
Jun 15, 2018 rated it really liked it
Shelves: 2018, tradeback, work
I think this would’ve been a much more interesting read several years ago for me, when I was far less experienced and knew much less about different programming languages/patterns. Even so, I think this would be a fantastic reference for getting re-familiarized with concepts presented in the book. I absolutely love how the author uses Python throughout the book as a reference sample for each new idea.

Would highly recommend for programmers that haven’t seen a lot of these styles before.
James Igoe
Aug 18, 2017 rated it it was amazing
An easily consumed, enjoyable read, and excellent review of the history of programming style, from older days of constrained memory and monolithic styles, through pipelining and object-oriented variants, to more recent patterns like model-view-controller (MVC), mapreduce, and representation state transfer (ReST). Along the way, each variant is described, along with its constraints, its history, and its context in systems design.
Oct 09, 2019 rated it it was amazing
Amazing walk through the history of programming languages via 33 different ways to solve the same problem.

The only thing I'd love to see are examples of various paradigms in languages that natively/elegantly support those paradigms.

Still, a book that should be read by any aspiring PL junkie.
Henrik Warne
Dec 17, 2017 rated it it was amazing
“Exercises in Programming Style” shows different programming styles by solving the same problem in 33 different ways. The example problem used in all the examples is that of counting word occurrences in a text (term frequencies). The program reads all the words, normalizes them, removes short words (like the, a, in) and then prints out the 25 most common words in order.
All the programs are written in Python, but each program is written in a different style. Examples of styles are: only passing a
Georgi Kolarov
Feb 01, 2017 rated it it was amazing
Много добър пълен обзор на стилове, прилагани почти винаги без да се замислим.
Макар да ме втриса от питон-ското безхаберие относно освобождаване на ресурси, както и да не съм съгласен с някои твърдения (като това че типовете са отживелица), тези негативи са пренебрежимо малко.
Книгата е особено ценна с малките на пръв поглед, но завършени и работещи примери, които водят към осмислянето и планирането на значително по-мащабни системи.
Irina Marudina
rated it it was amazing
Dec 29, 2019
Andrew Eggenberger
rated it it was amazing
Apr 07, 2018
Ville Saarinen
rated it liked it
Dec 09, 2018
Katie Amazing
rated it really liked it
Nov 18, 2019
rated it it was amazing
Sep 27, 2015
rated it it was amazing
Apr 21, 2018
rated it really liked it
May 03, 2020
Xie Xiaoyang
rated it it was amazing
Mar 25, 2018
Eric Miller
rated it really liked it
May 27, 2016
Raiyan Ahsan
rated it it was amazing
Feb 11, 2020
rated it really liked it
Jun 02, 2019
rated it really liked it
Apr 27, 2015
Andreas Jaggi
rated it it was amazing
Jan 05, 2019
Johan Linde
rated it really liked it
Mar 24, 2016
rated it really liked it
Nov 07, 2014
rated it it was amazing
Feb 18, 2016
rated it really liked it
Jan 17, 2016
« previous 1 3 4 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • From Mathematics to Generic Programming
  • Oliver Byrne: The First Six Books of the Elements of Euclid
  • The Pragmatic Programmer: From Journeyman to Master
  • Return From the Stars
  • The Invincible
  • A Bite-Sized History of France: Delicious, Gastronomic Tales of Revolution, War, and Enlightenment
  • The Wandering Inn: Volume 1 (The Wandering Inn, #1)
  • James Acaster's Classic Scrapes
  • Forest Mage (Soldier Son, #2)
  • The Wandering Inn: Volume 2 (The Wandering Inn, #2)
  • Renegade's Magic (Soldier Son, #3)
  • The Wandering Inn: Volume 5 (The Wandering Inn, #5)
  • It's the Stars That Lie (Down to Agincourt, #2)
  • The Wandering Inn: Volume 4 (The Wandering Inn, #4)
  • Worm (Parahumans, #1)
  • Thinking in Systems: A Primer
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

News & Interviews

Luster is the breathtaking and often hilarious debut from novelist Raven Leilani. The story follows Edie, a 23-year-old trying to find her way ...
30 likes · 5 comments