
Programmers without computers - fogus
http://www.johndcook.com/blog/2011/02/28/programmers-without-computers/
======
mduerksen
I'm a great fan of pen and paper "programming".

Each time I do this, I am amazed once more how powerful thoughts and
observations can emerge by turning away from my laptop and rethinking the
problem with most basic drawings and without the shakles of my IDE and other
tools.

This is espescially important for problem solving and creativity, where your
first reflex is almost never the best, or when you got stuck.

Paper gives you the freedom needed to express the problem your wrestling with,
and as my old math teacher rightly said: Expressing the problem is halfway to
the solution.

------
jarin
This is completely terrible, but one of the reasons I've found it so difficult
to quit smoking is that the nicotine urge acts as a timer to go outside to
clear my head and get some fresh air (ironic, I know).

I've been freelancing for a couple of years now, but about half of the
programmers were smokers at my last job. We would coordinate smoke breaks
throughout the day, and that time was often spent chatting about whatever
projects we were working on. It turned out that it was a good way to get
feedback and throw ideas off the wall without interrupting people at their
desks.

~~~
wazoox
As long as I had smokers in my team, I used to go outside with them with a
coffee. I had the fresh air without any harm to my lungs :)

~~~
illumen
Unfortunately second hand smoke is just as bad as first hand smoke.

~~~
rgbrgb
While as a non-smoker I totally understand the sentiment here, as a scientist,
that claim seems kind of unfathomable.

~~~
artmageddon
How so? Numerous studies have shown that second-hand smoke is very harmful:

[http://www.cancer.org/cancer/cancercauses/tobaccocancer/seco...](http://www.cancer.org/cancer/cancercauses/tobaccocancer/secondhand-
smoke)

<http://en.wikipedia.org/wiki/Passive_smoking>

<http://www.mayoclinic.com/health/secondhand-smoke/CC00023>

~~~
sophacles
It's not the fact of risk, it is a question of level. Specifically, the
statement "just as dangerous" is just not true. Dangerous yes. Equally so? No.

------
gamble
Managers (and many programmers) tend to believe on a gut level that
programmers are only truly productive when there are fingers on the keyboard.

Unfortunately, in most organizations you don't want to be 'that guy' who
spends half his time scribbling notes, reading inscrutable documents, and
frequently talking with peers. It's hard for a casual observer to tell whether
you're productive, and many people will assume you're not.

------
edw519
Reminds me of an oldie but goodie about getting away from my computer:

"How do you achieve laser focus and concentration?"

The single most important thing I do to "achieve laser focus and
concentration" is to work in such a way that I don't need "laser focus and
concentration" to get my work done.

This has to be done the night before.

I always quit all online work at least 2 hours before bedtime and print
whatever I'm working on.

Then I go into any other room with program listings, blank paper, and pens
(especially red!) and plan out all of tomorrow's work.

All analysis, design, and refactoring must be done at this time. I do not
allow myself to sleep until the next day's work is laid out. I also do not
allow myself to get back onto the computer. The idea is to have a clear
"vision" of what I am going to accomplish the next day. The clearer the
better.

This does 2 things. First, I think about it all night (maybe even dream about
it). Second, I can't wait to get started the next day.

I always wake up and start programming immediately. Once I get going, it's
easy to keep going. Any difficulties are probably because I didn't plan well
enough the night before.

Not sure if that's the answer you're looking for, but whatever gets the work
done...

Original thread: <http://news.ycombinator.com/item?id=191199>

~~~
dfox
I used to do large amounts of programming on paper while commuting or waiting
somewhere, but in retrospect I threw most results of that away and did in
completely different manner when I got to computer. (for example, I wrote most
of the macros in dfsch's standard library into my notebook in interpreted
code, only to rewrite them in C when I started to actually implement that).
But even in that case, programming without computer caused actual boost of my
productivity. Unfortunately now I don't have much opportunity to do that and
you inspire me to try to somehow make time for that again.

~~~
mcantor
Even if you threw the notes away, creating them in the first place primed your
brain and helped you understand the problem domain more thoroughly.

------
RyanMcGreal
I'm reminded of Bill Watterson's description of how he would come up with
_Calvin & Hobbes_ strips:

> People always ask how cartoonists come up with ideas, and the answer is so
> boring that we’re usually tempted to make up something sarcastic. The truth
> is, we hold a blank sheet of paper, stare into space, and let our minds
> wander. (To the layman, this looks remarkably like goofing off.) When
> something interests us, we play around with it. Sometimes this yields a
> funny observation; sometimes it doesn’t, but that’s about all there is to
> it. Once in a while the cartoonist will find himself in a beam of light and
> angels will appear with a great idea, but not often.

------
bane
_I was even more puzzled when the network went down, which it often did. Half
of us worked on Windows PCs and half worked on Unix workstations. When the
network was down, the PC folks kept working because they had self-contained
local work environments._

Never underestimate the power of a self-contained work environment. Being able
to focus your entire development process to a single machine can be extremely
powerful in certain contexts.

~~~
xiongchiamiov
Similar arguments go for using a distributed VCS.

------
jmuk
It also reminds me of programming in Starbucks, where you have no (or weak)
network connection. Because of the network connection, you can concentrate on
programming (or design, or thinking) rather than time-consuming and attracting
information from the net.

------
signa11
i have heard this from my father who was at iit-k, circa 1970's: ibm having
installed their machine in the cs-lab on campus, wanted to paint an entire
wall in the lab with just a single word "THINK" !

it kind of amused me when i heard it at first. the real truth about it hit
home when i started debugging my first program ever (a taylor series 'sin(x)'
calculation).

------
m0nastic
I immediately thought of this blog post by Nate Lawson:
[http://rdist.root.org/2008/07/03/dead-listing-while-on-
vacat...](http://rdist.root.org/2008/07/03/dead-listing-while-on-vacation/)

Wherein he describes the process by which he prints out dis-assembly of a
program and goes through it by hand while at the beach.

------
melissamiranda
Massages and yoga classes work wonders to clear my head and solve design
problems I'm stuck on. It's impossible to see the problem from a new angle by
continuing to stare at the same screen for hours.

Maybe Google and Facebook got it right with those walkabout masseuses.

------
jwcacces
Seems like they're programmers without websites also...

