You are here

  1. Blogs
  2. » charles's blog

On writing code with pen and paper

I've just walked out of a written exam on Functional Programming in Haskell. Given my preference for keyboard and text editor over pen and paper I ran into more than a few issues.

Ampersands and pens don't mix.

I think nine out of every ten lines in my answer booklet contained crossings out. Paper and code don't mix. Consider


mutilate :: [(A,B)]-> [C]
mutilate x:xs = let (a,b) = frobnicate x
in mung a : mung b : mutilate xs

the above would probably have started out as


mutilate something = foo : bar : mutilate something

At which point there are a number of insertions and line changes, many of which require the re-writing of the entire function. Of course one could write in pencil and make copious use of a rubber (or eraser if you speak a dialect of English other then British). There are two drawbacks to using a pencil: the possibility of wearing through the paper, and the exam rubric insists we use only blue or black ink.

Of course we could all be given a seat in the labs, but then half of us would be complaining about not having our favorite plugin for our favorite editor, and others* complaining about not having notepad, and someone would lose half their answers because eclipse** ate it.



* Yes, there are CS students prefer Windows + notepad to anything else. Why they haven't been re-educated with the LART** yet I don't know
** Rapid Prototyping, contrary to popular belief, is not the use of development environments other than Eclipse. Honest.
*** (l)user (a)ttitude (r)eadjustment (t)ool. Also used for excessive percussive maintenance...

Subject: 

Add new comment

BBCode, html and code systax highlighting

  • Allowed HTML tags: <a><img> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><strike><hr>
  • Lines and paragraphs break automatically.
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

My Band

LinuxCounter.net

Creative Commons License
Except where otherwise noted, work is licensed under a Creative Commons Licence and is the work and opinion of the credited author(s).

Powered by Drupal

My Facebook


Charles Elwood's Facebook profile