感觉需要一门中文编程语言用于青少年的编程教育

2022-04-28 08:37:21 +08:00
 tinybvjk

现在很火的少儿编程大部分都是使用 Scratch 或者类似的图形化编程语言。对于小学阶段的小孩子来说,没有什么问题。但对于初中、高中阶段的青少年来说,就肯定不能满足需求。为何需要一门中文编程语言,我想到的原因主要是下面这些:

学习编程不应该和学习英语划等号

现在将学习编程和学习英语等同起来的一个重要原因是因为大部分开源软件或者基础设施都是英语系国家发明的。它们的文档是英语,源码中的注释也是英语。要想使用,在遇到问题时排错,必须要懂英语。

将英语和编程等同起来无疑增加了学习编程的负担。而且在初中的这个阶段可能英语词汇量还不足以流畅地阅读英文文章,所以会显得额外困难。

因此,这门理想中的中文编程语言应该有中文的文档,中文化的社区。使用者遇到问题可以阅读文档,也可以用中文求助。

编程如果是思想的表达,那使用中文会更加流畅

英语作为母语国家的开发者在编写代码时的感受似乎和非母语国家的开发者是不一样的。这个结论是我之前在有个地方看到的,到时候我把链接补充上。他们阅读代码很自然,几乎没有阻碍,因为使用的是他们的母语。

当我们使用英语编写代码时,会遇到两个问题。思考时,我们使用的中文,需要转换成英文写下去。阅读时,我们遇到的是英文,需要在脑海里转换成中文。假如说词汇量不足,这种转换就会出现问题。而且,转换本身是有成本的,会多耗费一点时间,结论是我们的效率肯定比他们要低。

这种理想中的用于教育的中文编程语言可能是什么样子?

  1. 简单易用。
  2. 对性能没有太高要求。
  3. 静态类型。
  4. 解释执行。
  5. 也许还需要一款配套的 IDE 。

结论

使用中文编程语言可以降低学习编程的难度,会增加许多人对这方面的兴趣,让更多的人学会编程,所以我觉得是有必要的。


只是我的一些突发奇想,欢迎大家提出自己的看法。

10389 次点击
所在节点    奇思妙想
126 条回复
catror
2022-04-28 18:59:10 +08:00
不需要,因为也不存在英文编程语言。那些关键字只是符号,就和数学符号、化学符号一样。而现在这套符号体系已经被广泛使用了,所以不需要一套新的符号体系。
DF104
2022-04-28 19:42:47 +08:00
语言是工具 学算法 看文档才是生命力,只为了会写个什么语言 还不如不学
eason1874
2022-04-28 19:57:22 +08:00
认为“中文编程语言”能降低编程学习成本的人,基本可以确定是不懂编程的

这观点类似于把数学里的阿拉伯数字“12345690”换成中文“一二三四五六七八九〇”就能让数学变得容易,说出来能让专业人士笑出声

要想让不懂英文只懂中文的人学好编程,把那寥寥可数的英文关键字改成中文并没什么用,真正有用的是中文社区,和海量中文资料,让学习者遇到问题时能及时查阅到自己看得懂的中文资料
Feiex
2022-04-28 19:58:21 +08:00
说说我自己的看法

楼主提出的观点:需要一门中文编程语言
目的:用于青少年的编程教育
原因:英语和英语思维增加了学习编程的负担

