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

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 的毒
16929 次点击
所在节点    程序员
191 条回复
haogefeifei
2018 年 11 月 2 日
编程和语言无关,你看 iOS 上的 Shortcuts。。。其实就是编程。
caocong
2018 年 11 月 2 日
不管中文语言 外文语言 有人用的语言才是好的语言
楼主认为“没有看到能说服我的观点” 恕不是“没有能说服众人的观点”
just for fun 233
ferock
2018 年 11 月 2 日
absente
2018 年 11 月 2 日
@haogefeifei 我认为可以无关也可以有关。shortcut 也好 tasker 也把,是基于 shell 脚本的思路,本质上还是冯氏的

@caocong 我比较自私,先满足了自己,再去考虑大众需求

@xpresslink 这两个问题,第二个我打算下周再回复一次,第一个:定义不是我能给的,如果是为了方便讨论,我想把范围缩小一下,缩小成[基于中文表达逻辑的编程语言],为了方便区分可以记为新文言。新文言算是非冯诺依曼编程语言的一个分支。

第二,就目前来说,分两块,主要是加快迭代[学习 /实践 /生产]周期。另一方面是探索性质的(如同前面提到的非冯 PL

关于第一个问题提到的[运行机制],前面也吐槽了,主要是太分散。我倒是觉得只要有一门 DSL 能把 runtime 都统一了,是不是中文编程都无所谓
ferock
2018 年 11 月 2 日
参考 https://www.zhihu.com/question/24288510 不想多解释,如果看懂就行了。。
moposx
2018 年 11 月 2 日
个人认为,可以搞,但没必要
719465553
2018 年 11 月 2 日
楼主心态没崩住,jusf fun, why care other
xpresslink
2018 年 11 月 2 日
@absente 没太明白你说的新文言 [新文言算是非冯诺依曼编程语言的一个分支。] 这也是一种符号语言吧?另外现在非冯计算机硬件还没有可用性,你这个非冯编程语言难道要跑在冯系硬件上?

加快迭代[学习 /实践 /生产]周期的实现原理是什么呢,或者说逻辑上为什么能学得快写得快呢?原因是什么呢,比如说用 C 比汇编开发效率高,是因为抽象程度提高了,用 Python 写代码比 C 要少一半,也是因为抽象程度高了。
mangoDB
2018 年 11 月 2 日
如果就是单纯的把英文翻译成中文,我觉得没有太大意义。
run2
2018 年 11 月 2 日
如果没有自动补完的话,会不会一堆 not defined... ( 同义词太多而记错 )
edk24
2018 年 11 月 2 日
易语言让我入坑了编程领域, 我很感谢它。 现在我重点都放在 PHP py 和 linux 上了。 现在偶尔依然用它解决一些问题。

近 10 年没有重构 /重点更新。 某些支持库都存在 bug 还是没有支持 unicode, 现在接触了“项目化管理” 它的源码二进制独立文件保存就有点不友好了。

优点就是易学, 能快速上手, 对英语不好的人友好(比如我)。 在 win 下开发 lin 程序并调试(可惜 lin 并不看中, 资料少, 支持库 bug 多, 库少的可怜) 一人包揽所有 开发效率也不低

对我个人而言, 易语言各方面已经跟不上现在的系统了。 生态圈活跃度也在逐步下降。 纷纷学其他语言了。 现在的年轻人姿势水平高 英语已经不是阻碍人们学习编程的门槛了。 况且你也不一定需要会英语(我连许多 py PHP 的关键字都只会拼不会读, 变量字段命名和调试错误也是用拙劣的基础英语+机翻解决问题), 照样行(啃开发文档就吃力了。。。)


我用易语言也揽了些活, 不能放下碗骂娘。 用它解决项目方便点的话, 我还是会用的。


好了, 想了一堆流水账
visonme
2018 年 11 月 2 日
如果只是为了个人开心,无所谓了
如果只是在本国度内玩玩,无所谓了

但是你想跟全世界的人玩,那你就得考虑了,而且现在国内所谓中文编程,不知道 LZ 觉得有哪个是“质“的飞跃? 这很关键的~
edk24
2018 年 11 月 2 日
@mangoDB 易语言的话, 好像是程序包括两个部分, 前段是 C++程序 后段是易语言的代码编译的二进制.
前段让 win 支持运行, 后段才是你的代码逻辑.

编译会把支持库(C++或者 delphi 编译的类插件 dll)写出到程序目录
"独立编译"是把支持库和程序打包到一块, 单文件程序. 启动时自动释放支持库 (类似自解压)
"静态编译"是把需要用到的静态链接库放到程序里, 体积小 单文件 exe

在我看来不是简单的"翻译"其他语言, IDE 和代码纯文本的语法类似 VB. 许多人就说它是"VB 翻译机". 实际体验过的人就知道不一样的
hoobyy
2018 年 11 月 2 日
支持楼主,我也有同样的想法。
wlwood
2018 年 11 月 2 日
撤了这么多,有个 luan 用?
有这时间在扯,还不如立马开始。

只不过希望楼主到后来不要又找借口说做不来。


楼主这样,就像我们当年,看了黑客与画家,然后去学了 lisp 一样,以为掌握了上古神器。多年后才发现,那时候是多么的幼稚,可笑
absente
2018 年 11 月 2 日
@xpresslink 对,算是一种符号 PL,冯到非冯是个循序渐进的过程。反正我是不打算等冯氏式微了才动手,所以 HAL 是肯定会用到的。但我的本质是想统一 runtime 的调度,所以这个新文言 PL 有没有必要,我自己还没有定论。就好像我做输入法插件,用 typescript 短期内绝对够用。

关于[加速迭代的实现原理],其实就是让抽象自然化,让写代码 /看文档 /改代码 /改文档的过程中,减少思维切换的耗损,所有能一体化的都一体化,简单说也就是更高且更自然的抽象。APL 本身已经证明了这种抽象思路的可行性和潜在的 advantage,加点中文只是为了让自己用着更顺手一点,本来也没有什么国际化的打算,刻意写太多英文反而是跟自己过不去。

@visonme 我觉得质的飞跃,对于中文编程来说有两种,一种是,中学生也能在最小外语负担的前提下完成一个(比如安卓 app )的软件开发,期间他不需要借助中英文翻译工具。另一种是,中文编程实现了开源的生态闭环,且生成的机器码性能不弱于 rust。


@ferock 我看过类似的言论,总的来说,个人是搞工程的思路,核心就是解决问题,跟搞学术不一样。而且你看搞工程的,我就拿土木距离把,应该没那个单位可以讲究 international 吧,一样的道理,就是为了高效。母语带来的效率提升,是因为节省了中间层,这可以类比静态 PL 直接生成机器码而不是依赖字节码+runtime 的形式,背后带来的性能提升。

@wlwood 我会努力做实践的,但再不乱立 flag 的同时,也需要说明,个人主要是为了优化编程这个过程,因此做输入法插件才是我的业余重心,中文编程不过是顺路的。关于黑客与画家,不知道你是什么时候看的,反正我也看过,但是庆幸我先遇到了 erlang,所以没有 care lisp 一族这种缺乏实用性的 PL。私真正的上古神器只有 3.5 个: APL,Forth,Prolog,还有半个是 erlang。
qiukong
2018 年 11 月 2 日
支持是很支持,但目前计算机底层都是依据英文逻辑来编写的,如果中文编程我觉得应该更多地改造计算机基础。
Trim21
2018 年 11 月 2 日
@absente #101 我在 github 上找到了 bhuztez 用户, 然后发现他并没有一个叫做 poc 的 repo, 不知道能不能直接发一下链接?
absente
2018 年 11 月 2 日
@Trim21 poc 是[概念验证 /proof of concept]的缩写,代码主要是这两个:github.com/bhuztez/shu github.com/bhuztez/85 更多的他是把内容发在知乎了(有些匿名了有些删除了
cnt2ex
2018 年 11 月 2 日
你既然要说 notation as a tool of thought,那应该举出中文的优势,而不是说 just for fun。
中文在一些方面有好处,也有一些方面并没有好处,但我认为这些东西最终和语言无关。
比如我认为中国人可以很快背诵九九乘法表的原因是中文数字发音有规律。
又比如
>问曰一二三相加。
>答曰六
以及
>九章算术里只用相加就可以表达清楚的概念,西方在几百年后仍然还要使用\sum_{i=0}^{n} A_{i} 这样拙劣的记号。

你说这一点,显然是\sum_{i=0}^{n} A_{i} 这个记号比你用相加要高级,例子中的相加,无非是加一堆常数,而\sum_{i=0}^{n} A_{i}是在加整个未知的数列,并且这个数列的大小可变,并且利用这个表达式,我们还可以很快的写出乘法的分配率的式子。
但是说白了其实这 2 个的区别无非是\sum_{i=0}^{n} A_{i} 用的是前缀表达式,而“一二三相加”用的是后缀表达式。当然我可以改造中文的后缀表达式使他达到类似的效果,所以这最终这和语言没有关系。

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

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

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

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

© 2021 V2EX