最近看到太多关于中文编程的争论,搞得我在梦里都在用中文编程,不得不说,用中文写汇编很酷(dou)炫(bi)

2014-08-18 03:07:52 +08:00
 akfish

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

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

十六进制弱爆,我大天朝天干地支60进制,但是为了兼容性,好吧,就很生硬的十天干+五地支编码了1~F
1|2|3|4|5|6|7|8|9|A|B|C|D|E|F
—|—|—|—|—|—|—|—|—|—|—|—|—|—|—|—
甲|乙|丙|丁|戊|己|庚|辛|壬|癸|子|丑|寅|卯|辰

这时中文的伟大就提现出来了有没有,用他们洋鳖的阿拉伯数字的话,要区分十进制和十六进制需要加前缀后缀,0x神马的,h神马的,中文的话:
十进制:二百五
十六进制:辰子

至于指令神马的,洋鳖们又是mov,又是push,还pop,都不等长,多难看!中文的话,都是一个字,多么整齐!

示例代码:

四八六 矣
平模   矣
码     矣

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

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

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

  弹 震      
  弹 巽
  移 艮,兑 
  弹 兑 
  返

吾函 终
终

像武功秘籍对吧?

我们再来看看洋鳖们的写法:

.486
.MODEL FLAT
.CODE
PUBLIC _myFunc
_myFunc PROC
  ; Subroutine Prologue
  push ebp     ; Save the old base pointer value.
  mov ebp, esp ; Set the new base pointer value.
  sub esp, 4   ; Make room for one 4-byte local variable.
  push edi     ; Save the values of registers that the function
  push esi     ; will modify. This function uses EDI and ESI.
  ; (no need to save EBX, EBP, or ESP)

  ; Subroutine Body
  mov eax, [ebp+8]   ; Move value of parameter 1 into EAX
  mov esi, [ebp+12]  ; Move value of parameter 2 into ESI
  mov edi, [ebp+16]  ; Move value of parameter 3 into EDI

  mov [ebp-4], edi   ; Move EDI into the local variable
  add [ebp-4], esi   ; Add ESI into the local variable
  add eax, [ebp-4]   ; Add the contents of the local variable
                     ; into EAX (final result)

  ; Subroutine Epilogue 
  pop esi      ; Recover register values
  pop  edi
  mov esp, ebp ; Deallocate local variables
  pop ebp ; Restore the caller's base pointer value
  ret
_myFunc ENDP
END

一点也不整齐,一点也不土气,居然还需要那么多奇怪的注释才能让人看懂这段代码,弱爆了!

程序员从此不再是手无束鸡之力的geek形象了有没有,给不明真相的围观妹纸随意朗诵一段中文汇编程序,立即就充满了武侠气质。

需要中文编程的少年们,学汇编去吧。

9045 次点击
所在节点    奇思妙想
58 条回复
XadillaX
2014-08-18 19:43:37 +08:00
二进制本身就是从太极和八卦中受到的启迪。
jakwings
2014-08-18 20:58:10 +08:00
我想知道哪个支持法是没被喷过的,有朱邦復老先生的那个中文系统吗?有的话再附上让大家知道也好啊。
http://www.cbflabs.com/
jamiesun
2014-08-18 21:04:49 +08:00
易经就是一本编程书啊
zhounew
2014-08-18 21:12:51 +08:00
@jamiesun 有可能真的就是一本古人的编程书。。。
xrui
2014-08-18 21:26:59 +08:00
@P233 我们数学老师曾经说,这就像是算法和理论的区别。像秦九韶的那个大衍求一,秦九韶算法等都是很先进的。袖里吞金那不也是吗。
形而上学不懂
Automan
2014-08-18 22:06:11 +08:00
@XadillaX 二进制那是无奈之举
hustlzp
2014-08-18 22:46:44 +08:00
吊!被楼主智商完爆了!
P233
2014-08-18 23:03:02 +08:00
@xrui 对比一下过去的两千多年里,西方的治学观是学以致知,而东方则多强调学以致用。前者为了获得知识而探索知识,如亚里士多德说 “最高级的学术研究的开始,只在人生的必需品以及使人快乐安适的各种物品几乎都得到了之后”,并且对知识的探索,验证,传承等逐渐形成了一套完整的体系,发展出了科学。而后者得到的多是片段化的知识,某些地方确实很突出,却远远谈不上系统化的知识体系。历史书上强调我们很多理论比西方早发现几百年,但却没有发展出一门学科来。我想这也是楼上几位提出中国没有孕育科学的土壤的原因。
davidli
2014-08-18 23:20:41 +08:00
楼主请收下我的膝盖
akfish
2014-08-18 23:59:29 +08:00
@aaalzk +1,中文编程用于启蒙,或者特定系统里面的DSL/脚本语言有一定的价值,专业开发就呵呵了。

