http://cms.csdnimg.cn/articlev1/uploads/allimg/130117/138_130117161126_1.png

今天看到一篇很有意思的文章,提出了对于中国古代汉语和编程语言核心思维的某种联系。

比如x86汇编,通用寄存器恰好8个,这是巧合么?其实是与我大天朝古代的八卦暗合了:

原名 | 中文
—–| —–
EAX | 乾
EBX | 坤
ECX | 坎
EDX | 离
ESI | 震
EDI | 巽
ESP | 艮
EBP | 兑

1|2|3|4|5|6|7|8|9|A|B|C|D|E|F
甲|乙|丙|丁|戊|己|庚|辛|壬|癸|子|丑|寅|卯|辰

 

而动作指令mov,push,pop,则是

 

这样一来,一段如下的程序

486
.MODEL FLAT
.CODE
PUBLIC _myFunc
_myFunc PROC

  push ebp   
  mov ebp, esp 
  sub esp, 4  
  push edi   
  push esi   

  ; Subroutine Body
  mov eax, [ebp+8]   
  mov esi, [ebp+12] 
  mov edi, [ebp+16] 

  mov [ebp-4], edi   
  add [ebp-4], esi   
  add eax, [ebp-4]  
               

  pop esi     
  pop  edi
  mov esp, ebp 
  pop ebp 
  ret
_myFunc ENDP
END

用古代汉语,则可变成

四八六 矣
平模   矣
码     矣

公 吾函
吾函 始
  推 兑     
  移 兑, 艮 
  减 艮, 四   
  推 巽     
  推 震     

  移 乾, 存之兑增辛   
  移 震, 存之兑增丑  
  移 巽, 存之兑增甲零  

  移 存之兑去四, 巽   
  加 存之兑去四, 震   
  加 乾, 存之兑去四   

  弹 震      
  弹 巽
  移 艮,兑 
  弹 兑 
  返

吾函 终
终

所谓中文编程语言其实在多年前流行过一段时间,比如名震天下的易语言,写出了无数病毒和外挂。但我们都知道,这些所谓的中文编程不过是偷换关键词的VB等等,距编程的核心思想还差的很远——那些都是英文思维的。

但是若我们往更古老,更本质的地方趴,就会发现,在更深层的地方,程序是与中国传统的古老文化相呼应的。

退到汇编这么底层,我们就会发现无论是八卦,还是天干地支,都能很好的诠释机器的运行和对其的操作。

而更底层,则是0和1的二进制代码,这就像是阴和阳一样,这种微妙的两极在中国传统文化和计算机程序的编写里面都体现的淋漓尽致,让我们不得不为古老人民的智慧所折服。

前几天看到孕峰的一篇文章,他认为编程,文字,音乐在灵性上面是由低到高的,理由是编程最为死板,文字有形,而音乐飘渺,我觉得并非如此,这三种都是创作,用代码,用文字,用音符,创作的最终结果各不相同,对人的影响也不同,但相同的是,它们由有限的东西出发,却可以有无数个可能的结果。

这也和人的生命颇为相似,我们都由一片白纸般的婴儿开始,在这个纷繁的世界生长,最终,每个人都鲜明的决然不同。

也许我们对所有创造的崇尚,就是源于对生命的可能性的追求吧。


我的微信公众号~