> That only works if your printouts aren’t too long

It depends on what you mean by "too long".

A few folks in my office have binders with dog-eared code printouts for some of the more stable internal libraries in our codebase. A 3" thick 3-ring binder can hold a little over a million lines of code. I wouldn't use it for Firefox (~21M LOC) or Linux (~40M LOC) because you'd need to dedicate several shelves and print it regularly to be useful. And there's no grep. But for things like a stable, versioned library it can be very useful.