最近看到太多关于中文编程的争论,搞得我在梦里都在用中文编程,不得不说,用中文写汇编很酷(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形象了有没有,给不明真相的围观妹纸随意朗诵一段中文汇编程序,立即就充满了武侠气质。

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

9028 次点击
所在节点    奇思妙想
58 条回复
panlilu
2014-08-18 10:47:49 +08:00
给楼主点个赞
jok3r
2014-08-18 10:50:20 +08:00
这个不是知乎上的吗?








不要随便盗取别人的答案啊!!!!!!!!
akfish
2014-08-18 10:55:54 +08:00
kslr
2014-08-18 10:58:06 +08:00
发现还相当不错。
dorentus
2014-08-18 12:35:14 +08:00
@q397064399 汉字是否落后我不予置评。

但是拿到编程语言的例子里来看的话,汉字也罢、拉丁字母也罢、其它奇怪的字符也罢(比如传说中的 APL 用的关键字),都是符号,只有方不方便输入之分,没有落不落后之分;在同一门语言里,无论怎么换符号,语言的表达能力不变。

其实就拿楼主的汇编的例子来说吧,假如是用英文,那么假如我不懂英文,我也可以靠背诵来记住语言里面会用到的所有符号,背诵的过程可能比较难,但是背会了之后用起来一点问题都没。

而假如母语为英语的编程者,其实也还是要经过一个背诵学习的过程的;然后母语丰富的词汇量没准还会有一些不利的影响(拿到汉语的环境下来说,就是肯定有时我会忽然忘了到底是“推”还是“顶”还是其它的动词……)

所以就这点来说,我是觉得编程语言不用汉语其实是方便了母语为汉语的编程者的……
ravenw
2014-08-18 13:12:09 +08:00
屌爆了
reverland
2014-08-18 13:38:54 +08:00
哈哈
Artotria
2014-08-18 13:58:12 +08:00
die = 爹
光是这一个我就不忍直视了(/▽\)
bcxx
2014-08-18 14:06:03 +08:00
真 literal programming XD
aaalzk
2014-08-18 14:08:57 +08:00
我觉得中文可以做一些可视化编程,面向平时不编程的人,也许还有点用处
rentaro
2014-08-18 14:14:38 +08:00
我以为在看《周易参同契》
durrrr
2014-08-18 15:04:42 +08:00
一看到中文就产生一股切换输入法的恐惧感
dudor
2014-08-18 15:30:15 +08:00
这这这。。。。算命的啊。。。
HowardMei
2014-08-18 16:07:10 +08:00
@rentaro LoL
易经本来就很像个“模拟人生”一样的程序,由八卦定义语法和运算规则,
只是更接近 Functional Programming,而不是面向对象。

中国原生哲学,道生万物那一套,就属于创生论,而不是
原子论,跟软件领域 FP vs OOP 的路径差异非常类似。

只是没有好好系统化地发展,被叶公好龙、不求甚解的浪漫文科生们,
将其一味神秘化、毁掉了,使它沦落成为算命、迷信工具。

语言本身只是思想的载体,拉丁文、德文、法文都曾经是主流科技语言,
现在英文领先,不是它本身有多牛叉,而是用英文发布牛叉思想的人最多,
他们自然也会不断改造英文,使她适应时代需求。

中文显得落后,无非因为承载的思想落后,要想改变,只有用它来表达、
创造最先进的思想,而这就需要中文使用者,从用各种语言表达的牛叉
人物那里汲取养分,把自己先变成牛叉人物,再用中文创造牛叉思想,
改造和充实中文,否则只会害死中文。
P233
2014-08-18 16:07:27 +08:00
@txlty @clino @q397064399 亚里士多德在《形而上学》中提到 “为知识本身而探求的知识,总比为应用而探求的知识更近于智慧。为求知而求知的人,自然选取最真实的也是最可知的知识。”,从这个角度上说西方的科学思想一开始便与中国“学以致用”的思想有着很大分歧。再到后来伽利略开创了科学实验的验证体系,中国在科学之路上已经彻底落后西方了。
pljhonglu
2014-08-18 16:13:25 +08:00
我只感觉到楼主好闲啊。。。竟然有时间整理出来,竟然还有汇编的例子。。。
Macrov
2014-08-18 16:25:17 +08:00
LZ真棒,以前也经常YY这块。
现在比较认同象形文字不太适合做这种编码工作,但是一直思考是不是现有的知识束缚了咱们的思考。

大家有没有记得007有一集邦女郎在她小基地里用的键盘,全部都是中文的,我记得好像不是传统的键盘画的五笔,所以我想如果一切从头开发,当我们不知道有英文这种东西我们去做计算系统,做出一套最基本的软件环境来会是什么样子。

国家随便拨点钱搞一下多好,很有意思么。
bulldozer
2014-08-18 17:34:23 +08:00
林语堂曾经把自己的几乎全部稿费收入投入到中文打字机的发明,一度接近破产。
bulldozer
2014-08-18 17:42:57 +08:00
其实中国文化庙堂和江湖、市场有一个很大的脱节

比如中国是最早出现银行、会计的国家,它日常记账所用助记符相当简单

但你几乎看不到有人整理这些,我们得到的信息仿佛祖先就靠种田,和之乎者也度过了几千年
clino
2014-08-18 18:26:59 +08:00
@P233 其实追根究底差别还是来源于地理,中国的地理特点导致了历史发展趋向于专制统一,经济上倾向于重农抑商,西欧的地理特点导致了历史发展较趋向于平等自由,经济上倾向于重商主义

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

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

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

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

© 2021 V2EX