编程中使用汉字作为变量与使用英文作为变量到底有没有本质的区别?差距在哪里?

2020-04-16 15:01:50 +08:00
 Sniper416
2917 次点击
所在节点    程序员
32 条回复
killerirving
2020-04-16 15:13:11 +08:00
抛开编程历史发展原因,外国人学中文更难,中国人学英文更容易,所以还是英文更有竞争力。
guyeu
2020-04-16 15:13:44 +08:00
在大多数现代语言中没有本质区别,差距在于输入效率和跨平台兼容性以及可维护性。
MOETAN0
2020-04-16 15:19:08 +08:00
我是这么想的
1,英文保证在所有编辑器、终端下看起来都一样(这个和 tab/space 之争是一个道理)
2,代码书写效率,无需频繁切换输入法
murmur
2020-04-16 15:22:08 +08:00
在某些行业软件中使用中文变量函数名可能有意想不到的效果
什么叫英文更有竞争力,这句话我说了无数遍,中国人开发的软件、中国人使用、中国人维护,为什么要照顾洋人的感受?
你开发个武侠游戏,要把所有的技能翻译成中文再编码,你觉得蛋碎不
xianxiaobo
2020-04-16 15:27:38 +08:00
没有,我一直相信假如中国最先开始工业革命,假如中国最先发明了计算机和编程语言,那么编程肯定是用中文。
goodboy95
2020-04-16 15:43:36 +08:00
本质上没有,不过现在确实有些 ide 对中文支持不咋好(当然这个时候别说是变量名了,注释写中文都会蛋疼)
cmdOptionKana
2020-04-16 15:50:39 +08:00
并不是一切项目都要考虑外国人……很多项目就是小范围使用。
cmdOptionKana
2020-04-16 15:53:06 +08:00
中文变量名输入效率蛮高的,因为可以简拼,变量只要打一次,后面就首字母简拼非常方便。而且输入法也能设为半角符号。
rogwan
2020-04-16 15:58:39 +08:00
for item in items,驼峰命名 这些习惯,中文没法表现出来
rogwan
2020-04-16 16:04:10 +08:00
@xianxiaobo #5 有道理。中文先入为主,也是可以搞出方法的,近现代欧美人领先了一轮,英语成了习惯方案 。
augustheart
2020-04-16 16:04:35 +08:00
如果是本质上,没有任何区别。正常的现代编译器并不管你输入的是中文还是英文,对它来说都是符号(编译器使用的关键字例外,但是这些编译器关键字编译器本身也并不在乎它到底是什么)。
但是如果从浏览上来说,相对 ascii 字符,由于汉字的信息密度比英文大很多,看起来可能会有点累……
augustheart
2020-04-16 16:08:06 +08:00
@augustheart 当然信息密度大并不只是汉字这样,象形文字语言相对字母文字语言就会有类似的情况。
Sniper416
2020-04-16 16:09:38 +08:00
@augustheart 也就是说类似 js 这种解释型语言变量使用中文开销会大一些?
wr410
2020-04-16 16:09:44 +08:00
没区别,混淆器就是用奇奇怪怪 unicode 去替换变量名的
augustheart
2020-04-16 16:17:00 +08:00
@Sniper416 你再看一遍我的意思。
不会,只会眼睛累一点……
对编译器来说,apple 与苹果的区别,只是
"0x61 0x70 0x70 0x6c 0x65"

"0xe8 0x8b 0xb9 0xe6 0x9e 0x9c"
两个数组的不同而已……
lithbitren
2020-04-16 16:18:02 +08:00
没有本质区别,一般是不推荐用,有时候编码问题会带坑,不过部分特殊行业的变量名在实践上好像用中文变量真的比翻译后的英文变量要直观得多,最起码也比拼音或拼音缩写以及拼音英文混写好一亿倍。
xcstream
2020-04-16 16:20:27 +08:00
汉字是文化自信(滑稽)
goldenalex
2020-04-16 16:21:24 +08:00
我的理解是本质没有区别。

但是在编译的时候会使用更多的时间和占用更多资源,虽然你感受不到,但是应该确实存在的。。。
yinzhili
2020-04-16 16:22:20 +08:00
中文作为变量名可以,前提是要有统一的命名规范。
因为中文太灵活了。比如: [总费用] , [全部费用] , [合计费用] ,它们可以代表同一种含义,但取名的时候,就容易混乱。
IsaacYoung
2020-04-16 16:23:03 +08:00
打字慢

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

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

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

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

© 2021 V2EX