To all who Think Themselves a Programmerより。
サンフランシスコのある会社での求人なのだが、この会社では一次選考として、どの言語を使用してもいいので最悪なHelloWorld(画面にHello Worldと表示させるだけのプログラム)を書いてもらい、それを採用基準にしている。
最善の手法ではなく、最悪な手法で試すとはなかなか面白い。言語選びなどでも個性が出るので、その人の潜在的なスキルが試される。日本じゃこんな手法を採用している企業なんて少ないよなぁ。
採用された例
原文より抜粋して掲載。変態的(褒め言葉)なHello Worldの世界へご招待。
その1
y = lambda { |f| lambda { |x| lambda { |n| (f.call (x.call x)).call n } }. call lambda { |x| lambda { |n| (f.call (x.call x)).call n } } } hw = y.call lambda { |f| lambda { |n| if n 0 then (f.call (n-1)) end } } puts hw.call 5
その2
import urllib2 import re u = urllib2.urlopen("http://saymix.com/") from tokenize import generate_tokens, STRING from collections import defaultdict wf = defaultdict(lambda: 0) for tp,vl,_,_,_ in generate_tokens(u.readline): if tp == STRING: for v in re.compile(r'w{5}').findall(vl): wf[v.lower()] += 1 print "%s %s" % tuple([v[0] for v in sorted(wf.iteritems(), key=lambda (k,v): (v,k))[-2:]])
その3
import sys;y = 0;z="" for a in [["y+=1","y<.".find(m)] for m in "+>>>>++>>.+>>+>>+++++>>+.+>>++>>+++>>.+>>++>>+++>>.+>>++>>+++>>+++.+>>>>"+ ">.+>>+>>>>+++++++.+>>++>>+++>>+++.+>>++>>+++>>++++++.+>>++>>+++>>.+>>+>>+++++>>."]:exec(a) print z
その4
from random import choice from itertools import count from zlib import crc32 import sys any(crc32(h)==472456355 and not sys.stdout.write(h) for h in(''.join(choice('! edHlorW')for _ in '.'*12)for _ in count()))
その5
set 68 65 6C 6C 6F 1 77 6F 72 6C 64; while $1 ; do dd if=/dev/urandom bs=1c count=1 2> /dev/null | sed -n "/\x$1/{ p; Q1; }" || shift; done; echo
その6
eval(gzinflate(base64_decode(' 4+Wyt+PlsrEvyCjg5UrOSSwuVgjPL8 pJUajm5eIsKE3KyUxWSCvNSy7JzM9T 8EjNyclX0NAES3KmJmfkK8THu4X6OY d4+vvFx1vDRZMzijSMjTStkZQ5+zgG B0PU1PJyAZFKhYKtQl5qOcQ+a5CArh 3YBg2QRiRnAQA=')));
で上記のコードを展開したのがこれ。
class World { public function Hello () { echo __FUNCTION__; echo chr(32); echo __CLASS__; } } $x = new World; $x->Hello();
その7
ps aux | head -1 | awk '{print $11$5}' | tr '[103117115115101116104126123132]' '[110145154154157127157162154144]' | sed 's/o/o /'
その8
ps ax | awk -F":" '{ print $2 }' | grep "Hello Bitches" | awk -F" " '{print $3 " " $4 }'
よくこんなコードのを思いつくなと感心する。
この本の内容も負けず劣らず変態的(誉め言葉)なコードのオンパレード。こちらの本に書かれている内容はずっと実用的だが。