举个例子:有回复帖子提到 “阿贾克斯”,后端的我(很久没弄过前端)神经线首先反射的是:人名,贴近生活-》阿贾克斯-》武器大师贾克斯。。。excuse me ?越想越懵,google 下 “阿贾克斯” -》足球俱乐部,再来 “阿贾克斯 编程” -》 AJAX ???
譬如,既然不用中文,那么我们的中文编程是不是应该重心在思想,然后设计出属于大家的高级语言;
然后大家可以愉快地讨论出很多种分支
1
AaronWoong 2018-12-20 22:53:13 +08:00
会被鄙视的
|
2
947211232 OP @AaronWoong 会被鄙视什么?有点懵
|
3
hugee 2018-12-20 22:58:03 +08:00 via Android
神经反射:荷兰劲旅,世界第一的球星加工厂
|
4
quwabcxyz 2018-12-20 22:59:07 +08:00 via Android
中文语法性不强,词库不深,造字能力差,词义没法严谨。相对来说不会有优势
|
5
947211232 OP @quwabcxyz 是啊,连“回”都有多种写法,连“喜欢上一个人”都可以有 4 种读法,但只要弄好直接作用于机器的步骤,理想还是可以有的。
|
6
lingo233 2018-12-20 23:43:50 +08:00
变量一正片叠底变量二
|
7
yidinghe 2018-12-20 23:47:53 +08:00 via Android
先不说什么主义,对于中文编程的现状,楼主有何看法
|
8
trait 2018-12-20 23:48:57 +08:00 2
你站日常 PL 基础匮乏时间
|
9
littlewing 2018-12-20 23:53:15 +08:00
java 支持 unicode 命名,再搞个关键词转换器,把中文关键词转成 java 关键词再编译,好了,发明一种新的中文编程语言
|
10
qiumaoyuan 2018-12-21 00:05:41 +08:00 3
NoMethodError: undefined method `阀值' for #<系统:0x00007f1ffe0fa260>, did you mean `阈值'?
|
11
easyhead 2018-12-21 00:25:35 +08:00 via iPhone 1
楼主还是吃的太饱了
|
12
saulshao 2018-12-21 00:26:45 +08:00 2
最近有很多人在讨论中文编程。还有人在知乎上开了专栏,试图推广中文编程。
中文编程这个概念,我记得最早是从 VB6 的时代开始兴起的。我最早用 VB 的时候,互联网上有人搞了一个中文编程语言,我记得当时就是把中文字词转换成 VB 的关键字,然后可以允许用 VB6 来编译转换后的结果。 我当时研究过这个,核心思路我觉得和中文写文章最大的区别就是:必须引入空格来确认表意,绝对不能像日常写文章一样连续用一串中文来表达一个完整的含义,因为断句在中文中是一门学问,即使引入了标点符号也是如此。 今天我们来看这个问题,我觉得用中文来编程其实没有技术上的障碍。主要还是一个观念的问题。 我的观念是:我不想用中文编程,如果你用中文写出了一个程序,试图让我用,对不起,我不用。 理由如下: 1. 最近的 10 年大陆中文互联网的封闭性是在提高的,而大陆的程序员虽然整体水平不低,但是那些最有原创性的工作基本都是由欧美人完成的,我们是在学习别人。 2. 中文互联网的商业环境在全世界都是非常好的,人口足够多,创新意识也很强,接受新事物的速度快,要多加强与别人的交流,我们是可以为世界作出贡献的。 3. 其实这个世界上不存在一个"英文编程语言",为什么大多数的编程语言都是用英语作为关键词和基本语法,其实我觉得很简单,就是用英文的人比较多而已。 |
13
molvqingtai 2018-12-21 00:29:09 +08:00 via Android
杰阔瑞
|
14
codermagefox 2018-12-21 00:35:33 +08:00
还是吃的太饱了.
|
15
envylee 2018-12-21 00:44:45 +08:00
26 个字母和基础字库 3000 字起的两种语言,我肯定选前者;
而且阻碍编程的绝对不是对字词含义的快速理解和反应,就像大家都知道你做不出数学题绝对不是因为不认识 10 个数字; 所以,我们不做动机揣测,只是单纯认为你们怀着让中文走向世界的决心来做这个事; 那么是否可以考虑一下先推广中文数字(一、二、三)以取代阿拉伯数字; 这样我们何止屹立于计算机的世界之林,那简直可以称霸数学物理全学科啊,怎么样,是不是想想都觉得激动人心。 |
16
JCZ2MkKb5S8ZX9pq 2018-12-21 01:20:11 +08:00
好像十年前吧,广电总菊就走在了中文化的前列。
美国职业篮球联盟,国民生产总值,首席执行官,图像最大化技术,不新鲜啊。 |
17
kaid97 2018-12-21 01:23:53 +08:00 via Android
易语言,貌似就是中文语法
|
18
KasuganoSoras 2018-12-21 01:26:53 +08:00
想学中文编程?先去学易语言吧,相信我,如果你是写了很多年英文编程的人,你会疯的
|
19
defel 2018-12-21 01:27:50 +08:00 via iPhone
编程是用来解决问题的,不是制造问题的。程序的可移植性和可扩展性决定了程序的生命力。不得不承认的是,世界上的顶尖的程序员和科学家都用英文沟通交流,那么中文编写的程序指望谁去移植和扩展,靠那些用英文不顺利,使用中文编程的人?那些人英文都读不顺,怎么可能知道最新的技术和方法,只能找过时的文档去看。
编程也不仅仅局限于 pc 平台,arm 平台,工业单片机。谁敢用中文编程去编写铁路交通控制系统,或者飞行导航系统,或者火箭发射系统。。。 |
20
xuanwu 2018-12-21 01:48:49 +08:00
如果要实现中文语法的编程语言, 最好在实现代码中使用中文命名. 因为用户+开发维护者都是中文使用者. 这样可以尽可能减小维护改进的代价, 也增加用户->维护者的转化率.
|
21
huntzhan 2018-12-21 02:30:03 +08:00 1
太监讨论生理需求
|
22
Everyxin 2018-12-21 09:13:24 +08:00
Ajax 读额界克斯有没有毛病
|
23
wmhack 2018-12-21 09:16:25 +08:00 via iPhone
用中文编程写到后面,你连维护的想法都没有
|
24
lovelybear 2018-12-21 09:38:21 +08:00
请移步易语言
|
25
fyibmsd 2018-12-21 09:47:46 +08:00 via iPhone 1
不讨论,滚犊子
|
26
krixaar 2018-12-21 09:51:02 +08:00
@xuanwu 出现了!大佬考虑下 zhpy 如何?和 python 代码无缝衔接,语法简洁,简繁皆可,安装方便,因为年久失修,如果大佬能继续维护一下就更好了!
|
27
jaaazzz 2018-12-21 09:53:14 +08:00
代码即注释,就是这么棒
|
28
Tengdw 2018-12-21 09:54:41 +08:00
那群人用所谓的中文编程写的代码还要用英文标点符号。。。嘛意思弟弟?
|
29
sumu 2018-12-21 09:59:37 +08:00
用中文学习英语?
有本事就用中文从理论开始,用一百年时间再发明一套计算机体系,比如以五行、阴阳什么的作为基础的易经 xx 系统,否则就不要整这种乱七八糟的东西,说白了就是一层皮,还是 low 到家的皮,毫无价值,如果是骗国家补贴,那另说啊,如果可以,请带上我。 |
30
CallMeReznov 2018-12-21 10:00:26 +08:00
E 语言牛皮!(破音!
|
31
mohoumk2 2018-12-21 10:04:05 +08:00 via Android
我刚把那个天天宣传中文编程的给 b 了,现在又来一个………
反正我的观点就是,只是单纯的翻译没什么意义 但是能像写文章一样的中文编程我还是支持的 |
32
MeteorCat 2018-12-21 10:04:26 +08:00 via Android
是不是还得区分全角半角中文
|
33
quwabcxyz 2018-12-21 10:09:00 +08:00 via Android
@947211232 中文是个泛概念,它是好几种语言的杂合体,算是次语言,表达起来很困难,日常都不爱用。
|
34
zarte 2018-12-21 10:09:38 +08:00
js 可以部分使用
|
36
abc635073826 2018-12-21 10:19:56 +08:00
@quwabcxyz 你仿佛在逗我笑
|
37
zifangsky 2018-12-21 10:23:13 +08:00
研究中文编程还不如一起来研究脑电波编程(手动狗头)
|
38
xpresslink 2018-12-21 10:40:36 +08:00
卤煮在试图解决一个并不存在的问题。
|
39
cyspy 2018-12-21 10:41:40 +08:00
CRUD 或者 UI 程序其实还行,语法糖多的,涉及到元编程的,用中文简直就是灾难
|
40
947211232 OP @xpresslink 是讨论一个问题,或者是论证什么是中文编程
|
41
kyuuseiryuu 2018-12-21 10:44:21 +08:00
打一行中文敲出来的拼音字符我能打多少行英文代码......
|
42
quwabcxyz 2018-12-21 10:44:29 +08:00 via Android
@abc635073826 对啊,博君一笑
|
43
xpresslink 2018-12-21 10:55:11 +08:00 1
卤煮在试图解决一个并不存在的问题。
编程的本质并不是用英文或中文,写代码时候那个些字符串只是某种符号,只是借助某种自然语言便于记忆。最后到机器那里都只是 0 和 1. 编译器改一下,那些关键字用什么文都可以。C 语言就 32 个关键字,记忆力再差的人也不是负担。你把 if then 改成如果那么就能减小逻辑思维的负担了么? 编程语言本身不是障碍,主要计算机编程是英美最先搞起来的,从基础的理论教学到技术文档和经验交流,最新最全的是英文的,而恰好你的英文又不好,这个才是障碍。 不过说心理话这个还真没有什么好办法,好好学英文吧,多翻译一些英文资料成中文比你折腾这个有意义得多。 |
44
meik2333 2018-12-21 10:55:58 +08:00
https://i.loli.net/2018/12/21/5c1c55ae8e1d2.png
https://i.loli.net/2018/12/21/5c1c55f59a665.png 这种算是中文编程么。。。没有足够的能力把这些都翻译成英文,就直接上中文了。 |
45
quwabcxyz 2018-12-21 10:58:29 +08:00 via Android
@947211232 编程语言的趋势越来越数学化了,中文的机械理解多困难,歧义指数比较高,跟天猫精灵聊天好尴尬。单性器官都有几十种称呼,这种概率算法怎么算。
|
46
maplelin 2018-12-21 11:07:16 +08:00
语音编程?你吵着我用 TnT 了?
|
47
iango 2018-12-21 11:09:32 +08:00
楼主的第一个任务应该是搞一个脱离英文字符、包括键盘等硬件的中文输入方案。
|
48
xuanwu 2018-12-21 11:11:44 +08:00
@krixaar 之前组里提过, 还承蒙 zhpy 作者提点 ( https://github.com/program-in-chinese/overview/issues/95 ), 不过暂无投入. 个人认为现在大环境会比 zhpy 当年好很多, 因为很多非 IT 专业的都选择从 Python 入门. 但工程本身工作量较大, 有兴趣参与的话可以探讨下.
|
49
FantaMole 2018-12-21 11:24:18 +08:00
28L 倒是点醒了我,这个东西虽然大部分程序员觉得卵用没有,但是比国产浏览器还够噱头。就是在宣传公关的时候需要和易语言之类的区分开,类似那个国产浏览器要和 360 浏览器区分开,告诉公众(其实是领导)这个东西为什么与众不同,然后什么民族自豪感啊,中国自主核心技术啊,就往这上面引。这简直就是个为骗国家补贴而存在的点子。
|
50
luoway 2018-12-21 11:47:10 +08:00
楼主先学下易语言,说下易语言哪里不好,再来说下楼主想要的“中文编程”是什么
|
51
ZhLTE 2018-12-21 11:52:29 +08:00
统一标准是好事
|
52
947211232 OP @luoway 楼主都说了“中文编程”就是一个伪命题,为什么要学易语言,楼主想跟你们讨论的是你们定义的“中文编程”是什么
|
53
sl0000 2018-12-21 12:00:49 +08:00
魔幻主义
|
54
luoway 2018-12-21 12:01:49 +08:00
|
55
pkookp8 2018-12-21 12:06:51 +08:00 via Android
游戏一般是语言文件
我觉得可以做一种插件 切换语言成中文,那么直接替换 int 为整形 语言文件分关键词语言文件和项目语言文件 myname 在项目语言文件中替换为我的名字 提交代码时增加检测,新增关键词是否在项目语言文件中定义,相当于语法检测 这样一来,谁都能看(毕竟语法不难),也都能写(ABC 甲乙丙一一对应,学会语法就行) 结论是跑路从我做起 |
56
dachuige 2018-12-21 12:07:29 +08:00
易语言我也有用
写出来的东西不比别的语言差到哪 易语言为啥被鄙视,因为门槛低,多用于写非法的东西 杀了人总不能去怪超市把刀卖给他吧 适合自己的,能够高效率开发的就是好语言 我们把编程工具当作真正的“工具”来用就行了 |
57
jimrok 2018-12-21 12:12:23 +08:00
故事讲的好,跟用什么语言真没关系。
|
58
af463419014 2018-12-21 12:18:14 +08:00
这主要是因为字节编码问题吧
1byte=8bit,也就是 1byte 可以保存 256 种字符 现在国际通用的标准就是 ascii 码,包括了字母(97-122,65-90),数字(48-57)和一些常用符号(括号,加减乘除,与或异或,大与小于,逗号句号等等) 英文写的代码,每个字符可以转换为 1byte,并且以 ascii 为标准,编码转换不会有歧义 但是其他语种(比如中文,日文,韩文),因为远超过了 8bit 的承受范围,不能使用 ascii 标准,每个字符需多个 byte 目前国际上为了多国语言已经做出了很多努力,从 unicode,到 ISO,UTF,GBK,已经发布了太多的标准 支持各国语言的 ISO 已经发布了 17000 多个国际标准,UTF 也有 UTF8,UTF16,UTF32,而专门支持中文的 GBK 标准也不少 相信这里不少人在工作中都遇到过中文乱码的问题,即使解决了乱码,但是大多数也不会太深究其中的编码细节 所以中文编程很容易造成不可描述的编码错乱 而英文编程,实际上可以认为是 ascii 编程,或者字母编程,能很好的避免编码歧义 |
59
FrankHB 2018-12-21 12:20:52 +08:00
自然语言在表达精确含义的技术要求上通常是劣等的,因为:
1.具有太多没有被清楚认知的歧义现象。 2.包括歧义在内的文法性质通常不是人为有意引入的,而是演化上自然存在的。或者说,缺乏正向的“设计”。 3.对演化路径不甚了解,连文法理论的框架基本目前都在逆向的过程中,没有严格公认的构造能写出 spec,且进展缓慢。 作为典型自然语言书面语的中文符合所有这些问题。所以整体上这样的方案是不靠谱的,并且其投入产出完全不成比例——要想达到和人工语言类似的可靠性,基本就顺带先把中文相关的 NLP 问题解决了。现实证明,这个比设计可编程系统的难度要大得多。 |
60
947211232 OP @af463419014 又 get 到了,虽然知道编码但你将字节编码说得如此详细并结合论点讨论就很令人高兴了
|
63
FrankHB 2018-12-21 12:27:56 +08:00
@af463419014 你这里有明显的误读。
1.文本编码问题即便在历史上有影响,例如输入和输出转换的问题,但现在已经有完善的方案解决,不会引起设计的困难。 2.作为单位的 byte 是由具体语言规定的。ISO C 和 ISO C++中 byte 以 character type 定义,具有 CHAR_BIT bit,其中 CHAR_BIT>=8。 POSIX 进一步限定 CHAR_BIT == 8。Java 等一些语言也直接假设 byte 具有 8 个 bit。大部分实现也符合这样的假设,以至于 byte 被不严格地作为 octet 的替代单位。但这不是 byte 的本来含义。 作为反例,原版 TAOCP 的 MIX 使用 6bit 作为 1byte。 3.ASCII 是 7-bit encoding。 4.编码转换上的歧义本质上只有字符集表示上的原因,可以使用字符集并集解决。现在一般直接使用 Unicode,约定外部编码为 UTF-8。 5.所谓的英文编程跟 ASCII 基本无关。例如,ISO C 和 ISO C++约定的 basic source character set 并没有涵盖整个 ASCII,事实上也有用 EBCDIC 的实现。而 extended source character set 早就被提议支持 Unicode 的特定子集了。前几天还有见过#define emoji 乱飞的…… |
64
gimp 2018-12-21 12:28:45 +08:00
这事儿得怪袁隆平
|
65
loading 2018-12-21 12:28:55 +08:00 via Android
楼主能不能写一段你觉得能看的中文编程伪代码放到 gist 上,大家评价一下。
talk is cheap,show me the code. |
67
947211232 OP @quwabcxyz
@littlewing @saulshao @envylee @defel @xuanwu @xpresslink @dachuige @af463419014 @FrankHB 由衷感谢你们的讨论,不管对错,但觉得你们都是在和楼主一起认真讨论,虽然楼主技术知识十分匮乏 ——楼主只是想知道什么是中文编程,你们的中文编程是否活着,楼主不会坚持什么 ——楼主只想汲取更多有营养的知识、思想 |
68
947211232 OP 楼主其实连中文编程是什么都不知道,因为没有一个统一的定义、概念
|
69
FrankHB 2018-12-21 12:46:24 +08:00
实用的自然语言的可编程系统也就个别专家系统能够负担,通用的设计据我所知都不存在。
所谓英文编程基本也是 YY 出来的——从英文里拿了几个单词的玩意儿就好意思叫英文了? 大部分中文编程的逻辑类似。 |
72
947211232 OP 也就是说中文编程语言只是中文编程中的一个子集。
|
73
xuanwu 2018-12-21 13:51:46 +08:00
@947211232 当然. 使用中文命名并不需要中文编程语言即可实践, 因为大多数常用英文编程语言都支持了 Unicode 命名. 当然中文编程语言的语法应该让代码更接近中文使用习惯. 可以搜索'日语编程语言"抚子" - 第三版特色初探'一文, 看看日语编程语言的语法是如何借鉴日语语法习惯的.
|
74
947211232 OP @xuanwu 现在你的这个代价有点大,而且都不是属于自己的中文编程语言,依旧使用别人的编程语言,你的中文编程语言能不能摆脱对其他编程语言的依赖独立出来,否则习惯了使用其他编程语言,一旦更新当然是直接看官方的,你这种中文编程语言其实就是代理了其他编程语言,最怕代理的时候出错到时候这个锅官方可不背的。
|
75
xuanwu 2018-12-21 14:15:57 +08:00
@947211232 支持 Unicode 命名是所有非英语国家开发者都在使用的特性, 有些编程语言支持此特性至今已有十数年, 早已经过各国开发者社区检验. 这是在成熟通用的中文编程语言出现之前投入较小可以获得代码可读性提升的途径.
而且实现通用的中文编程语言很有可能还需现有的英文编程语言实现, 在实现时使用中文命名是非常合适的, 因为用户和参与开发的都会中文. |
76
quwabcxyz 2018-12-21 18:27:08 +08:00 via Android
英文编程也是要转录到符号制,机械语言都是都是可以任意关联的。看哪种效率更高,主要是中文的拆解和元音都是一摊泥,根基薄弱不成体系,用了怀疑人生,可以连话都不会说了
|
77
Runtime3 2022-12-16 03:56:18 +08:00
一个比较直观的感受
需求:"晚上一起吃个饭"? 英语处理:1.是 2.否 汉语处理:1.是 2.否 3.到时候再说 |