V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
snake8090
V2EX  ›  问与答

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

  •  
  •   snake8090 · 2019-05-26 00:27:47 +08:00 · 9223 次点击
    这是一个创建于 2009 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚接触 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()



    晚上闲着睡不着,随便问问,如果有什么认识不到位的地方,请多多指教!
    133 条回复    2019-07-06 04:00:00 +08:00
    1  2  
    xzc19970719
        1
    xzc19970719  
       2019-05-26 00:31:29 +08:00
    没啥不行。。只要你是领导
    isCyan
        2
    isCyan  
       2019-05-26 00:31:36 +08:00 via Android   ❤️ 1
    并没什么反对的
    主要是懒得切换输入法,以及编程语言是英文,中英混合不舒服
    如果你支持中文编程,请拿出作品
    你这个贴很容易引战,恳求楼下不要开战
    taotaodaddy
        3
    taotaodaddy  
       2019-05-26 00:33:12 +08:00 via Android
    好的,支持二楼
    kevinhwang
        4
    kevinhwang  
       2019-05-26 00:38:09 +08:00
    中文编程目前有以下问题:
    1. 输入法需要跟进,例如“ "; ; 。 .
    2. 中文编码问题,有 utf-8,gb2313 等等,不易发现问题,编译器解析有一定难度
    3. 英文目前是全球官方语言,你考虑了国人的感受,但考虑过外国人的感受吗?
    Humorce
        5
    Humorce  
       2019-05-26 00:39:32 +08:00
    给代码再追加一份 l18n 清单。
    seki
        6
    seki  
       2019-05-26 00:40:36 +08:00   ❤️ 1
    这种话题怎么也能月经的。请善用搜索,看一看以前的类似内容的帖子
    Cyron
        7
    Cyron  
       2019-05-26 00:44:11 +08:00 via iPhone   ❤️ 1
    可以 但没必要
    nvkou
        8
    nvkou  
       2019-05-26 00:51:07 +08:00 via Android   ❤️ 14
    编译器接受的话才懒得管你变量叫啊猫啊狗呢。emoji 都可以用。
    但关键字呢?用中文当关键字的话语义是 OK,语法不好说。尤其是嵌套或递归的时候。自己试试?
    拿中文去实现英语为基础的编程语言感觉好别扭

    要搞就把中文的博大精深搞出来

    当(领导.发言().等价于(意思意思)){
    断言(领导肯定有点意思)
    若(领导.发言().流解析().解析语气(不是暗示).解析场景(非公共场合).实施解析()在领导常见意思枚举内){
    准备工作
    }否则{
    抛出 新的敢不明白异常
    }
    }
    likai
        9
    likai  
       2019-05-26 01:02:11 +08:00 via Android
    中英文不停的切换,不累么
    yangzhezjgs
        10
    yangzhezjgs  
       2019-05-26 01:08:23 +08:00 via Android
    这种毫无意义,设计一个中英文对照表,做了中英文转换程序就符合你的要求了
    dodo2012
        11
    dodo2012  
       2019-05-26 01:13:44 +08:00
    有一点就是打汉字要多打几个字符
    snake8090
        12
    snake8090  
    OP
       2019-05-26 01:21:14 +08:00 via Android
    这么晚还有那么多没睡的啊!
    snake8090
        13
    snake8090  
    OP
       2019-05-26 01:24:06 +08:00 via Android
    闲着无聊,学 python 玩的,不懂英文,看个错误提示都费劲呐
    CEBBCAT
        14
    CEBBCAT  
       2019-05-26 01:26:29 +08:00 via Android
    一来其实啥啥语言关键字就那几十个,二来中文编程也没有能成事儿的。

    有的人是中立的,有的人觉得英文编程当然原教旨 /高雅啦,一平均下来就是没有叫好的。

    而且看英文单词能直接想到意思不需要以中文为媒介似乎高中生就可以达到。
    MonoLogueChi
        15
    MonoLogueChi  
       2019-05-26 01:29:29 +08:00 via Android
    变量支持中文的话,用中文没问题,但是关键字是英文的,切来切去很麻烦,输玩字符串经常不知道自己是中文状态还是英文状态,打错了才知道有问题
    VEEX6
        16
    VEEX6  
       2019-05-26 01:43:48 +08:00 via Android   ❤️ 1
    你是嫌锟斤拷烫烫烫不够舒服?
    ysc3839
        17
    ysc3839  
       2019-05-26 01:46:04 +08:00
    我不反对中文编程,但我不喜欢只使用中文编程的人。
    自己写代码用中文命名变量什么的我觉得是没什么问题的,个人选择而已。
    但是网络上许多中文编程一般不是这种情况,而是基于现有语言或者从零开始开发一个全中文的语言,面向那些不会英文的人群。
    但是我觉得这类人群编程水平应该不会太高,对我来说英文编程语言也不涉及复杂的英语语法,并不难学会。
    hx1997
        18
    hx1997  
       2019-05-26 01:47:17 +08:00 via Android
    你举的例子只要编译器支持 Unicode 标识符就行吧,我觉得中文编程不应该只是换了皮的英文编程。
    gcloud
        19
    gcloud  
       2019-05-26 01:53:20 +08:00 via Android
    马上能想到的有:
    中文占地比英文大。再好的编码也比英文占地方。
    中文凑在一块都是方方正正的不好分辨。
    中文是用中文括号还是英文括号没有统一的说法。
    汉语字没有字母文字好学。这是以前我看一本语言文字的书讲的,难学(总共有三难)是汉语的一个显著特点,所以不利于这门语言的推广。
    gcloud
        20
    gcloud  
       2019-05-26 01:55:51 +08:00 via Android
    @gcloud 不是汉语,是汉字,应该是难读难认难记。
    charlie21
        21
    charlie21  
       2019-05-26 01:58:35 +08:00   ❤️ 3
    你提先有鸡,有人反对;你提先有蛋,也有人反对。这就一群阴阳人
    4lokale
        22
    4lokale  
       2019-05-26 02:01:27 +08:00 via Android   ❤️ 1
    先放结论,我断定
    方程式未知数,求和极限各种符号用中文之日,就是中文编程崛起之时。

    用中文编程是没问题的,但是整个计算机体系是全世界贡献的,英语又恰好是世界通用。
    且不说计算机学科,整个理工科教育体系,大多都是从英文翻译过来的,中文表达数学定理公式都很别扭,本身中文就容易指代不明,用中文描述嵌套多层的逻辑比你想象的要困难。
    中文编程语言总得写编译器,还得自举,那编译成的汇编语言和机器码呢,指令集呢。你总得在某一个层面上把中文和英文对应起来。
    中文编程也许会有好处,但是在目前这种输入设备都是英文的时候,我想便于理解加注释不就好了。写代码又不是写作文,你写的是逻辑。
    况且,编程语言不能称为英文,他只是一些关键字和变量名。相信你有机会学了编译原理前端知识就会明白。
    AzadCypress
        23
    AzadCypress  
       2019-05-26 02:47:36 +08:00 via Android
    这是在自我孤立
    janus77
        24
    janus77  
       2019-05-26 04:18:15 +08:00 via iPhone
    我觉得中文编程最大的疑问就是:如果只是为了语义化理解更准确,那么我觉得跟英文没区别。因为现如今计算机知识的基础概念和术语资料都是英文的,如果你是熟练的从业者必须看懂这些资料,也就能熟练掌握英文编程。
    一句话,你觉得英文难理解是因为你不够熟练。解决这个问题,是多学习英文,而不是换中文。
    msg7086
        25
    msg7086  
       2019-05-26 04:47:26 +08:00   ❤️ 3
    我们写的代码,全球大多数人口都能读懂也都能参与进来做贡献。
    你写的代码,只有不到一半的人口能读懂。

    那我为什么要听你的。

    先不说代码,只说注释,你可以看看本地化的和国际化的哪个更容易被更多的人理解。
    https://github.com/makiuchi-d/delogo-avisynth/blob/master/logo.h
    https://github.com/msg7086/DelogoHD/blob/master/DelogoHD/logo.h


    创建新回复过程中遇到一些问题:
    发布这个内容需要你首先完成 手机号验证
    ysc3839
        26
    ysc3839  
       2019-05-26 04:53:27 +08:00 via Android
    @msg7086 对于不是面向特定用户的开源项目,如果代码 /文档 /commit message 不是英文的话我会觉得不爽。因为用英文的话意味着更多人可以了解、使用这个项目。
    Ultraman
        27
    Ultraman  
       2019-05-26 05:05:19 +08:00   ❤️ 11
    我一度怀疑你是好久没看到的某个人的小号。。。
    ian19znj
        28
    ian19znj  
       2019-05-26 05:39:30 +08:00 via iPhone
    @vcinex 跟我想的一样,哈哈哈
    gavindexu
        29
    gavindexu  
       2019-05-26 06:14:08 +08:00 via iPhone   ❤️ 1
    中文编程,再降低培训班的难度?
    连单词是什么意思都不用记了?
    那中文编程,只能逛 CSDN 了,
    Google 出来的东西都别看了呗。

    不能怪罪到英语上,
    往满清的闭关锁国上推啊。
    Yvette
        30
    Yvette  
       2019-05-26 07:09:01 +08:00   ❤️ 14
    楼主的建议还不够激进,我建议用方言编程,广东人都用粤语写「雷吼世界」可以进一步降低门槛,识得唔识得啊
    whwq2012
        31
    whwq2012  
       2019-05-26 07:15:47 +08:00 via Android
    因为毫无意义,语言的牛逼还是本身语法的完善以及效率高,扩展性强。
    如果做了一门中文语言的话,只有形似但是硬实力不过关还是没用的。
    最后如果用中文不好在世界上推广,其他国家的人学习成本太高了,一门封闭的语言注定得不到好的发展。
    5G
        32
    5G  
       2019-05-26 07:19:09 +08:00 via iPhone   ❤️ 1
    我只能告诉你楼主,这里是不适合讨论这个话题的地方,因为这里已经被很多类似切个输入法就会觉得累的这样的人给占领了,不是一个世界一个道路的人,你何必呢?
    Cbdy
        33
    Cbdy  
       2019-05-26 07:29:50 +08:00 via Android
    testeststs
        34
    testeststs  
       2019-05-26 07:45:46 +08:00
    没什么可反对的,你想搞搞就是了,
    人家可以搞一个 C 语言,你也可以搞一个 H 语言吗,他也可以搞一个 X 语言吗?
    至于有多少人用,那是大家用脚投票了。
    Fulcrum
        35
    Fulcrum  
       2019-05-26 07:47:49 +08:00 via Android
    你可以用
    helica
        36
    helica  
       2019-05-26 07:47:59 +08:00 via iPhone
    看不起没文化的人,就这么简单
    lidongyx
        37
    lidongyx  
       2019-05-26 07:55:36 +08:00 via iPhone
    如果有人告诉你学英文应该这样学:古德猫宁、爱拉五油,你觉得该不该反对?
    如果有人告诉你数学应该这么学:“圆周盈数三丈一尺四寸一分五厘九毫二秒七忽,朒数三丈一尺四寸一分五厘九毫二秒六忽”(汉字里的圆周率),你应不应该反对?
    甚至有小红们声称用汉字才算复兴中华,反对英文和阿拉伯数字,你说这样的人是不是拖出去打死?
    然而事实上自毛衣战以来,爱国热潮抬头,这样的言论此起彼伏,你就明白国家不兴的根源了
    netfee
        38
    netfee  
       2019-05-26 08:07:13 +08:00 via Android
    先 b 为敬,避免看见这些毫无意义的讨论,不对,吵架,真的毫无意义
    fyibmsd
        39
    fyibmsd  
       2019-05-26 08:09:04 +08:00 via iPhone
    又来了
    Bardon
        40
    Bardon  
       2019-05-26 08:10:10 +08:00
    本身就不是英文编程,哪来的所谓中文编程...
    itfun
        41
    itfun  
       2019-05-26 08:10:54 +08:00
    0.但凡学了点英语,有初中英语水平,就可以用英语编程了吧?
    1.在技术上有追求的程序员,肯定不会排斥英语,而去使用中文编程。
    2.中文编程,可以作为降低编程门槛的工具,让更多的人入门编程。但是宣传中文编程比英文编程更有优势,从而让入门了的人一直搞中文编程,不是蠢就是坏。
    3.当然,开放的心态也很重要,个人认为中文编程有他有趣的一面,ps:建议发展一下传统文化,搞搞文言文编程,指不定还能得个弘扬传统文化先进标兵:)
    whileFalse
        42
    whileFalse  
       2019-05-26 08:13:21 +08:00 via iPhone
    我反对在我的公司里搞中文编程。
    如果有人在我现在的公司用中文编程,就骂到他改掉为止。
    如果进入新公司发现对方用中文编程,就离职。

    对于非商业公司内的中文编程,我持中立态度
    testeststs
        43
    testeststs  
       2019-05-26 08:13:32 +08:00
    @itfun
    我突然有个脑洞,
    将来人工智能和机器人普及的时候,大多数人被从繁重重复的体力劳动中解放出来的时候,
    中文编程或许有用武之地,大爷大妈都可以自己编程,来个全民编程。
    love
        44
    love  
       2019-05-26 08:31:39 +08:00 via Android
    输入中文里输入英文慢 10 倍,更别提还有输入法切换,所以干嘛要用中文
    snake8090
        45
    snake8090  
    OP
       2019-05-26 08:53:27 +08:00
    感觉戾气好重啊!
    而且总有些人,什么事都能和国家 民族 文化这些扯上,累不累啊?
    编程语言只是工具,工具是为了方便人创造的,就像西方人吃饭使用刀叉,中国人使用筷子,难道还能用这个来评判谁更先进文明?
    只是周末闲着无聊随便问问,没想到成了引战贴,结帖吧!
    shijingshijing
        46
    shijingshijing  
       2019-05-26 09:01:47 +08:00
    @Yvette 你真是优秀。。。 早上起来把我笑死。。。
    loading
        47
    loading  
       2019-05-26 09:03:14 +08:00
    楼主真的打过一次你说的代码吗?
    输入法切换都要疯了,而且你举的例子,很多语言其实是支持的。

    见楼主是新号,我告诉你一般对付您这种问题,一般是点“忽略主题”,忍不了就 block.
    vinew
        48
    vinew  
       2019-05-26 09:04:58 +08:00 via iPhone
    易语言???
    inhzus
        49
    inhzus  
       2019-05-26 09:14:33 +08:00 via Android
    你中文编程半年就知道有多么没用且麻烦了
    flynaj
        50
    flynaj  
       2019-05-26 09:36:02 +08:00 via Android
    你那个变量中文,其实不算中文编程,易语言这种才是,看着都累 。
    hantsy
        51
    hantsy  
       2019-05-26 09:42:22 +08:00
    很多年前,记得有一门什么易语言,就是中文语法,基本赞同于翻译 Visual Basic。。。不知道现在在不在了。
    @snake8090
    hantsy
        52
    hantsy  
       2019-05-26 09:43:09 +08:00
    @flynaj 易语言估计也是在编译过程中加一道翻译而已。
    kekxv
        53
    kekxv  
       2019-05-26 09:46:33 +08:00 via Android
    @vinew 我也想说易语言
    不要以为每个字看得懂,就能把每个句子看懂
    比如说这句:你真厉害
    你觉得是夸还是贬?
    所以汉语博大精深 ,别指望计算机能懂你
    如果是中文变量的话,你试试 vs2015 以后的版本,支持中文变量,你也可以宏定义关键词,但是,等你学会之后发现,当年写的代码怎么就那么的辣眼睛
    araaaa
        54
    araaaa  
       2019-05-26 09:47:58 +08:00 via iPhone
    因为是规范
    qinxi
        55
    qinxi  
       2019-05-26 10:06:08 +08:00
    @charlie21 #21 首先找出两项反对者是同一个人才能得出阴阳人的.
    并且在编程问题上先有鸡还是先有蛋是明确的.
    张口你就先把别人批判一番.
    hhecoder
        56
    hhecoder  
       2019-05-26 10:06:43 +08:00 via Android
    楼上说的这些全都可以用拼音代替。

    其实原因就是就是
    1 学编程的时候一开始用的就是英文。

    2 大家都用英文我不用显得我特立独行和没文化?

    3 提高编程门槛,筛选人群,建立护城河。
    snake8090
        57
    snake8090  
    OP
       2019-05-26 10:06:45 +08:00
    @loading 我是设置的拼音输入法,英文标点,不用来回切换输入法
    hubqin
        58
    hubqin  
       2019-05-26 10:10:00 +08:00 via Android
    不觉得中文的视觉负担好大么?试比较[if, 如果],[test,测试],[function,函数]……
    snake8090
        59
    snake8090  
    OP
       2019-05-26 10:13:34 +08:00
    @hhecoder 很赞同



    顺便问大家一句,自己写的代码,半年后再回头看,还能看懂吗?
    还是说要想想当初都写了什么?
    手动[滑稽]
    snake8090
        60
    snake8090  
    OP
       2019-05-26 10:15:10 +08:00
    @hubqin 不懂英文,感觉还是中文看着更直观
    rogwan
        61
    rogwan  
       2019-05-26 10:19:58 +08:00 via Android
    加入计算机是中国人发明的,楼主的问题可以反过来问:怎么用英语编程这么麻烦啊。因为那时所有的语义习惯都是参照中文习惯的,实际的问题是编程起源于英语,所以英语习惯优先了。
    andyhuzhill
        62
    andyhuzhill  
       2019-05-26 10:22:20 +08:00
    @snake8090 #59 半年后能不能看懂 和你是不是用中文写的 没有关系
    就算你是用中文写的 半年后 也不一定就能一眼看懂当时写程序时的思路
    loading
        63
    loading  
       2019-05-26 10:33:54 +08:00
    @snake8090 wo shi shuo li mian de zhong wen.
    hundan
        64
    hundan  
       2019-05-26 10:34:31 +08:00 via Android
    嗯… 其实写的出好代码 我觉得其他都无所谓 但是我也会低看一点中文编程的初学者

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

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

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

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

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

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

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

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

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

    >>> 1 if true else 0

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

    所以,我对中文编程的态度是看人。新人搞这个,是想偷懒,应该纠正。普通人搞这个,是误人子弟,活该被喷。专家搞这个,研究如何提升效率,这个是他的自由,不过在搞出来之前也应该低调,否则就是沽名钓誉。
    chen2019
        81
    chen2019  
       2019-05-26 16:12:53 +08:00
    你既然要中文了 就中文好么。。。。 中文.英文() 个人受不了
    charlie21
        82
    charlie21  
       2019-05-26 16:36:27 +08:00
    我对于这事的逻辑比较简单,只要 Python 不禁掉 utf-8 编码支持,那么中文编程就永远有人去做;不仅是中文编程有人去做,还有日语编程、韩语编程、俄语编程;你爱咋想咋想,爱怎么自己回避就怎么会回避、爱让其自生自灭就让其自生自灭,但是如果你把这些人杀了那么你要去坐牢、如果你把 Python,如果你用你的自由发言表达来促使它灭亡,那么别人可以自由发言说 诶 “用英文还用出优越感来了”

    Python 社区于 2019 年 2 月选出的五人指导委员会:

    Barry Warsaw
    Brett Cannon
    Carol Willing
    Guido van Rossum
    Nick Coghlan

    他们没有将 “仅允许基本拉丁字母编程” 放入 python 语言特性,那么,我觉得,是有一定道理的
    https://discuss.python.org/t/2019-steering-council-election-results/824

    另外,看看 中蟒
    ```

    載入 系統
    文件名 = 系統.參數[1:]

    定義 修正行尾(文件):
    內文 = 打開(文件名).讀入()
    內文 = 內文.替換('\n\r','\n')
    傳回 內文

    取 文件 自 文件名:
    寫 修正行尾(文件)
    </pre></blockquote>

    ```
    它是一个典型的非拉丁字母编程,实际上这样的编程操作有很多,真的不止中文
    https://en.wikipedia.org/wiki/Non-English-based_programming_languages


    Based on non-English languages

    Aheui; 아희 – An esoteric programming language similar to Befunge but using Hangul (Korean)[4]
    AMMORIA – Open source object oriented Arabic programming language, designed especially for Arabs.[5]
    Аналитик – A Russian-based language for symbolic manipulations with algebraic expressions used in the Soviet series of MIR computers.[6]
    Эль-76 – A Russian-based language for symbolic manipulations with algebraic expressions used in the Soviet series of МВК Эльбрус computers.[7]
    ARLOGO – The first open-source Arabic programming language, based on the UCB Logo interpreter.
    AxumLight / Geez# – Amharic-based programming languages on the .NET platform[8]
    丙正正 – Chinese C++.
    BAIK – C with Indonesian keywords[9]
    BASICOIS - BASIC with French keywords[10]
    Bato – A scripting language based on the Filipino language (Tagalog). The first Filipino programming language.
    Changjo – A language using Hangul (Korean). It is used for multimedia and game programming.
    ChaScript – A scripting language based on Bengali and is first of its kind. It is built using ECMAscript grammar.[11][12]
    Chinese BASIC – Chinese-localized BASIC dialects based on Applesoft BASIC; for Taiwanese Apple II clones and the Multitech Microprofessor II.
    Chinese Python – a version of Python localized to Chinese.[13]
    Dolittle, ドリトル – A Japanese programming language developed for educational purposes.[14]
    DRAKON — A visual language in which any language may be used.
    Drama [nl] – An assembly language for didactical purposes based on Dutch.
    Dzintars – Ruby translated into Latvian; claims to be the first Latvian programming language.
    Easy Programming Language (易语言) – A Chinese rapid application development language.
    Ebda3 – A multi-paradigm high-level Arabic programming language.
    Enkelt – A programming language that uses a Swedish syntax.
    எழில், Ezhil programming language – A Tamil programming language developed for educational purposes.[15]
    farsinet – A Persian (Farsi, فارسی, پارسی) object-oriented programming language for .NET framework. It is similar to C# and Delphi.
    Fjölnir – An Icelandic imperative programming language of the 1980s.
    FOCAL – Keywords were originally in English, but DEC produced versions of FOCAL in several European languages.
    4th Dimension – On local versions, its internal language uses French or German keywords.
    G-Portugol – A programming language with Portuguese keywords.[16]
    GarGar – A Spanish procedural programming language based on Pascal for learning purposes.[17]
    ΓΛΩΣΣΑ – A Greek programming language based on Pascal that is used for teaching purposes in secondary education.[18]
    GOTO++ – A French esoteric programming language loosely based on French and English.[19]
    ひまわり (プログラミング言語) [ja] ひまわり – Sunflower, a Japanese programming language.[20] It is used for hobby and business applications.
    Hindawi Programming System – A set of variants of C, C++, lex, yacc, assembly, BASIC, Logo and Ada, in Bengali, Gujarati and Hindi.
    Hindi Programming Language – A Hindi programming language for the .NET Framework.[21]
    hForth – A Forth system with an optional Korean keyword set.[22]
    Jeem ج – An Arabic programming language, based on C++ with simple graphics implementation.[1]
    kalimat – An Arabic programming language that aims to help Arab children learn about programming.
    Karel – An educational programming language with Czech and Slovak versions.
    Kotodama on Squeak, ことだま on Squeak – A Japanese programming language based on Squeak for educational purposes.[23]
    Kumir [ru] – A Russian-based programming language similar to Pascal and IDE, mainly intended for educational usage in schools. The name is an acronym, which means Комплект ученический 'Мир' ('Mir' student's environment).
    Latino – A language with a completely Spanish-based syntax ( https://github.com/primitivorm/latino).
    Linotte – A French programming language.
    Logo – In one of its Apple II editions, it was available in French. LOGO for the Commodore 64 had an Italian localization.
    Loughaty (MyProLang) – A general-purpose natural Arabic programming language based on a proprietary syntax.[24]
    Lusus – A Latin programming language. It is the first programming language to be exclusively in Latin.[25]
    LSE (Language Symbolique d'Enseignement) – a French, pedagogical, programming language designed in the 1970s at the École Supérieure d'Électricité. A kind of BASIC, but with procedures, functions, and local variables, like in Pascal.
    Mama – An educational programming language and development environment, designed to help young students start programming by building 3D animations and games. It is currently available in English, Hebrew, Yiddish, and Chinese.
    Mind – A Japanese programming language.[26] It is used for hobby and business applications.
    MS Word and MS Excel – Their macro languages used to be localized in non-English languages.
    ML4 – A language for client/server database programming, with keywords in English or German.[27]
    Nadesiko, なでしこ – A Japanese programming language.[28][29]
    1C:Enterprise – A Russian framework and language for business applications. English keywords can also be used.
    Pauscal [es] – A language with a completely Spanish-based syntax; compiler for 32-bit Windows.
    Lingua::Romana::Perligata – Alternative Syntax for Perl 5 that allows programming in Latin.
    Phoenix – A C-like high-level imperative procedural Arabic programming language.[30]
    potigol – A functional programming language in Portuguese for beginners.
    PSeInt – A pseudocode interpreter for Spanish, like Pauscal, with a completely Spanish-based syntax. PSeInt is an abbreviation for Pseudocode Interpreter.
    قلب (qlb) – An Arabic Scheme-like programming language exploring the role of human culture in coding.[31]
    Qriollo – An impure strict functional programming language that compiles to C, Python and JVM Bytecode, with keywords in Rioplatense Spanish, spoken in Buenos Aires.[32]
    Produire, プロデル – An object-oriented Japanese programming language.[33] It is used for hobby and business applications.
    Rapira – A Russian-based interpreted procedural programming language with strong dynamic type system.
    Robik [ru] – A simple Russian-based programming language for teaching basics of programming to children.
    RoboMind – An educational programming language available in Arabic, Chinese, Dutch, English, French, German, Greek, Polish, Brazilian Portuguese, Spanish, Swedish, and Turkish.
    SAKO – A language created in the 1950s and nicknamed the "Polish Fortran".
    Scratch – An introductory visual programming language from MIT's Media Lab with support for programming in multiple languages included as standard.
    Sema – An Arabic CSS implementation.[34]
    Sí – A direct translation pseudo-language for coding in C and C++ with Spanish keywords.[35]
    Simorgh (SPL) سیمرغ – An object-oriented, general-purpose, interpreted and precompiled, portable and open-source programming language.
    Ssiat – A language using Hangul (Korean). The name Ssiat (씨앗) means "seed" in Korean.
    Swaram – A simple, general-purpose and procedural language designed for programming in Tamil.[36]
    Superlogo – A Dutch creation for computer-aided instruction, based on Logo.
    TamliLogo – A Hebrew implementation of Logo.
    TECO - The programming language used to drive the actions of the TECO text editor. The MIT dialect of this language was used to program early versions of Emacs before its 1985 rewrite in Emacs Lisp.
    TI-Calculator BASIC – The 68000 version is localized. Unfortunately, various configuration strings are localized too, preventing direct binary compatibility.
    TTSneo[2] – A Japanese programming language. It is used for hobby applications.
    VisuAlg – A language designed to teach programming, in Portuguese, based in Pascal.
    W-Language – A French programming language used in the WinDev CASE Tool. A Chinese version[37] is also available.
    YMB (Yazyk mashin buchgalterskih) – ЯМБ (язык машин бухгалтерских) (machine language for accounting) – A Russian programming language for Iskra-554, Iskra-555, and Neva computers.
    Yorlang – A Yorùbá programming language built on top of Node.js.[38]
    ZhPy – A full-featured Python module which converts Chinese keywords, variables, and parameters.

    见见世面,好么
    JCZ2MkKb5S8ZX9pq
        83
    JCZ2MkKb5S8ZX9pq  
       2019-05-26 16:46:11 +08:00
    阿拉伯数字太难认了,高等数学的符号也太多了,把数学也中文化吧。
    kwanzaa
        84
    kwanzaa  
       2019-05-26 16:52:30 +08:00
    输入法切换很蛋疼
    yinjy
        85
    yinjy  
       2019-05-26 17:10:56 +08:00
    这是个伪问题,不论你用中文或英文做变量名或关键词,最总都变成机器码,
    你直接用 define 把关键词改成中文,现在就可以实现中文编程
    charlie21
        86
    charlie21  
       2019-05-26 17:22:50 +08:00   ❤️ 1


    “我用不上的 都是垃圾”



















    “我用不上的 都是垃圾” 这只会显得你自己是____
    charlie21
        87
    charlie21  
       2019-05-26 17:26:19 +08:00
    @qinxi 来请你思考一下问题本身
    royrs
        88
    royrs  
       2019-05-26 17:42:48 +08:00
    可以,但没必要。
    masker
        89
    masker  
       2019-05-26 18:09:14 +08:00 via Android
    为什么不学易语言啊。易语言明显最适合你啊
    SuperMild
        90
    SuperMild  
       2019-05-26 18:48:27 +08:00
    每当提到中文编程就有很多人表示强烈反感,这个现象真的很奇怪。

    有人说程序里有中文英文夹杂,看着很烦。但是,注意,普通英文编程的程序里,也有可能夹杂大量中文字符串啊!还有中文注释。

    比如做前端的,这个 V 站的页面,大量中文,也是在代码里与英文混在一起。

    有人说切换输入法麻烦,同理,中文字符串和中文注释也需要切换输入法,为什么大家就坦然接受?而对中文编程就强烈反感?

    我看到很多人反对中文编程,但却没有看到很合理的理由。
    0x3f3f
        91
    0x3f3f  
       2019-05-26 19:06:26 +08:00 via Android
    Talk is cheap. 尽管反对声音不断,支持者们还是可以继续努力的。去证明它,加油。
    tetora
        92
    tetora  
       2019-05-26 19:59:21 +08:00
    主要是缺少知名作品吧,有知名作品可以打 V2EX 90%的用户的脸
    aWangami
        93
    aWangami  
       2019-05-26 20:03:52 +08:00 via Android
    要是 Github 的项目都是非英语在语言编码的,你会怎么想?
    ipwx
        94
    ipwx  
       2019-05-26 20:21:15 +08:00
    中文字符之间加一堆英文标点、空格,那样的文本我感觉很丑。。。
    bbq777aass
        95
    bbq777aass  
       2019-05-26 20:25:28 +08:00 via Android
    自己玩你随便,没人会反对吧?
    话说回来,若日本人搞了个,马来人搞了个,法国人也搞了个,是否会让这个世界又多了些许隔阂?
    英语已经成为了这个星球上最通用的语言,想改变的话,真得从几千年前做起。
    secondwtq
        96
    secondwtq  
       2019-05-26 20:30:39 +08:00
    @SuperMild 首先良好国际化的项目里面是不会出现零散的中文字符串常量的,注释就随便了,不过国际化的团队开发也是不会允许非英文注释的

    不过这都是小问题,我看到的现象是,绝大多数讨论中文编程的都停留在简单翻译现有主流编程语言的表面上,并没有在方法论层面做出任何实质的创新(比 APL 之类的差远了),除了把几个单词翻译了一遍之外提供了什么额外的好处?哪里体现了中文特别的思想?所谓中文编程的 advocates 们就没有一个人去思考这些问题

    https://zhuanlan.zhihu.com/p/66349646
    wu67
        97
    wu67  
       2019-05-26 21:00:41 +08:00
    编程语言我根本不管, 我只关心中文文档. 像某些人无脑推英文我就很反感, 像什么不用英文就是不与世界接轨、就是 low、连英文文档都看不懂都是垃圾...文化自信都被狗吃了
    SuperMild
        98
    SuperMild  
       2019-05-26 21:17:44 +08:00
    @secondwtq 为什么要上升到国际化和创新呢。

    比如写小说和写技术书籍,通常都是用本地语言写,当需要国际化的时候再翻译,这个模式一直运作良好。

    写技术博客也一样,很多人写的技术博客,其内容价值比 GitHub 上很多个人小项目都大,为什么没有人痛恨中文博客,说 “不够国际化”?

    如果技术书籍、技术博客大量采用中文以及中英文夹杂,都没有惹人反感,那么写代码用了中文,怎么就特别招人厌呢。

    即便是纯种英国人、美国人写代码,在给变量、类、函数取名时都会感到棘手,这是个很普遍的问题,而中国人,很大一部分程序员英文都不会十分好,取名用英文,很多时候只是看起来是英文,其实很可能是词不达意、歧义、拼写错误、中式英文、拼音、英语混合拼音等等……为了解决这个问题,用一个贴切的中文名,为什么会那么惹人反感。

    我特别好奇这种心理。
    zpf124
        99
    zpf124  
       2019-05-26 21:46:12 +08:00
    因为打字麻烦。
    xinhangliu
        100
    xinhangliu  
       2019-05-26 21:48:25 +08:00 via Android
    累不累啊?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1324 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 17:44 · PVG 01:44 · LAX 09:44 · JFK 12:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.