[转]为什么编程要用英文?- KPL青少年电脑编程语言

6 views
Skip to first unread message

小石

unread,
Jun 9, 2009, 6:53:36 PM6/9/09
to sociallearnlab, Edu 2.0 - 开放、协作、分享
为什么编程要用英文?

来自 喷嚏网 www.dapenti.com

儿子问我:为什么编程要用英文?能不能用中文?

 我想,这个问题,也是很多人的问题。

 这个问题,可能包括几个方面:

 【1】软件的界面,是否可以是中文的?

 【2】软件的帮助是否可以是中文的?

 【3】写程序的代码是否可以是中文的?

 前面两个问题,主要是使用环境和习惯上的问题,比如使用者对英文不熟悉,看着头皮发麻,基本属于心理上的担心。其实,很多软件英文单词都特别的简单,熟悉后就没有认知障碍。

 英语作为一种现代社会的核心竞争力,对学生的能力来说,是不可以忽视的。全世界,有大量的知识和信息,都以英文的方式记载,如果你要在第一时间,得到第一手资料,那么,熟悉英文肯定是有很大的优势。

 从我自己使用的软件经验来看,我常常发现:英文版的软件在性能和质量上,往往优于本地化的产品。全世界,只有很少的软件巨头,在其遍布世界的产品上,才推出各种语言的相应版本。

 软件产品的本地化过程,不仅仅是其界面接口的简单转换,还有当地的使用习惯和文化禁忌需要考虑。并非完全是语言翻译的过程。

 我想前面两个问题比较简单。

 至于第三个问题,才是更多人要关心或提出质疑的问题:

 是否可以用中文来编写程序代码?

 对这个问题的回答,需要非常的谨慎。我看见网络上经常讨论这个问题,最后变成了是否爱国,是否要有核心竞争力的讨论了。

 我的看法略微有些不同。我认为大家对编码的了解需要一些常识。

 是的,程序代码,比如KPL或是c#,看起来是用英文写的,但是,你为什么不把英文只看做是一种记录程序的形式,而非要把它跟另外一种自然语言对立起来呢?

 我们从小学习数学的时候,我们记录数字可以使用1234567,我们没有感到任何文化上的压力和被压迫的感觉。虽然我们的中文是这样写的:一二三四五六七。我们在计算的时候,用阿拉伯数字的次数,远远多于用中文的次数。

 这说明两个问题:

 【1】标准,在科学上是必要的。全世界都可以使用阿拉伯数字计数,因为这个是通用语言,而且方便。

 同样,我们可以理解:因为编程的起源和标准,大多跟英文有关。所以选择英文作为编码的关键词和相关形式,也成了一种习惯或标准。

 你认为:x=100 还是 爱克斯=100 ,哪个更清楚简单呢?

 【2】设计一个用中文编码的语言,是可行的。但是,并不能说一个中文编码的形式就更有竞争力。电脑编程,不是比谁的中文说的更好,也不是比谁更爱国。

 电脑编程的语言,是一种工具。任何工具的价值,在于使用。工具总是作为一种解决人们生活或工作的解决方案的一种手段,才有其存在的价值和意义。

 价值要跟目标匹配。

 我觉得任何语言的选择,首先要匹配用户的价值,无论是中文编码还是英文编码,如果不能帮助用户完成任务的话,用户自然就不会选择它。

 所以,从价值判断上,从理论上来说:编码可以是跟语言无关的。

 但在现实中,要实现中文编码,在技术上面临的困难也相当的大。这主要跟中文的语言方式有关。

 英文编码都是由格式和单词构成,但中文要区分单词,很难。(现在很多中文编程,虽然可以使用中文变量,但关键词还是要使用英文)

 我举个例子来说: we love you,中文说: 我们爱你。

 英文的每个词之间是有空格的,中文是连着的。在分词上,两种语言的方式是不同的。

 这是什么意思呢?

 是这样的:电脑编码,其实只是一个简单的逻辑形式。但电脑运行时,其实并不是象我们理解的那样,可以理解我们编写的代码。

 当我们编写完代码后,点击运行时,有一个叫做编译器的程序,开始把我们的结构化的代码,转化成一种可以理解的数学形式,其实,它才不管你写什么呢。只要是按照结构写的。它一定可以代码转换成电脑可以运行的低级代码。

 在这样的转化中,分析源代码,就需要很好的分词技术。因为英文本身的特点,其分词很容易,而且跟其自然语言使用方式一致。但换成了中文,编程变得很怪异,而且代码转化变得难度很大。

 好了,我们不再纠缠这样的细节。我们作为一个使用者来做一个判断,问自己几个问题:

 我学习编程的目的何在? 为了学习?还是为了利用工具?开发产品?使用的工具可以达到我的要求吗?如何才能选择好适合的工具?

 

 我说说选择编程工具的两条建议:

 【1】不同的用途选择合适的编程语言

 不用说,如果要教育刚入门的孩子学编程,我会推荐KPL和visual basic。因为语言设计跟现代语言设计结合紧密,而且,已经被证明是用途广泛、可以顺利过渡的软件编程语言;

 在真正的软件企业中,语言的选择是五花八门的。做企业管理软件的,可能选用的是:c#和java。

而互联网企业在脚本语言的使用上,又是别有洞天的。

 对语言的选择,关键取决于你干什么。

 任何成熟的编程语言都有其长处,也有不合适使用的地方,不要对工具产生迷信。

 【2】效率是选择工具的重要依据

 所谓的效率,是指是否在满足目标的前提下,程序编写的效率,程序本身运行的效率,还有就是是否使学习保值,个人学习投资的效率也是非常重要的。

 如果没有成熟的产品,没有经历过市场检验过的产品。对于初学者,我觉得还是谨慎使用。

 在全球化的时代里,要有全球化的眼光。我们要充分利用成熟的技术和产品,真正服务于我们的未来。

 我自己的习惯是这样的:安装英文版软件,阅读英文的和中文的帮助手册,在编写代码的时候,编写中文注释。因为我发现,如果英文写不好的话,注释又 变成了障碍,阻碍了团队间的交流。看来,我们明白了我们在干什么,需要什么,我们就会选择适合的表达形式:在需要中文的地方使用中文,在需要英文的地方使 用英文,如此而已。

编程语言是连接人和机器的桥梁。所以,任何编程语言的设计,都要考虑两个方面:[1]方便机器理解;[2]方便人类使用。


转自:http://www.dapenti.com/blog/more.asp?name=KPLer&id=5277


--
小石,
SocialLearn Lab
13146172275(Beijing)
xia...@gmail.com(eMail/Gtalk)
-------------------
推荐:
教育大发现
www.sociallearnlab.org
走向社会化学习
--
多背一公斤
www.1kg.org
公益旅游&乡村教育
--
PLP爱心传递工程
www.PassLove.org
知识改变命运,爱心传递希望
--

程刚

unread,
Jul 23, 2009, 7:54:44 PM7/23/09
to sociall...@googlegroups.com

中国已经出了自己的编程语言叫易语言,它是全中文的编程语言你可以下载下来看一下

Reply all
Reply to author
Forward
0 new messages