与汉语编程亲密接触
在《电脑商情报》的下属杂志《程序春秋》的2003年第9期的第12到15页~呵呵~整整4页6200字喔~~~~
这是我用易赚的第一笔钱~~~
HAPPY HAPPY………………
下面就是我写的内容:
与汉语编程亲密接触
前言:计算机本不认识何为英语或者汉语。只是由于英语国家的计算机起步早,相关的行业标准也用英语制定,所以现在计算机中到处需要使用英语。但是汉语有着几千年的使用历史,它会在计算机流行的今天落伍吗?答案是否定的。我认为凡是英语在计算机中创造的艺术和美,汉语也一定可以,而且还要比英语更加的出色。但,离这个目标我们还有很长很长的路要走……
最近的一段时间,在国内的一些大型的编程论坛或者网站里,在讨论有关汉语编程工具及汉语编程时。出现了各种各样的态度,有支持赞扬的,也有反对嘲笑的。对此,笔者并不感到奇怪,因为自从计算机程序设计出现以来,一直都是使用英文的编程工具。由此,人们也产生了一种编程非需英语不可的思想。用汉语做编程工具,许多人连想也没想过。但是现在,却被国内的一批程序员或者公司开发出来了。对待新生的事物,人们总是充满了好奇、疑惑、误解、嘲讽……基于此,笔者就借《电脑商情报》的一角来向大家介绍一下汉语编程工具及汉语编程,并简单的分析一下当前它的现状和展望一下它的未来。
由于目前的汉语编程工具存在着好几种,各种都大相径庭,为了方便阐述一些问题,笔者就以目前最为流行,应用也最广泛的易语言来(图1)作为例子说明。
一:初识
易语言是一款Windows(即将支持Linux)环境下全中文全可视化的实用电脑程序编写语言,它支持现今所有的 Windows 32 位操作系统,即:Windows 9X、ME、NT 、2000 、XP等。目前的最新版本为3.2。以前,用户所面对的全是以英文为核心的程序编写语言,虽然一些编程工具为方便在中国推广而作了相应的简单汉化(比如帮助或软件界面),但其本质仍基于英文,代码仍必须用英文来编写,这样就导致相当多的用户因其英文水平的原因而放弃对编程的爱好。现在,易语言使中国人终于可以使用自己的母语来编写各种具有实用功能的程序。即使是根本不懂英文或者英文水平很低的用户都可以直接使用易语言来编写程序,不存在任何的语言障碍。
二:独特特点
易语言与英语类编程工具(如VB、VC、Delphi等)相比,主要具有以下几个优点:
1、全可视化支持
一般的可视化编程语言,仅支持用户界面的图形可视化设计操作,而易语言不仅支持此类可视化,还支持程序代码编写流程的即时可视化(如图2),真正做到了程序流程图的“即输(输入)即画”,即:用户在编写程序的过程中可以清楚地看到程序的走向,从哪条语句开始,到哪条语句结束,与易语言的全中文环境相配合可以让用户一看就知道程序会实现什么样的功能。这对初级用户而言帮助极大,可以培养其编程思路,积累解决实际问题的经验,并降低学习的门槛。
2、全中文支持
作为一款由中国人自己设计的编程语言,易语言在中文处理方面做了大量的工作。例如:
<1>、中文录入。易语言支持任何形式的键盘直接输入法(例如:智能、五笔等把汉字一个一个的录入)及鼠标操作(比如复制粘贴等),并且它还内置了四种输入法,即:首拼、全拼、双拼、英文。三种拼音输入法均支持南方音及多音字。例如:欲输入“取整 (1.23)”语句,使用首拼:qz (1.23) 、 全拼: quzheng (1.23) 、 双拼:quvg (1.23) 、英文:int (1.23)易语言都将自动转化成 “取整 (1.23)”。
<2>、程序全部以中文方式显示,运算符号全部显示为对应的中文符号,日期时间以中文格式呈现,以便于我国用户理解、阅读程序。
<3>、它还专门提供了适合我国国情的命令,如中文格式日期时间处理、汉字发音处理、全半角字符处理、人民币金额处理等等。以后此方面将会继续得到大量的扩充及增强。
3、即时编译并自动规范格式的语句录入方式
在输入程序的过程中,每条程序语句被录入后,都将被立即进行初步编译,一些通常的语法错误,将及时得到报告并要求进行修改(如图3)。所录入语句被自动规范为统一格式后存放,因此任何人用它所编写的任何程序其格式都完全一致。对于程序的协作开发、交流和维护将会非常有利。
4、系统内置的自动名称管理器能够对用户所定义的各类名称进行跟踪管理
譬如:假设程序中现存在一个名为“取最大值”的子程序,而且在很多地方都调用了该子程序。现在用户根据需要想把该子程序更改为另外一个名称,在传统的编程语言中,用户需要先更改该子程序的名称,然后搜寻整个应用程序,逐一找到使用了该子程序的地方,把名称相应地改变过来。在易语言中,用户只需更改子程序名称即可,程序中其它所有使用了该子程序的地方,其名称都将被自动快速地更改过来。
5、贯穿全程的即时且全面的信息帮助
用户在进行任何操作的过程中,均能够在状态行上或提示夹中获得有关当前操作位置的详细相关信息。譬如:如果用户移动光标到某行程序,马上就能够看到此程序行上所有命令的定义、参数、使用方法等等信息(如图4)。
三:现状
1、疑惑
对待新生的事物,人们总是充满了好奇,疑惑,误解,嘲讽……人们对待易语言也不例外,下面是笔者收集的关于人们对易语言不同态度而提出的问题的简单回答。
<1>、编译原理都是英文的,中文编程只是梦想而已。
答:的确目前市面上的编译原理都是使用英文来解释的,因为编译原理是国外发明的。不过既然可以用英文来表达编译原理,用中文来表达当然可行。大家都应清楚,电脑只认识0和1(即机器码),既不认识汉语,也不认识英文。英文程序要编译成机器码,电脑才能识别、运行,汉语程序也是这样,在这方面英语和汉语是平等的。英文基础好的,愿意用英文编程的尽管去用,英文不好,但又想学编程的,又多了一种选择。还应该看到,易语言的出现,使更多的人可以学编程。编程队伍壮大了,会提高电脑在我国各行业的应用水平,是利国利民的好事。易语言的出现,对培养更多的高级电脑专业人才具有不可估量的作用。
<2>、易语言是建立在VC上的,易语言只不过在表面上进行了中文化。
答:据吴涛(易语言开发者)说:“易语言是用C++建立了自己的编译器,该编译器可以直接将易程序编译为机器代码,我想这可以证明易程序的运行效率应该不会受到VC++的影响吧,易语言有和VC++不同的语言内核。”
另外易语言不仅在界面,代码等东西都中文化了,就连调用API函数都可以中文化呢。故可以说易语言有最彻底的汉语开发环境。
<3>、用中文写代码,我无法接受。比如易语言将“if”改成“如果”,效率会低很多。
答:同样的,笔者也以“if”改成“如果”为例子,如果你在写代码的时候,一个汉字一个汉字的输入,我也承认效率会低很多。但笔者前面说过的,你可以使用声母输入等快捷的输入方式(具体请参见《易语言知识库》。 “如果”就可以只写成“rg”,标签你就可以直接输入“bq”,易语言将会自动的转化成“如果”“标签”。通过这个简单的例子,你说,效率还低吗?
<4>、在编写程序时,会用到很多的API函数,那如何在易语言中调用这些函数呢?
答:易语言调用API函数的方法跟VB等差不多,都是声明API函数就行了。况且易语言是用表格型代码声明数据类型,一些预设的关键词(比如funtion , 易语言叫命令或子程序)易语言已自动生成,既不会破坏程序的完整性,又更方便用户输入代码。如到字节集()可以这样输入:Tobin()或者dzjj()
<5>、使用易语言会限制你的思维。
答:其实易语言和其它编程语言并没有什么两样。你产生这种想法,可能是认为易语言使用太方便了,可以省去很多思考的工夫吧!但这并不能说易语言就不用输入代码了,它仍然要遵守软件开发的规则,仍然要有严格的质量管理,这些都跟其他编程语言没有什么两样的。笔者认为:学习易语言可以认识一种全新的思维方式,又可以加深对其他编程语言的知识,所以我觉得易语言既是容易的,又是自由的。
另外易语言作者并没有限制什么,易语言用户可以自己开发易模块、语言支持库等,自由发挥的余地还很大呢。
<6>、可以说目前VB和易语言都是针对初中级用户而开发的,但VB比易语言无论功能或技术支持等都完善,那么易语言还有存在的必要吗?
答:VB的确不错,是目前世界上使用人数最多的编程工具,单就这一点就已经证明了它有其它编程语言无可替代的价值。笔者也反对用C++、Delphi等作为入门工具,但是我觉得易语言更应成为中国的“VB”。笔者在和吴涛的交谈中,他说道:我现在完全具有写出像VB这样产品的能力,但是我不会这样做,因为目前中国缺少的不是VB,而是易语言。所以笔者认为易语言更适合成为中国人编程入门的首选工具。
<7>、中文肯定不能得到国际上的承认。所以现在应该紧跟世界的潮流,放弃易语言。
答:笔者还是打个比方来说吧,中医也没有能得到国际上的承认,那为什么国家和医学工作者并没有放弃中医,依然在学习和研究呢?没有错,我们现在各个方面还很落后,确实应该追赶世界的潮流,但在学习它们的同时不要忘了创新,不然会一直落后别人,受制于人。其实任何国际化规则或潮流都是人为的,都是可以重新制定的,只要确实是符合人们学习编程的需求、符合社会发展的客观需要!
……
其实,笔者认为这样的争议是没有什么意义的,笔者之所以要在这里写出来,只不过是想解答一部分人的疑惑及反驳一些人的观点而已。易语言或VB等实际上都仅仅只是一种将你的想法变成现实的工具而已。你的付出通过这种工具能够获得所需要的收获,并且收获价值要大于付出,这才是你的最终目的。任何其它目的,如片面追求编程语言功能的强大、技术的完美,都偏离了工具本身的用途,是错误的。俗话说:萝卜青菜,各有所爱。选择什么编程工具,权利还是在你的手中。