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

27 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,
Jun 29, 2009, 4:31:24 AM6/29/09
to Edu 2.0 - 开放、协作、分享
非常同意你的观点,我曾经写过一篇关于汉语言编程的东东,结果被某愤青鄙视了一下,大骂我不爱国。其实完全两码事嘛,我想搞过编程的人都会认同你的观点
的。

Mr.Alex

unread,
Jun 29, 2009, 5:18:02 AM6/29/09
to Ed...@googlegroups.com
神经病,编程用汉语,麻烦的要命。比学英语还难。用汉语编程,脑子被驴T了吧!

2009/6/29 十年 <lili...@gmail.com>

非常同意你的观点,我曾经写过一篇关于汉语言编程的东东,结果被某愤青鄙视了一下,大骂我不爱国。其实完全两码事嘛,我想搞过编程的人都会认同你的观点
的。




--
完善人生、追求卓越、造福人群、影响世界

Isaac Mao

unread,
Jun 29, 2009, 5:30:25 AM6/29/09
to Ed...@googlegroups.com
用母语理解逻辑没有问题,
具体的编程,在KPL(儿童编程语言)的框架下,学习一些指令并不是难事情

MIT  Scratch 是一个很好的例子。 



2009/6/29 Mr.Alex <alex...@gmail.com>



--
Isaac Mao
========
Fellow
Berkman Center for Internet & Society at Harvard Unversity
Phone: +1 6174184443 (w/ voicemail)
Skype: isaac.mao
Blog(s): http://isaacmao.com
Thinking: http://twitter.com/isaac
Profile: http://mao.wealink.com (Chinese) http://www.linkedin.com/in/isaacmao (English)
Photos: http://flickr.com/photos/isaacmao
Subscriptons: http://anothr.com/isaac.mao
Digest: http://diigo.com/user/Isaacmao


If you travel to China or can't access some overseas web sites, please prepare to download Tor(http://torproject.org) to get free access to those sites.

Li David

unread,
Jun 29, 2009, 5:56:48 AM6/29/09
to Ed...@googlegroups.com
汉语编程有很多人尝试过,无法被接受不是在于汉语和英语的差别,而是在现有的程序员的习惯上。已经习惯老一辈的不死,新一代的无法出头。同样的程序员给他看像MIT Scratch这样的图形语言,也是同样的反应。汉语编程不是问题,要执行的话就不要听一些现职IT人员的建议。;) 

Zoom.Quiet

unread,
Jun 29, 2009, 6:01:53 AM6/29/09
to Ed...@googlegroups.com
2009/6/29 Li David <taw...@gmail.com>:

> 汉语编程有很多人尝试过,无法被接受不是在于汉语和英语的差别,而是在现有的程序员的习惯上。已经习惯老一辈的不死,新一代的无法出头。同样的程序员给他看像MIT
> Scratch这样的图形语言,也是同样的反应。汉语编程不是问题,要执行的话就不要听一些现职IT人员的建议。;)
> On Jun 29, 2009, at 5:30 PM, Isaac Mao wrote:
>
> 用母语理解逻辑没有问题,
> 具体的编程,在KPL(儿童编程语言)的框架下,学习一些指令并不是难事情
> MIT  Scratch 是一个很好的例子。

是也乎,是也乎,还有:
AboutZhpy - zhpy - 關於周蟒 (zhpy) - Google Code
http://code.google.com/p/zhpy/wiki/AboutZhpy

等等,使用中文编程,从编译原理上考虑没有问题,
主要阻碍:
- 心理
- 中文的一字多义

从训练编辑思维等等教育角度看,都是有积极意义的,
IT人员反对的不是 中文编程,
而是反感 将中文编程和中华民族振兴强行绑定,将一些劣质产品拿出来宣传!

--
http://zoomquiet.org 人生苦短,Pythonic!-)
过程改进乃是催生可促生靠谱的人的组织! (PE keeps evolving organizations which promoting
people be good!)

framces

unread,
Jun 29, 2009, 9:55:16 PM6/29/09
to Edu 2.0 - 开放、协作、分享
「当我们编写完代码后,点击运行时,有一个叫做编译器的程序,开始把我们的结构化的代码,转化成一种可以理解的数学形式,其实,它才不管你写什么呢。
只要是按照结构写的。它一定可以代码转换成电脑可以运行的低级代码。」

由上述所知,問題關鍵在「編譯器」,只是目前 無人造出這樣的編譯器。這裡面的問題又涉及對中文的理解或了解。
原來中文沒有「詞」這個單位,現代中文「詞」這個概念是54以後「硬」創造出來的(為與西方連接或學習西方)。而「詞」是什麼東西呢?就是代號,要有意
義必須事先「定義」。而中文原是以「字」為單位,「字」是什麼呢?它原上是一幅「畫」,「畫」之結構本身就蘊涵義意。所以,中文天生編碼之優勢就在「看
字說故事」,而英文卻要「翻譯」,由詞到詞序來決定意義。
這樣的結果,必然導致英文世界「詞」越來多,因為世界越趨複雜而多樣,但中文因是由「畫」及「畫之組合」,可以用有限駕馭無限,且這種「組合」是按照二
進制正符合電腦運算之結講,因此,用中文可大幅改善速度及有效性。
只是這樣的好處現在還無法被多數人體會,當中國發展到世界一流頭腦占據多數時,世人被迫學習中文文獻時,且中文化之「智能」系統發開成功時,中文編碼自
是水到渠成。
結論:這是必然的,如同中國崛起一樣必然!


On 6月29日, 下午6時01分, "Zoom.Quiet" <zoom.qu...@gmail.com> wrote:
> 2009/6/29 Li David <tawe...@gmail.com>:


>
> > 汉语编程有很多人尝试过,无法被接受不是在于汉语和英语的差别,而是在现有的程序员的习惯上。已经习惯老一辈的不死,新一代的无法出头。同样的程序员给他看像MIT
> > Scratch这样的图形语言,也是同样的反应。汉语编程不是问题,要执行的话就不要听一些现职IT人员的建议。;)
> > On Jun 29, 2009, at 5:30 PM, Isaac Mao wrote:
>
> > 用母语理解逻辑没有问题,
> > 具体的编程,在KPL(儿童编程语言)的框架下,学习一些指令并不是难事情
> > MIT Scratch 是一个很好的例子。
>
> 是也乎,是也乎,还有:

> AboutZhpy - zhpy - 關於周蟒 (zhpy) - Google Codehttp://code.google.com/p/zhpy/wiki/AboutZhpy

张沈鹏

unread,
Jun 30, 2009, 10:42:29 AM6/30/09
to Ed...@googlegroups.com

Mr.Alex

unread,
Jun 30, 2009, 6:57:06 PM6/30/09
to Ed...@googlegroups.com
易语言... 垃圾中的战斗机

Chunlei Zhang

unread,
Jul 1, 2009, 8:50:24 PM7/1/09
to Ed...@googlegroups.com
如果从输入效率角度讲,应该考虑设计汉语输入键盘的设计,现有的qwert键盘也许是汉语编程的障碍。


--
Chunlei Zhang
Ph.D. candidate
Major: Curriculum & Teaching
Scholar Interests: science education; teacher training ; teacher knowledge; pck; concept map
Biology Teaching Club:http://groups.google.com/group/bioteahouse
Reply all
Reply to author
Forward
0 new messages