overview
overview copied to clipboard
专用帖: 对中文编程的质疑, 困惑, 批评, 吐槽请到此处
源自: https://github.com/program-in-chinese/Java/issues/1#issuecomment-341907176
道理不辨不明. 即使是反面的意见也会有正面意义. 欢迎灌水. 将从中提取有用建议到新issue. 此后, 其他帖中的类似内容将被归整到此处(如果是新开的issue将被close, 如果是与原主题帖无关的跟帖回复将被删除).
@ice1000 关于https://github.com/program-in-chinese/Java/issues/1#issuecomment-341906689 提到的, 个人理解如下:
虽然暂时这里还算清静, 但迟早宁静会被打破. 其实有点意外, 在知乎上我感觉已经立了挺大一个flag但到现在还没有直接拍我的. 在可能出现的潮水中, 还望各位尽量遵循守则. 当然对于前来无理捣乱的也将直接处理.
主要是有很多很垃圾的人也在倡导这些,比如C#前几天那个闹得特别大的大新闻
@ice1000 我参与了那个讨论啊. 这里就是我的小结. 还是有收获的. 尤其是最后HaloFour对这个刚需的赞同. 中文编程由来争议很多, 个人倒不是很在意. 在辩论过程中发现的一些质疑可能会有价值, 因为短板和缺陷尽早发现也好. 比如中文命名的风格, 也是经常被针对的一个点. 所以开了https://github.com/program-in-chinese/overview/issues/45
再补几句. 中文编程的路注定不会平坦. 对它有兴趣的开发者现在肯定是少数, 愿意以开源的形式进行尝试实践的开发者就更少. 这里希望能够集合各种对中文编程的不同方面的思路和实践. 这里列出的至今总结的所有四个方面都各有意义, 相辅相成.
门户之争, 以及各种形式的鄙视链会把原本就寥寥的力量更加分裂. 个人希望尽量避免. 而对于本组之外的有类似目标的声音, 即使不能接纳到组里, 一旦决定参与讨论, 尽量是从他们所述的有理的部分加以尽量客观和就事论事的论述, 其他自己不认同的部分只要不触及底线就不予碰触, 也正是我在那个汉化C#讨论里试图做的. 但这个钢丝比较难走, 最好要保持不偏不倚, 从事实和实践出发, 尽量作为一个独立第三方作纯粹的技术探讨, 而绝不是"选边站".
一句话, 在理性和严谨的前提下, 团结一切可以团结的力量. 这是我个人努力做的.
首先我觉得应该和那个p开头的中文版C#的那个人划清界限
哦不是q开头
我还是觉得, 尽量对事不对人吧. 之前把他请出讨论组(而且block所有access)的决定, 我现在还在检讨. 也许, 当时如果他能在这个讨论组内部发表那个提议, 至少我们还能先作一些工作/劝说. 没有了这个渠道, 也许也是促使他直接向C#组提issue的诱因之一.
退一步说, 尤其是看到 @swizl 的那个知乎回复后, 我觉得至少他的出发点是纯粹的, 相信也代表了不小的一部分人的心声. 尤其是对编程本身不大了解, 但对新技术名词(AI, 智能, 自然语言等等)充满憧憬的(08年我出来的时候也对AI有挺大的憧憬, 在那之前也算写了几年代码, 所以对这种憧憬有些共鸣). 因此在开始对他的一些提议还是尽量从技术角度讨论和建议的. 说到底, 请他出讨论组是因为资源太有限, 假如有人手把手带他入门, 相信他也不会一直徘徊.
那么问题来了. 中文编程的很大一部分受众相信会是对编程无甚了解, 但对技术有憧憬的. 虽然现在也许需要屏蔽一些这些声音来集中精力做实事, 但迟早在推广时几乎是必然会和他们打交道. 那么也许, 在整个实践和语言设计过程中, 也不能完全脱离这个群众基础, 不然恐怕会有无根之水之虞.
我收回之前的两条comments。毕竟code is data,token确实该国际化。重点是国际化而非本土化。
@dou4cc token国际化是指创造新的编程语言时, 支持多种自然语言的token吗? 个人觉得很难设计一种语法适用于不同自然语言. 由于各种自然语言本身语法用法习惯的差异, 简单的token映射的结果应该和汉化现有英文编程语言达到的效果差不多. 更理想的也许是像AppleScript, 对不同语言(法/日语)设计不同的语法. 但在那之前, 不首先推广一个或多个仅支持中文语法的编程语言, 个人感觉是还没会走就想跑.
另外, 中文编程包括的不止语言设计, 还有命名空间. 之前的讨论在https://github.com/program-in-chinese/overview/issues/42#issuecomment-338555855. 另在中文编程专栏目录, 初衷和希冀中有详述. 其他issue有命名风格等的深入讨论.
@nobodxbodon 程序语言的语法和自然语言无关。不是支持多种语言的token,而是各种token的名字不存储在源码里,源码里放token id之类的东西,ide显示源码时按语言包显示。
@nobodxbodon 主貼裡面舉的第一張圖,還有那個只有一行的中文代碼(那行代碼把 Java 原始結構中的半角括號、半角花括號與半角分號,全都拿掉了,刻意體現出一種異化的感覺),可能有點誇張——或者說戲劇化——了。之所以看上去有些怪,可能是因為表意字符(例如中文裡面的字)與編程裡面用到的一些符號(例如半角括號、半角等號)放在一起,給人一種視覺上的張力(或者說叫人有些緊張),當然這個問題可以通過字體與排版等手段來緩解,我認爲不太適合當作反對中文編程(或者反對用某種非英文的語言來編程)的理由。
另外就是,如果把中文換成其他語言,例如日文、韓文、德文、法文,乃至拉丁文、梵文(如果我可以這樣胡亂舉例的話),那會不會出現這些問題呢?(當然這一段話,尤其是用最後那兩個語言來舉例,完全是我空想的,或許沒辦法和現實對應起來)
刚找到了第一张图的出处: 四年前的如果计算机是由中国人发明的,那么编程时写代码会是全中文吗? - 田雅夫的回答 - 知乎 相信原作者的玩笑成分为多. 还找到了这篇文章的前一版本: 如果编程替换成中文就会怎样? 程序员看了表示头疼 发现一些区别, 推敲了一下. 前文的VB例子明显不如中文代码来的一目了然. 因此后文强行改为了Java代码(也不顾易语言和VB的事实关系了), 靠着编辑器的高亮功能勉强得出英文代码更清晰的结论.
而前文中的第一个易飞扬代码(来源), 明显有较强的可读性, 以至于都不敢拿同样功能的英文代码进行比较. 因此后文直接删除了, 以更复杂也更难以一目了然的易语言程序代替. 加了一句在以前初中,老师在上完课后教了我们有趣的易语言中文编程,那时候感觉很有趣
, 以示自己有易语言使用经验.
全文的中心似乎是"中文并不适合现有的编程方式", 后面的"未来的发展可能超出你的想象"也是画饼而已. 最大的意外是, 后面竟然提到现代的语言比如Java,都支持Unicode,也就是说可以用中文甚至世界其他语言做变量名和函数名
. 本以为如果是全部否定中文编程的文章, 似乎应该回避这个很多初学者都不知道的点. 不过文中的调子还是中文命名不如英文命名, 看来是黑的更高级了一点.
后文的问题又提到:
2.在目前的c++、java等编程语言有使用过中文作为变量名吗?
再看看下面的多数评论对中文命名还是基本反面态度, 说的基本是汉字输入慢, 会有莫名问题, 没规范等等老生常谈.
在腾讯看到另一篇转载, 评论区看到熟人哈, 也看到其他不少对中文编程支持的声音, 不过没什么对中文命名的探讨.
另外, 更早的一个版本中, 用的是"言语", 还有一些错别字. 在后续版本里都修正了, 也是颇为用心了.
前文中有的部分:
后文中被改成了Java, 和更复杂的易语言代码:
前文中有的代码示例, 后文中被删去了.:
@jeffreybaoshenlee 现在看来, 它不仅是黑中文编程语言. 蛮意外的是中文命名被提到台面上了, 而之前看到的绝大多数关于中文编程的网文都只关注易语言为主的中文编程语言. 无论这一波讨论的推手动机如何, 至少中文命名已经成为了中文编程中不得不提的一个方面吧.
@nobodxbodon 其實中文命名,在某種程度上,可以說有着令我意想不到的優勢。
因為英文標識符(包括變量名、常量名、宏名、函數名)如果是由多個單詞(word)所構成的詞組或短語(phrase),那麼就涉及怎樣分隔這些單詞的問題(例如是用下劃線,還是用連字符,或者把每個單詞的首字母大寫,形成所謂駝峰式效果)。
中文裡面,似乎可以暫時不考慮這個問題(真的不用考慮嗎?我不確定,我再想想)。例如剛纔最後一張圖的複製窗口組件
,就不用寫成複製-窗口-組件
。
另外,如果不談拼寫,只談命名,那麼有些程序——尤其是開發者基本上全都是採用某一種自然語言(例如中文)的那些程序——似乎更可以考慮用當地的語言來寫。
亂碼怎麼辦,昨天部門會議報告了中文檔名的解決方案,今天上午處理客戶問題又看到彈窗亂碼.
又发现一个带节奏的知乎问题, 忍不住又回复了: https://www.zhihu.com/question/280213529/answer/445585014
@jeffreybaoshenlee 同感! 当然会有个歧义的问题, 但应该是比较容易规避的. 其实我觉得很神奇的是, 中文命名纵然有着各种优势, 竟然在大多数编程语言都支持Unicode十多年之后还没有在国内大规模使用.
@shyangs 欢迎. 中文编码问题存在了几十年, 中文编程不是为它而生的, 但肯定能促进编码问题的发现和解决. 像你提到的问题, 恐怕要从系统默认编码和编程语言工具编码方式入手诊断, 有个也许类似问题详见 https://github.com/program-in-chinese/overview/issues/26 和https://zhuanlan.zhihu.com/p/30008480)
@bldght 感觉https://github.com/program-in-chinese/overview/issues/41#issuecomment-406726781 更属于这里. 有兴趣的话不妨在这里继续, 在那里恐怕会歪楼.
强烈反对主动推广和商业化,这样搞只会让中文编程变味。
什么属于"主动推广"? 我们这个讨论组和知乎专栏算吗? 那怎样是"被动推广"?
当前中国许多人唯利是图,为了赚钱什么事都干的出来, 如果掺杂了利益,难免会有人利用道德绑架,去欺骗外行人。
个人还没发现任何一家敢打着中文编程旗号的公司做着挂羊头卖狗肉的事情. 现在群众素质都高, 只要胆敢冒头的, 一旦被发现猫腻, 肯定早就被唾弃了. 如果你有发现, 烦请告知. 反过来, 像上面发现的水文(详见最近一波对中文编程(包括中文命名)的攻势)可是(十)数年如一日地对外行人和新手进行欺骗性宣传.
一旦这样,中文编程必然会担上恶名,这样支持中文编程的人就会变少。
恶名已经够多了, 再没有团结起来的力量进行尽量的正名和推广, 激浊扬清, 中文编程的大势还会被推迟.
我认为,中文编程应该事实求是的去做,
做和说没有矛盾. 酒香不怕巷子深是理想而不是现实.
能干哪些事,不能干那些事,那些事干起来容易,哪些事干起来困难,向外人清清楚楚、明明白白的说清楚, 不要故意夸大和道德绑架
这也是我们一直尽量在做的. 如果你看到这里或者知乎专栏文章中有夸大不实/道德绑架的成分, 请不吝指出. 但是, 像上面的水文, 摆明了操弄各种误导手段对中文编程进行丑化. 那么, 在我们的对外推广宣传中, 只是侧重自己的客观长处而已, 何况短处也都提了, 已经相当君子了吧? 退N步说, 请问你看到过哪家广告会提到哪怕一句自己产品的短处的?
把选择权交给别人。
现实是, 大多数人特别是编程新手根本还不知道有"中文编程"这个选项, 或者是, 听到"中文编程"就认为唯一的选择是易语言. 也就是说, 对他们来说, 没的选. 推广的第一个, 也是中短期内个人认为最重要的目标, 就是让尽可能多的人知道"中文编程"的更多选项, 个人最关注的就是在所有主流英文编程语言中就可以使用中文命名这一选择.
@bldght 对很多观点不敢苟同.
我反对宣传,主要是反对对新手和外行人宣传。
https://github.com/program-in-chinese/overview/issues/44#issuecomment-406773506 最后已经说得很清楚, 我们是让他们了解更多选择.
如果新手是某职业,是要靠编程生活的,那么不应该向其推荐中文编程。
放心吧, 真正以编程为生的人, 不会傻到盲从用中文编程, 更何况是中文编程在处于明显的劣势地位的情况下. 至少在我看到的所有真正尝试了中文命名的例子中, 都亲身体会到了可读性提高的好处. 再提醒一下, 群众的眼睛是雪亮的.
我觉得现在的中文编程语言、工具链、生态环境,并不足以给新手谋生的保障,这样对新手吸引到中文编程,只会他们耽误他们职业生涯,浪费不必要的精力。
说到新手谋生, 我看到了太多从易语言起家的开发者, 而原本他们也许会迟很多才进入英文编程的门槛. 生态圈确实重要, 而使用中文命名恰恰是生态圈培育的一个重要辅助. 而现在大多数主流英文编程语言已经支持Unicode这一条件, 已经基本去除了中文命名大规模应用的障碍. 基于我在各种语言/框架中的实践, 只要框架本身支持中文命名, 没有发现任何由于采用中文命名导致的程序问题.
这样对他们是不负责任的。中文编程目前并不是一种选项。
建议你先看看对在代码中使用中文命名的质疑与回应, 假如你开发过业余项目, 相信你也碰到过无法理解自己写的的英文命名的时候. 而业余项目或者随手写的小工具恰恰是数量上最多也是门槛最低的. 在这些项目中用中文命名, 不但能节省自身精力, 而且还能因为节省的开发成本而促使更多业余项目能有更长足持久的发展, 发展成真正成气候的开源项目, 这些项目成熟后, 又可以促进企业对于中文编程/命名的信心, 从而进入商业项目. 这本身就是中文编程生态圈建立的一个最可行途径之一.
对外行人也是如此,他们不懂编程,告诉他们中文编程,很有可能引起他们不切实际的期待,并最终造成误解。
之前也说过, 如若发现我们的文章中有夸大不实成分, 请不吝赐教!
但对程序员,可以适当的宣传一些,可以吸引有兴趣的,有一定能力的同行,这对中文编程是有好处的。
这就是这个讨论组的初衷.
“酒香不怕巷子深”是永远不会过时的。改开以来,国人过于浮躁,干一些事,一定要大声宣传、吸引眼球,特别是互联网公司,一定要有策划,
呵呵, 相比起那些不择手段地反对中文编程的水文, 我只能说我们的宣传还是太保守了.
把素质参差不齐的人都吸引过来了,这对中文编程并没有什么帮助。
无论背景和教育水平, 对编程, 或者说让电脑完成自己想做的事这一需求是非常一致的. 而中文编程能够让更多的人更早也更容易地满足这一需求. 我认为这就是功德. 而更多人的参与, 只要是真心实意的探讨和切磋, 对中文编程都有百利而无一害.
我不知道这里的各位,推动中文的编程的目的是什么?是为名,是为利?如果是为名与利的话,那我可能不适合这里。
上面应该已经说的很清楚了. 另外, 在至今的所有讨论组成员中, 我还没有发觉一位是为了名利而参与的. 说白了, 就像很多前辈们经历过的, 这条路艰辛而漫长, 直至今日也没有看到明确的曙光. 反过来说, 假如中文编程已经是明显有利可图的方向, 以现在的风险投资一窝蜂追热点的劲头, 恐怕早就吹成个大肥皂泡了. 再退一步说, 就算是有人纯粹为了名利而参与了中文编程, 又怎样呢? 凭什么做中文编程的就必须做苦行僧呢?
对中文编程,我是深信是可以把中文思维和计算机编程建立密切联系的,是可以大幅度降底国人编程门槛 的。最终可以实现一种,只要认识汉字、母语为中文、懂基础数学知识的人,都可以进行中文编程的景象。当然这项工作并不是一蹴而就的。
不需要等. 现在这一秒就可以开始用中文命名进行编程. 如果你用的语言/框架不支持中文命名, 烦请告知.
我看到这里一些同道,进行c\c++\c#的中文编译器编写,进行vsc的拼音插件编写,我怀疑这些工作的实用性有多大?有人会在实际项目中使用这些工具吗?
引自这里: "意义在于, 汉化后的语言对新手更友好; 反思关键词意义; 对设计新语言提供借鉴; 积累编译器实现经验等. 风险是, 维护的工作量; 关键词推敲等. 优势是, 有不少已有的尝试可以借鉴." 而且vsc的拼音插件编写时还使用了中文命名, 期间这些编译器汉化开发者对命名和关键词都有很多相关心得. 这些都是中文代码积累的第一步, 对中文命名的规范制定/推广和新的中文编程语言设计都提供了宝贵素材.
认为实现中文编程的当务之急是,挑出一些计算机或编程领域的核心词汇,重新逐一精细化汉化翻译。为什么?我认为目前的中文词汇,相对于母语为英文的人,我们吃了大亏。人的思维天生对具象的名词容易理解,对抽象的名词难理解。一些计算机词汇,在英文中,使用了大量比喻类比单词,这些单词多数是具象的,但我们的前辈翻译成中文后,就变得抽象了,比较thread,在英语做为名词的意思是”螺纹; 线; 线索; 线状物“,这些意思是非常具象的,但目前翻译成“线程",是非常抽象的,你能一眼理解这是什么意思吗?另外一种情况,thread在英语中是通用名词,但”线程"在中文环境中就变成了专用名词。以英语为母语的人,可以通过thread的日常生活的使用,更容易理解thread在计算机中的含义,但在中文环境中,我们只能在计算机领域,才能理解这个名词的含义,除此之外,“线程"在日常生活中,一无用处,这样一来,我们思维负担就更一些,所以我们以汉语以母语的人就吃大亏。相对线程,翻译成"丝线”就明显更好一些。
你太低估前辈们的翻译水平了. 也太高估英语关键词和英文自然语言的接近程度了. 没有任何一个不懂编程的老外会对thread的计算机含义一目了然. 而"线程"至少包含了'线'和'程'两个含义. 其中'程'只要对"进程"了解, 就能够联系起两者. 相比thread和process, 明显是中文术语更能体现他们的关联. 另外, 你真的认为这些术语是中文编程的障碍吗? 中国人为了学编程, 可以愿意背几百几千个英文单词, 这区区数十个已经约定俗成的常用中文术语还能难倒我们吗? 另外, https://github.com/program-in-chinese/overview/issues/40 中, 所有讨论都是结合了现有术语和习惯的, 我们的宗旨不是标新立异, 而是从实践出发, 找到新老程序员都能接受的方案.
@bldght 再提醒一下, 以后像https://github.com/program-in-chinese/overview/issues/40#issuecomment-406875854 对帖子主题本身合理性的讨论的还是请到这里进行.
bus是英文环境中固有词汇,被人借用在计算机领域,在我看来,bus一词远好过”总线",bus不仅表达了这一概念的结构,还同时表达了这一概念的功能。
在 @bctnry的 https://github.com/program-in-chinese/overview/issues/40#issuecomment-406880438 之外, '总线'也是个公交线路的中文术语.
宣扬程序语言本土化,无异于闭关锁国!
宣扬程序语言本土化,无异于闭关锁国!
@JerryChin 本土化等价于闭关锁国吗?那反对本土化是不是就卖国了?
@JerryChin 存在使用母语编程的硬需求, 这里就是通过各种技术手段满足这一需求
@nobodxbodon 我只是觉得程序语言应该是中性的,比如英语一样是全球通用的语言。但是注释可以是任意语言,这样是最完美的解决方案。强行使用中文语言编程,会引入不可预料的风险。
@JerryChin 汉语是国际性语言吗?
据人民网报道:著名法国汉学家白乐桑认为,汉语“正在成为国际性语言”。作此判断的关键在于,汉语正在逐步纳入当地的基础教育。“现在全法汉语学习者总数约10万,过半数的学习者是中小学生,这表明汉语被作为正规的科目纳入了法国国民教育体系,是一个很好的趋势。”数据显示,2016年法国有150余所大学,700多所中小学开设汉语课程。
另据美国汉语教师协会统计,全美中小学在学汉语人数占全部在学人数的2/3,达到40万人左右;英国现有12万中小学生在学习汉语,占全部在学汉语人数的60%;新西兰2010年仅有1万名中小学生学习汉语,2015年达到4万人,汉语成为增长最快的一门外语;意大利注册汉语学员逾3万人,开设汉语课的中小学过百。
英国名校切尔滕纳姆女子学院有160多年的历史。在切尔滕纳姆女子学院,汉语和法语、西班牙语一样,是7年级(相当于国内初中一年级)学生的必修课。从最初只有几个学生学汉语到如今汉语被纳入必修课,这反映出汉语地位的变化。每年学校学汉语的生源都很稳定。老师,曾经一个人带80名学生。那时学校有3名全职老师,由此估算,学汉语的学生200多名,相较于全校870名左右的学生,比例并不低。值得一提的是,越来越多的英国人加入到教汉语的行列中,一位牛津大学毕业的英国本土老师也在教汉语。
以法国为例,2016年法国约5.2万名中小学生在学汉语,是2004年的500多倍 。而在世界范围内,进入新世纪以来,许多国家汉语学习需求呈现“井喷式”增长。来自中国国家汉办的数据显示,目前除中国(含港澳台)之外,全球学习使用汉语的人数已逾1亿人。
以面向全球开展汉语教学、传播中华文化为职能的孔子学院,自2004年创办以来,孔子学院发展迅速。截至目前,已在全球142个国家和地区建立516所孔子学院和1076个中小学孔子课堂,各类学员210万人。尤其是党的十八大以来,5年新覆盖34个空白国家,新增116所 孔子学院、541个中小学孔子课堂。
5年来,全球孔子学院和课堂累计举办文化活动10多万场,受众达6000万人。
全球都在学汉语,其原因在于进入新世纪以来,中国经济实力增强、政治影响扩大、国际地位提高,中国道路、中国模式的影响力和辐射力显著增强。
@JerryChin 世界各国普遍看好中国发展前景, 汉语在国际经济贸易、文化交流过程中作用凸显,文化价值和实用价值不断提升,国际社会对学习汉语的需求越来越大,形成了前所未有的“中国热”“汉语热”。
随着中国的发展,到中国旅游、投资的外国人增多,他们对中国有了更多的了解,学习汉语的需求相应增加,他们也鼓励自己的孩子学汉语。
此外,在汉语学习者中,有相当一部分是因为掌握汉语是就业的加分项。现在美国越来越多的年轻人开始学汉语,因为“会增加就业机会”。
据美媒称,2005年,美国只有200所中学开设了汉语课,学中文的孩子只有两万人;如今,据不完全统计,美国学习汉语的人数已经有40万。
在媒体看来,中文的流行与中国国际地位的提升不无关系——“中国与世界各国在经济、政治、文化等多个领域合作交流的增加,令‘汉语热’逐步成为全球潮流。”
目前全球已有60多个国家将汉语教学纳入国民教育体系,”,“现在全球学习汉语者从2004年的近3000万人攀升至1亿人……其增长速度让人吃惊。”
在马来西亚媒体看来,学习语言的收益将超越语言本身的价值。“汉语是全球最流行的语言,全球说汉语的人数几乎是说英语者的三倍。随着中国国力的提升,与之相互理解并减少误会对其他国家来说变得非常重要。”
美国有关部门认为,未来,美国在财政、商务、外交和安全部门,都需要精通汉语的美国人。巨大的市场缺口,使对外汉语教师供不应求。
如今,美国中产阶级家庭越来越热衷于雇佣懂中文的保姆,其年薪往往比一般的保姆要多出至少两万美元。即便如此,华人保姆仍然供不应求。美国彭博新闻社提到,前两年在纽约就曾出现两家雇主为了争一位华人保姆而相互抬价的情况。
在某招聘网站上,“汉语教师”的岗位每日更新达近百个。在国外,汉语教师的薪资非常诱人,据统计,在新加坡当汉语教师,年收入约为18万至36万元人民币,在美国约为6.5万至10万美元(约合人民币44万至68万元),在德国约为7万欧元(约合人民币54万元)。
汉语还是联合国的官方语言。
由此可见,根据不同需要,学习汉语成为了一个全球性的热潮, 汉语将为国际性语言的说法是有相当依据的,这也表明了中华民族和平崛起立于世界之林的一个显著标志!
@JerryChin 能说一下什么是用ascii以外的字符编程有的 不可预料的风险
吗?
我只是觉得程序语言应该是中性的,比如英语一样是全球通用的语言。但是注释可以是任意语言,这样是最完美的解决方案。强行使用中文语言编程,会引入不可预料的风险。
@JerryChin 那么问题来了,对基于英语符号的编程语言,是中性的吗?现在的PL,明显对英语母语用户有优势,对非英语用户不友好,这跟全球通用不通用没关系。往大了说这叫文化帝国主义,凭什么所有人都要用英文编程?程序设计跟写代码是两回事好嘛。
真正完美的方案就是用以套完全中立的死文字,这样大家都没有优势,都需要从头学起。但这样有意义吗?编程语言就应该从实用角度出发,哪有什么不可预料的风险,你喜欢用英文而不用中文编程,对你来说还存在风险?
中文编程论战 之我见 - Woodpecker Wiki for CPUG ~ 10年前大家的嗯哼...
简单来说:
- 编程语言不是自然语言, 强行汉化除了增加学习/交流/运行/调试/..成本, 并没有直接收益
- 但是, 请注意:
- 程序猿, 是唯一一种以消灭本身职业为最高追求的物种
- 即, 我们一切的努力只是为了不再编程, 随便说一说, 一个眼神儿, 或是嗯哼一下
- 电脑就能理解, 并自动生成新的指令/代码/服务/硬件/... 为我们服务
- 所以,整体上:
-
对中文编程的质疑
... 讨论方向从根儿上就歪了... - 应该是:
如何令电脑理解中文? 无论文字还是语音?
- 期待的可能成果是一种通用中间件:
- 可以解析中文文本/语言
- 转化为任何一种编程语言都可以理解的语法结构
- 供给其它语言转换/调用...
-
- 比如, 初级形态:
- 可以是一组 IFTTT 触发器
- 只要识别出 2~3 个关键词
- 就可以完成匹配为开始为我们服务
- 否则, 想直接用中文进行编程活动, 是不科学不现实不民主不智的...
- 而应该是试图将中文变成一个自然指令界面.
是也乎,( ̄▽ ̄)
@ZoomQuiet 多谢分享! 时区问题只能明早再详细回复, 不过对IFTTT等等思路很有共鸣. 之前也有类似想法 - 知乎