各种"简单"活动可以看作是计算-但是编织吗?是的,编织...
我不得不承认,我已经使用编织图案作为程序的示例,并传达了编程和编程语言的总体思想-但是您见过编织图案吗?现在,我们通过恰当地命名为``计算的编织模型''来更深入地了解编织和计算之间的关系。
争论是,形成运行编织图案程序的计算硬件的不仅仅是人,还有编织针和线圈。即,织针和不同类型的针脚形成计算机的计算硬件。
首先,我们可以看到,手工编织针既具有存储功能,又具有针迹处理功能。
基本思想是,用一对针编织时,每个针迹有点像在图灵机磁带上写一个针迹。
但这并不止于此-您可以用多于两根的针和不直的针来编织。如果您有三根针,那么第三根针就像额外的存储空间。一端被阻塞的针的作用类似于LIFO或堆栈。两端尖的针可以用作双头队列或双端队列。
从这里开始,事情变得越来越虚幻,但是您确实需要意识到,编织远比乍看起来要复杂得多。例如,毛线球是自由存储的,并且每个针脚都可以看作是与其相连的针脚的指针的数据结构,即链接的数据结构。
关于编织本质上是顺序编织的观察导致人们猜测,它是冯·诺依曼体系结构的一种实现,但是每个针都形成了倾向于成对工作的计算单元,因此,冯·诺依曼进行了编织。
整个过程有四个时钟周期的操作序列,对应于编织标准针迹。还有用于创建不同类型针迹和普通针迹的操作-l,扭结pur等-您可以在原始博客文章中阅读详细信息。
" ...一旦我们确定了编织过程的原子,就可以将它们用作各种手工编织针迹和编织说明的基础。
这听起来太实用了。我更喜欢考虑抽象的计算机科学问题。在冯·诺依曼(Von Neumann)编织方面,停顿问题是什么?有没有可争议的袜子吗?可用内存是有限的还是无限制的?围巾复杂性问题又如何呢?
要了解有关I Programmer的新文章的信息,请安装I Programmer工具栏,订阅RSS feed,在Twitter,Facebook,Google +或Linkedin上关注我们,或注册我们的每周时事通讯。