我就知道很多人会黑中文编程

2018 年 11 月 2 日
 absente

然而目前来看仍旧没有看到能说服我的观点。

有人说我在上一个帖子里是为了杠而杠,那说明 1 他本身已经成见太深 2 没有仔细看我的回应

先不吹自己的编程水平了,目前是在没什么能拿的出手的,也不倚老卖老,就先总结几个常见误区:

1 中文编程多麻烦,还要切换输入法

对曰:这是输入法的问题,不是中文编程的问题

2 只不过是翻译汉化,没必要

对:不是所有的中文编程都叫易语言

3 中文编程能创造什么价值,有什么意义?

这个见仁见智,个人是 just for fun

4 有本事连阿拉伯数字都别用啊

对:为什么要这么极端呢?这才是为了杠而杠吧

另,麻烦想理性探讨的人:

  1. 先去看一下 1979 年的图灵奖论文:notation as a tool of thought, 顺带了解下 APL
  2. 多看看 bhuztez 的历史言论,如:

2.1 中文编程的迷思 2.0 优秀的程序语言是不用括号和空格的

3。区分 programming coding 和 engineering。不要再把中文编程当作 coding in chinese 了 BBUH

PS:顺带也可以说说为什么我要掺和进中文编程这个领域:

  1. 目前没有看到能黑中文编程黑到让我李菊福的人
  2. 我想自己做个 vscode 输入法插件,这个想法刚好互补
  3. 中了 APL 的毒
16930 次点击
所在节点    程序员
191 条回复
absente
2018 年 11 月 2 日
@cnt2ex 这两段内容是 bhuztez 说的,我只是引用了一下,个人基本赞同他的这方面观点。关于你说的[快背诵九九乘法表的原因是中文数字发音有规律],这背后的规律,我认为是颗粒化 /或者说 离散 /单音节化。中文的好处无非是书写和语言分离,这样保证了语言逻辑的统一,不至于因为方言口音的偏差而碎片化。

\sum_{i=0}^{n} A_{i} 这个和你说的[并且利用这个表达式,我们还可以很快的写出乘法的分配率的式子。],其实 bhuztez 想说的是,j 里面只需要借助两三个符号组合就可以了。

关于[说白了无非是前缀表达式][二相加用的是后缀]这里纠正一点,APL/J,包括 bhuztez 的九章算术,用的其实是中缀。这是 APL 和 LISP 的主要区别之一。

至于[所以这最终这和语言没有关系],我认为这个结论不够充分。除非有足够的证据可以证明,自然语言的差异不会影响一个人的逻辑和思维表达。
Trim21
2018 年 11 月 2 日
@absente #138 没想到真正的汉语代码居然在 test 里...
cnt2ex
2018 年 11 月 2 日
@absente
我是认为自然语言对一个人的思维有影响的。但是到编程语言上没有区别,因为编程语言本身就是高度简化的。而所谓中文编程也无非就是把几个英文字符替换成中文字符,这没有任何本质上的改变。
除非你说用中文的思维设计一种编程语言,但实际上这种编程语言的字符本身就没必要限制成中文字符,最终又回到了其实用中文英文没有区别的结论上。
kingwl
2018 年 11 月 2 日
如果只是改下 keyword, 允许 identifier 为中文 确实意义不大
感觉上更重要的是适合中文的文 /语法和 type interface(如果有)

另外 runtime 准备用啥呢? llvm?
octobersnow
2018 年 11 月 2 日
长时间用的,我愿意多花功夫,玩玩的你随意,你开心就好。
shadeofgod
2018 年 11 月 2 日
当你想推广,想安利,想说服别人认同你的观点,这个时候早就不仅仅是个人 just for fun 了。
你理所当然的会遭遇反驳,针对,和所谓的黑,你不能这时候又拿出 for fun 当盾牌来指责别人。

