I'm aware that this is from 1997-1999, but I'm curious: Do people still print out source code for better reading?
I'm aware that this is from 1997-1999, but I'm curious: Do people still print out source code for better reading?
More seriously, there were discussions of library versioning schemes, backward compatibility etc.
I see Susan no longer lectures, which is a shame, as she was one of my favourite lecturers.
[1] https://www.doc.ic.ac.uk/~susan/475/
(The replacement course seems to be this: http://www.imperial.ac.uk/computing/current-students/courses... )
For me it's much easier to focus if I take my printouts and get away from the computer and edit and write code by hand, then go back and type in the changes.
I started doing this when I thought back to times I programmed back in high school and college and remembered that I'd always had the most success with programs working correctly when I'd written them out by hand before typing them in. I think it forces me to really think about what's happening, rather than just trying stuff until things "mostly" work.
I find that when I'm sitting at the computer, I have a much more iterative style, where I try something, see how that went, and make changes. When I'm working out something away from the computer, I have to have a coherent mental model of what I'm trying to accomplish.
So at the computer is good for experimenting and exploration, away from the computer is good for coherent designs.
I think there's something analogous with languages, I find dynamic languages much easier to deal with when I'm sitting at the computer, but if I'm working away from the computer on paper, then I prefer languages like SML or OCaml (or maybe even Go?) where I can look at the code and work through in my head exactly what is going on.
Tangent: speaking from personal experience, sifting through an existing foreign code base is a really exciting task for some people, figuring out what makes it tick and how the pieces fit together can be fun. Granted, I was reverse-engineering a closed-source product, not reading its actual source, but that was even more fun :D Come to think of it, the tool I used for that, IDA Pro, has some interesting features that IDEs don't, such as graphical representations of function call graphs [1] and function basic blocks [2]. It would be interesting to see what a creative person could do by integrating those into a regular IDE.
[1] http://scratchpad.wikia.com/wiki/Reverse_Engineering_Mentori...
[2] https://www.hex-rays.com/products/ida/tech/graphing.shtml
> Do people still print out source code for better reading?
Can be required, academically. (Where "better reading" means "how someone's decided they want to read it"!)It's easier to solve a problem when you remove all the fluff and noise. On the other hand, you won't know if you have a good solution until it's implemented. A bit of a trade-off.
I know a bunch of embedded C programmers who have been doing it for a long time who do this regularly. They know their stuff. They don't print out the whole codebase, just a few pages of whatever they're working on, then they annotate it with a pen while thinking about whatever problems they are solving.
>then they annotate it with a pen while thinking about whatever problems they are solving.
Paper and pen offer a lot of options you don't have in vim (or emacs/notepad.exe/etc ;)). Circling, doodling, arrows, underlining, furiously scribbling...