
jon
The Pragmatic Programmer, 20th Anniversary Edition errata
Some minor things in the paper edition that says “3 2020” on the title page verso, not mentioned in the book’s errata online:
p. 186 But Erlang (and it’s progeny … should be: its
p. 205 chart O(n ln n) should be: O(n lg n)
p. 221 Ad Hoc Testing “run poke at our code manually”: I’m not sure exactly what is meant here. Maybe leave out “run”: poke at our code manually
p. 222 “Ignore a spew … makes it easier to ignore all the tests”: not sure what this means. “Ignore a spew”?
p. 226 “raise Exception”: needs to be indented two more spaces (significant in Python)
Most Liked

Juanadelacuesta
Hello!!!
I also notice on the possible answer for the exercise 8 (page 297, solution in ruby of the time parser) the regular expression for the tenths of minutes includes 6, so hours like 6:66 pm are valid.

Sereger
p. 120 - in the second code snippet there seems to be one missing statement:
write_customer
between the following two lines:
@balance = @balance.add(transaction_amount, 2) # |
# --> here, I think, write_customer call is missing
file.close # <--

zois-tasoulas
Hi,
I also noticed the following (book with ISBN-13: 978-0-13-595705-9):
- page 140, in the code for
strings_fsm.rb
, for the statein_string
, I think the matching character should be a single backslash instead of two. - page 160, “When the top level calls
my_car.move_at(30)
, the method …”, the object name (my_car
) does not align with the top-level code example (my_ride
). I think one of the two should be changed so they align. - page 196, “But it applies to the bigger picture are well”, I think instead of “are” there should be “as”.
Popular Prag Prog topics










Other popular topics










Latest in PragProg
Latest (all)
Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /js
- /rails
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /java
- /haskell
- /emacs
- /svelte
- /onivim
- /typescript
- /crystal
- /c-plus-plus
- /tailwind
- /kotlin
- /gleam
- /react
- /flutter
- /elm
- /ocaml
- /vscode
- /opensuse
- /ash
- /centos
- /php
- /deepseek
- /scala
- /zig
- /html
- /debian
- /nixos
- /lisp
- /agda
- /sublime-text
- /textmate
- /react-native
- /kubuntu
- /arch-linux
- /revery
- /ubuntu
- /manjaro
- /django
- /spring
- /diversity
- /lua
- /nodejs
- /julia
- /slackware
- /c
- /neovim