> You had the files on paper, which is a very pleasant and ergonomic medium for reading. You can literally surround yourself with it, cover your desk, and easily move your eyes between dozens of functions. If you learn to keep order and stay oriented in that mountain of paper, you can be very effective.

That only works if your printouts aren’t too long, and contain the majority of the logic in your programs.

Today, the latter rarely is the case. Maybe, we need a way to print code with t selected documentation of called functions added?

That ‘selected’ would be a tricky problem, though. What I need to understand the code may not be what you need, or what I need a month from now.

> 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.

Literate Programming would arguably be that. It's unfortunate it's not more widely known/used.