@jakwings 剩下的2个是懒得喷/没空喷。你贴的那个例子并不是编程中文化,不在喷的范畴内。
Mutoo
2014-08-19 00:08:09 +08:00
这..比草泥马语牛逼多了! https://code.google.com/p/grass-mud-horse/
akfish
2014-08-19 00:09:16 +08:00
@q397064399
@dorentus
+1,英语之所以在现代这么有生命力/侵入性,就在于其语言的复杂度恰好在一个合适的范围内,英语和数学、现代科学天然兼容也不全是偶然。
开发语言/平台这种东西到最后就是拼社区大小(其实科学研究也是),英文编程只需要知道26个字母,记得关键字的单词,全世界的人民都能很快上手来用,语言学习门槛也不高。要是中文的话,非中文母语国家的人先乖乖的花几年学会中文,再花半年练习中文打字,再来写hello world吧,这时的中文水平还不一定看得懂文档。

所以我经常喷那些连中文都会了,却觉得英文要命的人非懒即笨。
xrui
2014-08-19 00:31:58 +08:00
嗯嗯,嗯……为什么我想到了中医呢。
9yu
2014-08-19 01:45:23 +08:00
码出这么多字,佩服……
fzss
2014-08-19 12:52:15 +08:00
哈哈哈哈笑死了
Havee
2014-08-19 22:55:28 +08:00
讨论编程语言,却讨论出中西文优越性......

老实说,收音机里听中文相声,可以听的津津有味,中文表达能力强
收音机里听听英文相声试试,没有语境、没有手势,没有表情,就是抓瞎
跟老外讲话,需要手势、表情、语境等配合,结果就是手舞足蹈,就像耍猴一样。

编程语言,语理越简单越适合,英文适合,数字更适合,跟机器直接沟通的就是0/1。侧面反应该语言的贫乏,没有深度。

汉子不适合编程,同样完全没必要用英文用出优越感。
themachine
2014-08-22 20:14:15 +08:00
@HowardMei 不苟同你文科生的看法,不过后面两点很赞。

|语言本身只是思想的载体,拉丁文、德文、法文都曾经是主流科技语言,
|现在英文领先,不是它本身有多牛叉,而是用英文发布牛叉思想的人最多,
|他们自然也会不断改造英文,使她适应时代需求。
|
|中文显得落后,无非因为承载的思想落后,要想改变,只有用它来表达、
|创造最先进的思想,而这就需要中文使用者,从用各种语言表达的牛叉
|人物那里汲取养分,把自己先变成牛叉人物,再用中文创造牛叉思想,
|改造和充实中文,否则只会害死中文。
benjiam
2014-09-29 08:30:07 +08:00
中文 英语并无区别
为了中文而中文不可取。英语有很大的优势,字母组合表示意义,而汉字的象形写法太复杂,没有好的编码方式。什么天干地支 你的CPU都是别人设计的,靠这种东西来意淫中国文明?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/128466

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX