为什么一提到编程语言中文化,就有那么多人反对呢?

2019-05-26 00:27:47 +08:00
 snake8090
刚接触 python 的小白,有点疑惑
为什么一提到中文编程,就有那么多人反对?
比如:用中文来定义变量,类,不是更容易理解吗?
毕竟我们的母语是中文,看到的第一事件就能明白是什么意思,如果是一个英文单词,还要想一下,我当初定义这个是干嘛用的?

例如下面这样,不是更好理解吗?


import pygame
from 飞机精灵 import *

pygame.init()

主窗口 = pygame.display.set_mode((512, 768))

背景 = pygame.image.load("./图片包 /草地背景.png")
英雄 = pygame.image.load("./图片包 /玩家飞机 1.png")

主窗口.blit(背景, (0, 0))
主窗口.blit(英雄, (205, 600))

pygame.display.update()

帧率 = pygame.time.Clock()

玩家位置 = pygame.Rect(205, 600, 102, 126)


敌机 1 = 飞机精灵("./图片包 /敌机.png")
敌机 2 = 飞机精灵("./图片包 /敌机.png", 3)

敌机组 = pygame.sprite.Group(敌机 1, 敌机 2)

while True:
# 设置游戏刷新率
帧率.tick(60)

for event in pygame.event.get():

if event.type == pygame.QUIT:
print("退出游戏......")

pygame.quit()
# exit()直接终止当前正在执行的程序
exit()


玩家位置.y -= 3


if 玩家位置.y < -126:
玩家位置.y = 768


主窗口.blit(背景, (0, 0))
主窗口.blit(英雄, 玩家位置)



敌机组.update()

敌机组.draw(主窗口)


pygame.display.update()


pygame.quit()



晚上闲着睡不着,随便问问,如果有什么认识不到位的地方,请多多指教!
9339 次点击
所在节点    问与答
133 条回复
rogwan
2019-05-26 10:19:58 +08:00
加入计算机是中国人发明的,楼主的问题可以反过来问:怎么用英语编程这么麻烦啊。因为那时所有的语义习惯都是参照中文习惯的,实际的问题是编程起源于英语,所以英语习惯优先了。
andyhuzhill
2019-05-26 10:22:20 +08:00
@snake8090 #59 半年后能不能看懂 和你是不是用中文写的 没有关系
就算你是用中文写的 半年后 也不一定就能一眼看懂当时写程序时的思路
loading
2019-05-26 10:33:54 +08:00
@snake8090 wo shi shuo li mian de zhong wen.
hundan
2019-05-26 10:34:31 +08:00
嗯… 其实写的出好代码 我觉得其他都无所谓 但是我也会低看一点中文编程的初学者

因为显然编程本身不需要学什么英语 像楼主说的问题 翻译就行了 而且在英语已经比较普及的情况下 英语本身就是一道很浅的门槛 如果还因为英语而换用中文编程 更让人觉得写代码的人技能点太少 连基本英语都没学好 像是学生时代玩了好几年 然后开始学编程

其次 我有时候觉得 和英文单词相比 中文的理解有点吃力 可能是我的错觉?

如果是初学者 要学习编程 我是很瞧不起用中文或者拼音的 但是如果学有所成 我一样佩服
1024hack
2019-05-26 10:35:19 +08:00
@Yvette 粤语写的也是 你好世界😂
isleon
2019-05-26 10:49:31 +08:00
1.不改变语言本质,用什么符号只是表象,改变现在的大局没有意义。
2.若哪天有中文编程语言有了什么本质改变,适用于新的特质(比如说模糊的语义适用于人工智能),那才有出现的必要。
3.语言用英语的门槛不算高,连几个简单的单词都不想记的,编程也难学会。
ben1024
2019-05-26 10:50:48 +08:00
烫烫烫
JohnDoeChou
2019-05-26 11:50:12 +08:00
import pygame
from 飞机精灵 import *

引入 py 游戏
从 飞机精灵 引入 所有
Ho
2019-05-26 11:53:38 +08:00
也是,要是中文编程有点孤立国内的环境。中文的学习难度可是上了 TOP 榜单的
jon
2019-05-26 12:13:16 +08:00
隔壁日本的 ruby 也没有用日文啊
springx
2019-05-26 12:16:42 +08:00
1. 编程语言中文化,只是降低了初学者的门槛,并不能对工程师有什么显著帮助
2. 现已存在的大量代码是基于英文编写的,无论是否中文化,学会英文化的编程都是必须的,那何必多此一举给自己增加学习量和工作量呢
limbo0
2019-05-26 12:19:43 +08:00
用中文屏蔽了地球上 80%的人
sheldor
2019-05-26 12:29:39 +08:00
@charlie21 先有鸡还是先有蛋的问题 结论应该是先有蛋吧 下蛋是一种繁衍方式 超越物种本身的 卵生动物历史比鸡悠久的估计多了去了 某种物种是卵生的 某一个时间上 这种卵生动物进化成了鸡
reking
2019-05-26 12:48:55 +08:00
可以用中文的,事实上很多新的语言不光是中文变量,连 emoji 都可以用来命名变量
123s
2019-05-26 13:14:55 +08:00
中文打得快还是英文打得快?学了十几年英文,为什么要抗拒?
charlie21
2019-05-26 13:45:36 +08:00
你提先有鸡,有人反对;你提先有蛋,也有人反对。这就一群____

来,你 NB 请你填个词 @qinxi
qinxi
2019-05-26 13:58:22 +08:00
@charlie21 #76
不去思考问题的本身先把别人批判一番才是 NB
keelii
2019-05-26 14:07:43 +08:00
这到不是反不反对的问题,而是合适不合适的问题。

想想如果有个人把中文古诗词翻译成英文给你听,而你又是个土生土长的中国人,那看英文版肯定会觉得哪儿不对,即使你懂英语。

你用英文翻译一下:「万水千山,人山人海」试试?

程序就像流水一样自然,而英文的特点简单流畅;所以我认为用英文来表达程序思想更合适。
相反中文的特点在于字正腔圆、文字错落有序,讲究音韵节奏,落差对比之美。

举个例子,对于母语是英文的人会很容得看懂 python 中的行肉条件判断语句:

>>> 1 if true else 0

但是中文就不行,中文先有「如果」再有内容。
weyou
2019-05-26 14:23:57 +08:00
用中文编程并不是不可以,关键在于输入法,中文输入法的速度问题是最大的障碍。
coderluan
2019-05-26 15:58:29 +08:00
我对于这事的逻辑比较简单,那就是事情有先后和难易:编程一般是大学才开始接触的,编程用的基本英语是高中甚至初中就学了的。所以中文编程,就类似于不想读高中就要直接考大学,看似走捷径,实际是条远路,抛开效率低下的问题,最严重的问题是你用的技能永远只能是大街货或者二手货。

所以,我对中文编程的态度是看人。新人搞这个,是想偷懒,应该纠正。普通人搞这个,是误人子弟,活该被喷。专家搞这个,研究如何提升效率,这个是他的自由,不过在搞出来之前也应该低调,否则就是沽名钓誉。

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

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

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

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

© 2021 V2EX