书接上回。
上回介绍了Brainfuck这个神奇的编程语言,还放了一个JS写的没写对的Brainfuck解释器来丢人。去年(14)WWDC之后 闲的蛋疼更新Yosemite Beta的时候又闲的蛋疼顺便下载了个Xcode 5 beta体验了一把Swift。话说这Swift就是好啊, 作为一款编译型的编程语言,融合了这么多现代语言的特性,写起来相当爽(奇葩的是连输入输出函数都没有……)。当初为了 体验就写了一个Swift的Brainfuck解释器
这个解释器用到了Swift的枚举之类的特性,也体现出了let
和var
的区别。和上次那个JS版的相比这次用了递归…
(好像没搞尾递归…另外尾递归明明就是伪递归嘛!就是把迭代写成了函数形式==……)似乎高大上了许多,但是执行点
稍微复杂的Brainfuck还是会蛋疼(哪里复杂了!!)当然也可能是我生成的Brainfuck太渣……
看过编码:隐匿在计算机软硬件背后的语言之后我真是 感受很深。这本书解答了我关于计算机原理的很多疑惑,这样自底而上学过之后再看汇编啊C语言啊甚至Brainfuck 都简单多了。所以回味了回味就用C写了个加法器的实现,用CoffeeScript写了一个 生成Brainfuck的DSL 这样一来算是更深层次地理解了CPU和DSL。