On Tuesday, February 28, 2012 09:03:33 AM John Mitchell wrote:
One of the tests I give all interviewees is write a very short program in a language they have never ever used before
I typically recommend either Intercal, or one of various assembler languages that are out of date (well, not really out of date, but out of date for mainstream computing. My old TRS-80 Z80 assembler skills come in handy when playing around with certain DVD drives' firmware, since a Z80 variant is used in many such drives). Make 'em do something in 6502 that absolutely has to use page zero stuff, or in Z80 where a block instruction would be the best way to accomplish a task. Or maybe handcoded ia64, or MIPS, the 6502's godgrandchildren.... Object shmobject, let me see the bytes! And if they choose to try it in Intercal, they have to use at least two COME FROM statements. In a 'Hello World' type program (of course, 'Hello World' in Intercal is, well, interesting, and reads like an obfuscated perl contest entry. The point being, if you can make something useful happen in Intercal, you can probably do something useful in a sane language. The skills I'm looking for are simple: be able to think sideways, and on your feet, with unfamiliar tools if necessary. That is, be a quick study who doesn't cringe at any language, tool, toolkit, or technique that might need to be used.