Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's fun to see someone else that does this! I also write code with pen and paper. Mainly for work, but I have good memories of a holiday with a notepad and The Little Schemer (with a long till receipt to cover up the answers column).

Similarly I sometimes code review by printing out diffs and writing on them.

I like the tactile side of writing, and the spatial freedom. Also I just find it easier to think away from a screen somehow -- coding on a computer is still my majority case, and it's essential where it's the type of work that involves stitching things together. But for algorithm or code-design style work, if I get stuck I write it down.

One theory I have is that because I have a very spatial/location-sensitive kind of memory, scrolling on a screen messes with my internal mental map of where things are.

I mean that if I'm designing something or trying to understand someone's code, my working memory built up of the things that I'm reading or writing down is linked to where I read or wrote it, and I think a single screen space in which anything and everything can appear messes with that and makes my brain have to work harder to remap things.



I've got a similar memory:

I can forget almost anything no matter how obvious, but if it's linked to a location or is spacial then my recall is spot on. I can't tell you anything about 90% of my education but could give you exact waypoints for a 3 day walk I did over 15 years ago.

I've tried harnessing this ability with the 'mind-palace" techniques where information is associated with a visualised place. I worked at a large outdoor store for a few years with a huge stockroom and used that as my base. As I was learning programming I assigned topics to sections of the stock room and related concepts with specific products. Sounds nutty but it did seem to work (I can still recall all this information).

Remembering things this way fell by the wayside though as it requires very intentional "remembering" in the first instance. It's exactly like filing — you have to do it upfront. I never used it enough that this became second nature.

I do write code on paper though, but I quickly realised that writing in a journal is suboptimal for me. When I studied design we were encouraged to take notes on loose-leaf paper both to reduce the "preciousness" that comes with bound notebooks and so that we could reorder pages but also spread it out for a high-level view. For this reason my preference is writing code on index cards where each card is a data structure or function which then get grouped into modules (thinking Elixir here).

Despite this preference I tend to just use a notebook for scribbles and "working memory" notes because I'm prone to losing cards. I've toyed with the idea of a huge blackboard and post-it notes in my office before which I may look into again soon.


Scheme/Lisp seems to be a great representation for this, the author suggests diagrams and text, which I assume is optimal for most things, but sometimes it's helpful to write pseudo-code and it seems to me that S-expressions are almost friction less in that regard, especially since it provides visual structure without having to (re-)format code too much, but also because of the minimal syntax.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: