Befunge语言和文言文编程
在Project Euler通关的时候有个题用遍历循环过了后觉得应该有更好的方法,于是去论坛看别人的解法,结果发现了一种变态语言Befunge。去维基看了看:
这门语言由Chris Pressey在1993年创造,本意为设计一种尽量难编译的语言……结果马上出现了一批编译器。
还真是够欠啊……简单来说这种语言以二位形式书写,程序维护一个指令指针(IP)指向当前执行的指令,用^v<>作为指针移动的依据、四则运算则是直接取出两个栈上的值进行运算。和汇编一样,代码中出现的任何符号可以是数据也可以是指令,甚至可以是注释(不用特别标识,只要永远不执行即可)。比如下面这段代码就是寻找第10001个素数(来自于Jarjar):
25*:*:*1-20p 300p030p040p v @.g04<v `g02g03< |< v g00 < vg00<>00g:40p > 2+00p^ > :10p1-!v!-1p01:-1g01< ^ p03+1g03_00g10g% #^_^ >93*\: 50p60p>50g:60g\/v |:-1p05/2+< ^ $\g05<
看完这让人斯巴达的语言后我想了想中文编程内有没有类似的恶搞语言呢?基于Whitespace的“草泥马语言”算是一个,当年看到时候笑到敲地。然后突然想到文言文编程何如?没想到已经有高人完成了:唐鳳,被称为计算机怪才的Perl Guru,致力于用Haskell实现Perl 6的自由程序员。她的故事不赘述,想了解的话可以google一下,我们这里只看看PerlYuYan。文言文的Perl写出来像是下面这样,有兴趣可以去CPAN上下载回来玩玩。
#!/usr/local/bin/perl use Lingua::Sinica::PerlYuYan; 用警兮用嚴。 印道 一至一 哉兮 印編曰雜申雜申矣 又纖曰龍鼠矣 又曰一矣 亂曰 國無人莫我知兮 又何懷乎故都 既莫足與為美政兮 吾將從彭咸之所居
03 4月 2011 in 程序
Comments [12,917]