其实根本就没有什么什么英文编程、中文编程,编程语言的语法你可以设计任意的符号来指代每一个指令,这个符号是中文还是甲骨文本质上都没有什么区别。但是编程这件事本身已经有了庞大的生态建立在英文的基础之上,不是编程语言第三方库和工具这种生态,更是计算机科学本身的生态,这是一个无法跨越的壁垒。
absente
2018 年 11 月 2 日
@kingwl 初期用 erlang 的 BEAM,互通的问题,一步步来,明年能实现 erlang 跟 py/node.js 互通就不错了。当然,也有很多现成的 FFI driver 可以借鉴,只是总感觉现有的 interface/driver 还是太分散,大多不实用。
czk1997
2018 年 11 月 2 日
就是 keyword 和 identifier 是英语的而已,中文英文无所谓,本来好多语言都支持用中文或者其他 Unicode 来作为变量和方法名。反正哪个最后不是到汇编码啊……为了中文而中文一点用没用。
xuecan
2018 年 11 月 2 日
难得看到 erlanger 赞一个
innoink
2018 年 11 月 2 日
你都 just for fun 了
ferock
2018 年 11 月 3 日
@absente 风马牛不相及
qiumaoyuan
2018 年 11 月 3 日
我就知道很多黑人会编程
ferock
2018 年 11 月 3 日
lscho
2018 年 11 月 3 日
如果没有 c,没有 c++,没有 java,没有 python,没有 php,计算机刚起步的时候,别人提这个观点,我是赞同的。。。但是现在,我持反对意见。。

既然 just for fun 了,就不要在社区讨论这个问题了,没意义。
dreampuf
2018 年 11 月 3 日
先定义什么是中文编程
APL 和中文编程有什么联系呢?用中文字符建立另外一套符号系统?听上去不错。但是什么都不给出来,怎么进行友善的讨论
追求语义与逻辑正确的话,Litterate programming 只适合工作量不饱和的季节
kawkeye
2018 年 11 月 3 日
己所不欲,勿施于人,你既有所好,何必劝说他人为伍,尽管你是如此的特立独行,那就实践见真知.
shutongxinq
2018 年 11 月 3 日
请教一下楼主,请问什么是非冯 PL 啊?能不能给一个详细而精准的定义啊?
不然定义都没有讨论不下去啊。

况且我之前很惭愧没有听说过这样的词汇,你是在讲某类 DSL(domain specific language)吗?
jzq526
2018 年 11 月 3 日
如果只是自己研究或者好玩,什么文编程其实无所谓。但如果是要推广,或者说让别人接受,就要考虑很多现实问题。毕竟已有的语言,尤其是比较流行的那一批,从出现到现在过了这么多年,相关的产品已经非常丰富,比如 Java 或者 python 的那一堆框架,所以要别人接受,就要考虑别人的需求。
即使中文编程比现有的技术有非常大的优势,也不会让大家一下子接受,只能等他们老去,或者老技术死去,才有可能。
现在还有些行业在用 DOS 呢,不是他们不知道新系统更好,而是老的还能用,何必重复投资呢?
absente
2018 年 11 月 3 日
@ferock 这位同学把古汉语和文言文搞错了。古汉语编程目前来说才是伪命题。

@lscho 如果这里非常不欢迎 just for fun 的讨论,那就别叫 V2EX 了。当然,为了减少不必要的无关言论,我已经主动下沉了

@kawkeye 没有劝说的意思,只是想普及一下 notation as a tool of thought 的思想。

@shutongxinq 参考 https://en.wikipedia.org/wiki/Von_Neumann_programming_languages 。关于 DSL,只是个人认为适合中文编程的一种形式。

@jzq526 个人也是使用主义,关于重复投资的问题,我认为如果中文编程如果等价于毫无意义的重复投资,那也同样是失败的
karllynn
2018 年 11 月 3 日
just for fun 你用啥都可以吧…有讨论价值么,娱乐性编程语言多得很

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

https://study.congcong.us/t/503773

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

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

© 2021 V2EX