1 、目前中学生词汇量比我们上学时候的词汇量高得多,对于编程语言寥寥的关键字来说,不构成问题
2 、个人认为,入门编程的难点在于“入门”,这里面包括计算机编程语言思维(注意不是自然语言)、入门读物、合适的文档(当然需要中文的);如果发明一个中文编程语言,能解决这三类问题吗?
3 、不同于中文英文,自然语言和计算机语言本来就有差距,后者更多的是标准化的指令,这一点我相信单靠“汉化”很难解决,需要改变的是使用人类自然语言的思维定势
PureWhiteWu
2022-04-28 20:01:13 +08:00
木兰?
cszchen
2022-04-28 20:11:18 +08:00
中文并不能让你有更好的代码阅读能力,代码是逻辑的组合,不是单纯语言的表达
liuser666
2022-04-28 20:29:25 +08:00
更多的还是学习的流畅度以及一些中文里的特色。我就很烦英文里的缩写,打个比方,微软的 LPWSTR 类型,谁 tm 一开始知道这是什么,少一点还好,多了看代码简直是灾难,用在项目里还能用 IDE 看宏究竟是什么,如果看别人的代码片段就必须一个一个去查,很烦。还有现在的类型名和方法我经常搞混不能第一时间分清,我觉得中文编程都有潜力去解决这些问题。一味地否定中文编程,不是坏就是蠢。
liuser666
2022-04-28 20:31:38 +08:00
对了,编程不仅仅是你们一味强调的逻辑思维,更多的是与其他人的交流学习,很多资料都 tm 是英文的,学个屁,连材料都没有,逻辑个屁,这就是为什么要发展中文编程环境的原因,就算是天才也不可能在没有资料的情况下学习。
hackfly
2022-04-28 20:51:14 +08:00
易语言不行?那 vb 总可以了,君不见,XXX 按键,XXX 脚本,几乎都 vb 写法
tinybvjk
2022-04-28 21:04:35 +08:00
@eason1874 可能是我发的文字太多,大部分人都没有仔细阅读。我所说的中文化不是只替换几个关键字,详细地请见我的第二个 Append 。
tinybvjk
2022-04-28 21:20:10 +08:00
@liuser666 我同意你的看法,这些问题许多人应该都会遇到。
tinybvjk
2022-04-28 21:26:37 +08:00
@Feiex 我觉得你讨论问题的态度很好,在这么多回复中很难得见到。
tinybvjk
2022-04-28 21:32:38 +08:00
@shyrock 学习编程不一定是真正要将编程作为工作,就像我们学习物理、化学不一定要当物理学家、化学家一样。
tinybvjk
2022-04-28 21:34:38 +08:00
@3dwelcome “英文编程对于国人最大的困难”这个我非常认同,所以我不理解为什么回复里面许多人说英语不是问题。
tinybvjk
2022-04-28 21:37:38 +08:00
@Pipecraft 虽然你的推断是合理的,但其中也隐含了一些假设,所以我并不完全认同。但是你提出的方案也是一种当下可行的方案。
techstay
2022-04-29 00:31:14 +08:00
问题的关键不是中文关键字的编程语言,而是一个有活力愿意接纳新人的社区。国内开源社区这方面还是太弱了
shyrock
2022-04-29 08:13:45 +08:00
@tinybvjk #113 你看帖不看完。。。如果不是为了工作,那 scratch 就比你的中文编程更好。
klo424
2022-04-29 08:56:01 +08:00
@ekidona #7 这句话没毛病,但障碍不是编程语言中的那点英文,而是很多文档没有中文翻译或者翻译不准确很难懂。再者就是遇到报错信息时,如果是英文的,就不好解决掉。所以,我觉得做汉化翻译比中文编程语音更合适。
monmon
2022-04-29 09:20:11 +08:00
为什么很多人执着于中文编程?
一部分人应该只是不明白什么叫做中文编程,他们实际上做的是汉字编程相关的事。
另外一部分人可能只是跟风的误解,以为中文真的能编程。

[实际上,面向人类的语言表达逻辑与面向计算机的语言完全不同,面向计算机的语言需要使用与面向人类语言完全不同的逻辑,虽然借用了人类的文字,但实际是完全不同的语言。]

作者:pansz
链接: https://www.zhihu.com/question/355223335/answer/937354351
来源:知乎
RainCats
2022-04-29 10:23:18 +08:00
作为正在从事 java 开发的一员,我还是希望能有一天看到程序的日志、报错信息、注释都是中文。
我承认我英语水平还比较差,ide 里面还必须安装翻译插件,电脑还必须安装有道词典,我只是新时代农民工。
不能说英文世界先行了中文就只能用,买办是走不通的,我们还是需要有自己的东西

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

https://ex.noerr.eu.org/t/849700

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

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

© 2021 V2EX