#[Argh!/Aargh!][1] (4*4=16)

What was that about using the right tool for the job? There are no comments (in the language in general). 

The entire family of programs (generated in J: `((|.@:|:) ^: (i. 4)) >'hpqh';'q01p';'p32q';'hqph'` or `((|.@:|:) ^: (i. 4)) 4 4 $ 'hpqhq01pp32qhqph'`)

    hpqh
    q01p
    p32q
    hqph

rotated once:

    hpqh
    q12p
    p03q
    hqph

rotated twice:

    hpqh
    q23p
    p10q
    hqph

rotated three times:

    hpqh
    q30p
    p21q
    hqph

To explain this, it might be best to look at an "indented" version (That also works in all rotations):

    hhpq h
      0  h
    q   1p
    p3   q
    h  2  
    h qphh


This version shows that the program consists of 4 separate parts, one for each individual rotation. 

 - `h` - set control flow left
   
 - `p` - print item in data/code raster below it
   
 - `q` - quit the program

  [1]: http://www.sha-bang.de/12_eso/Argh-Spec.txt