网友原创:从语法上谈什么是真正的中文编程

最近cnbeta上面汉语编程和徵剑的对抗已经成了07年另一大娱乐事件,互相批评的文章加起来已经有15篇了。谁对谁错我没有资格去评判,所以仅从中文编程(我不想提汉语编程这个词,以免被人利用)本身说一下。我的上一篇谈中文编程的文章在Sohu博客上遇到了一个较真的博友,似乎在力图向我证明易语言的 确是中文编程未来的方向,而且通过cnbeta的评论,不少网友也比较认同易语言的实现方式,只是一味的在批判汉语编程的抄袭行为和炒作行为。那么,我就 从易语言的角度来看看,中文编程应该做成什么样?

从程序员的角度来讲,易语言实现了很多个突破,比如全编译,还有可以在Windows平台下编译成Linux下的执行程序,这些都是易语言自己宣传的重点。(其它的特点比如操作COM,操作数据库,那都是一门编程语言必须具备的功能,就不用说了)。据我所知,目前只有Delphi做到了全编译,不管你引 用到了多少个VCL类库,最后都可以编译成一个独立的exe文件,并且能够在一台全新安装的计算机上跑起来。VC和VB都需要一个很大的dll,后来微软 把这些dll打包在了Windows里面,才算解决了问题,过了许多年,人们都几乎以为它们不需要别的支持了。

假如我现在有一个伟大的理想,要做一个让中国人都会用的编程工具,能够最大程度的降低学习成本,最快的写出自己所需要的软件,那么,我需要做什么?

根据这个目标,我假设我的用户是这样一个人:年纪50岁左右,对英语一窍不通,有正常的思维习惯,已经有了良好的电脑使用习惯,知道什么叫操作系统,什么叫 软件,一个软件里面什么叫窗口,什么叫按钮,什么叫文本框,什么叫输入,什么叫输出。会打字(当然,仅限拼音)。有正常的数学能力(不包括高等数学)。假 如我自己经营了一个小杂货店,自行管理进销存,现在准备写一个软件来管理我的进货和销售,以便计算我一年能赚多少钱。(以我的父亲为样本)。

为了方便起见,以下的第一人称改为该用户身份。

首 先,在我准备写软件之前,我需要做一些准备,我当然不会指望打开软件马上就能开始写软件了,我需要知道一些写软件的基本概念,知道程序是按钮怎样的逻辑来 运行的,知道我的代码应该按照什么样的逻辑写出来。既然要大大降低学习成本,那么,应该尽量的向我的真实思维靠近,我才能最容易的接受这样的写软件的过 程。


通常学习一门语言的顺序是先学习基本语法,程序结构,然后是高级语法。

从 基本语法开始看:程序代码是一行一行的往下走的,你写了什么样的代码,它就会执行它并产生你所希望的结果。(OK,这个规则我很容易理解)。首先遇到的第 一个问题是:什么叫变量,什么叫值?我无法理解这两个词的意思,那好吧,变量就是一个代名词,它可以等于任何实际的内容(数字或者文本),这些内容就叫做 值。虽然不太容易理解,但是我能记的住。算法比较容易理解,就是加减乘除。除了单个的变量,还有数组,就是一组变量,分别可以等于不同的值。于是呢?我的 第一段代码大概是这个样子:

定义几个变量 进货数量,进货单价,进货总金额
进货数量=第一个文本框里输入的数字
进货单价=第二个文本框里输入的数字
进货总金额=进货数量 乘以 进货单价
第三个文本框 显示 进货总金额

嗯,相当简单嘛。继续往下看,程序结构。原来刚才写出来的叫做顺序结构,还有分支结构,这个也比较简单:

如果 进货总金额 小于 1000
 第三个文本框 变成红色
否则
 第三个文本框 变成绿色

嗯。 这个也很简单。继续往下看吧,循环结构,理解起来容易,想写出来却很难。实际的应用大概应该是这个样子的:当我要在程序里输入本次进货的商品的时候,我可 以按一下进货的按钮,然后跳出来一个窗口,里面可以输入商品的名字,数量,和单价,下面有一个保存的按钮和一个关闭的按钮,如果我按保存,那么这三个文本 框里的东西保存下来,然后我可以接着输入下一个商品的数字,如果我全部输入完了,那么我可以按关闭,然后这个窗口就关闭了,同时程序就可以告诉我我这次进 货一共用了多少钱。那么程序应该是这个样子:

定义几个变量 商品名称,进货数量,进货单价,进货总金额
弹出输入窗口
如果我点的是保存按钮:
 商品名称=第一个文本框里输入的数字
 进货数量=第二个文本框里输入的数字
 进货单价=第三个文本框里输入的数字
 进货总金额=进货总金额 加上 (进货数量 乘以 进货单价)
 保存 商品名称,进货数量,进货单价
否则:
 关闭输入窗口
 总和文本框 显示 进货总金额
 
现在可以写出完整的程序了吗?应该说,如果弹出窗口和保存变量这些功能是可以自动执行的,那么,我已经可以写出程序来了。嗯,相当简单。那我可以接着看看高级语法了,到底是怎么个高级法。

类,好奇怪的名字啊。什么叫类?一类东西的统称?对象,比类更奇怪的一个名字。这可如何是好?好吧,看看别人写的示例代码:

定义一个类 商品
 包括 名字,进货价,销售价,重量
 定义一个功能 计算进货金额 需要参数 进货数量
  进货金额=进货价 乘以 进货数量
  
定义一个子类 啤酒 作为一种 商品
 还包括 品牌,容量
 
定义一个对象 一瓶啤酒 作为一个 啤酒
 名字=一瓶青岛啤酒
 品牌=青岛啤酒
 容量=650ml
 进货价=2元
 销售价=2.5元
 重量=1.5斤

保存 一瓶啤酒
读取 一瓶啤酒
显示 一瓶啤酒 的 进货金额 参数 进货数量=10

嗯, 还好,想了半小时算是明白了一点。(真正的计算机系的学生,在学习了C语言和数据结构以后,理解类和对象这两个概念需要多长时间?反正我是已经忘记了。当 初学了几个月的C,用了半年的VB,还是不明白类和对象是什么东西,直到最后学了两个月的Java,看了N许多Java代码以后,才在某一天突然开窍了。 要不是Java里面的main函数,可能我理解的还要快一些。)

如果我的中文编程能够做到这个样子,那么我感觉我的父亲也许还是可能理解的。那么易语言是如何实现的呢?顺序执行就不用说了,看看分支结构:
如果真 (已经进了啤酒=假){
 啤酒需要进货
}
循环结构:
.计次循环首 (取数组成员数 (所有的啤酒), i) 
 所有的啤酒 [i].销售价= 所有的啤酒 [i].销售价 乘以 1.1
.计次循环尾 () 

我的天啊,这种话好意思说是符合中国人的中文思维的吗?要不是生搬硬套的拿国外的编程工具来翻译,怎么会写出“如果真 (已经进了啤酒=假)”这样的语句?为什么不是“如果 不是 已经进了啤酒”?

罢了,我写不出我理想中的中文编程语句,所以请读者不要说“有本事你做一个,没本事就别乱叫”,我只是想说,请大家在做宣传的时候实事求是一点,不要说出类似“可以用蜡烛光给手机充电”这样不着调的话来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
语言是一门以中文作为程序代码编程语言,其以“易”著称,创始人为吴涛。易语言早期版本的名字为E语言。其最早的版本的发布可追溯至2000年9月11日。创造易语言的初衷是进行用中文来编写程序的实践,方便中国人以中国人的思维编写程序,并不用再去学习西方思维。易语言的诞生极大的降低了编程的门槛和学习的难度。从2000年以来,易语言已经发展到一定的规模,功能上、用户数量上都十分可观。诞生背景 中国计算机应用的发展在经过操作系统汉化显示环境,中文输入法的两次较大跨越后,正经历一个重要的历史时期:中文编程已成为当务之急。   英文编程软件只能使用英文输入程序代码,并且需要用户掌握大 易语言认证与推广照片 易语言认证与推广照片(17张) 量专业英文术语。   而且国人的述事习惯与外国人的语法习惯还有很大区别,如外国人表示"按从小到大顺序排",而中国人的表达方式为:"按从大到小方式顺序排"或简称"按降序排"。外国人的语法大多数是与中国人不同的,再加上英文有多种语态,有时间动词,有不同的复数形式,这在中国人学习外语上都不能很好的适应。更何况英文编程中大多数用大写缩写的方法表示一个概念、定义和变量,因此如果不了解的人是无从知道,而中文几个字即可简单表示了。中文具有比较明确的归类表达方式,如公交车、小汽车、自行车、吉普车均是行走的车辆,都与车有关,而英语每个事物都有一个不同的名词,不容易记忆,如BUS公交车,CAR小汽车,BIKE自行车,JEEP吉普车。因此这种方式如果套用到编程上,那么每个变量均用不同的代表,那样要记忆的词汇量就非常巨大了,有个对比,中国人只要掌握3000个字就能读名著,而外国人必须掌握30000个以上单词才能看明白报纸。因此小的记忆量可以适合在编程中只考虑方法,而不必过多地考虑语法、变量的名称等。而且由于中文是方块字,包含的信息量也大,能够见文知义。 通过以上,东西方文化的差异造成对编程学习上的很大区别,中文文化背景决定了中国人还是学自己的编程语言好。 [1] 市场推广 2004年易语言获得《科技查新报告》,《科技项目鉴定测试报告》 培训推广图册 培训推广图册(20张) ,《科技项目技术经济评议书》的认可。“易语言汉语编程环境”成功通过国家鉴定,易语言获2004年《大连市科学技术进步奖》二等奖。 2004年易语言正式走上讲台“吉林市计算机专业骨干教师培训班”,2004年7月11日至17日,在吉林市教育局的大力支持下,应吉林市教育学院职教部的邀请,易语言公司培训教师史世恒老师前往吉林,做为期七天的“吉林市计算机专业骨干教师培训班”教学活动。这是易语言与中等专业教育学校的首次合作,同时也为易语言走进教育事业迈向了可喜的一步! 2004 年7月28日-31日易语言参加软交会,大连大有吴涛易语言软件开发有限公司参加中国国际软件和信息服务交易会,展台位置在大连星海会展中心东22号门旁边,届时易语言将携简体中文版、繁体中文版、英文版、日文版向全世界展示! 2005年3月出版发行《易语言编程系统》由易语言公司组织、易语言教材编委会编写。本书按易语言4.0编写。 2005年4月21日中国教育学会中小学信息技术教育专业委员会和各专家领导参与的易语言在中小学项目的推介与申报项目会议在北京招开。 2005年8月3日,“易语言汉语编程环境”国家火炬计划证书已颁发,国家科学技术部火炬高技术产业开发中心颁发“易语言汉语编程环境”国家火炬计划证书。5月由该公司申报的“易语言汉语编程环境”项目已被立项。 2005年8月22日至2005年8月26日全国中小学计算机教育研究中心北京部主持易语言全国首次高级培训会,大连大有吴涛软件开发有限公司承办的易语言全国首次培训会在大连举行。 2005年12月26日,易语言在中小学实验与推广项目教师培训在美丽的 易语言在宁夏和云南 易语言在宁夏和云南(17张) 株洲隆重开题。 2005年易语言在中小学实验与推广项目已全面启动, 由中国教育学会中小学信息技术教育专业委员会(北京,普教系统)组织,易语言公司提供技术支持的"易语言在中小学实验与推广项目"已全面启动。 2006年1月10日-15日在浙江省首次举行中小学骨干教师开题培训。绍兴市中小学信息技术教育中心、绍兴县教师发展中心、绍兴柯桥中学承办了本次培训工作。 2006年由宁夏教育厅教研室和山东教育出版社编写的《初中信息技术·第3册下》已出版发行,全文讲解了易语言的程序设计方法。本教材已在宁夏的所有初中学校中使用。 2006年9月1日易语言公司参加南京软博会。公司随大连展团为期四天,参加在南京市举办的第2届中国(南京)国际软件产品博览会。 2006年10月26日-31日云南省易语言开题培训会召开。全国中小学计算机教育研究中心“易语言在中小学实验与推广项目”在云南省首次举行中小学以及职业高中骨干教师培训。 2006年12月14日,“易语言”项目培训工作在宁夏大学教育科学学院网络实验机房顺利举行。 2007年3月28日-4月1日1“易语言在中小学实验与推广项目”在大连市开题培训,全国中小学计算机教育研究中心“易语言在中小学实验与推广项目”于,在大连教育学院举行首次初中骨干教师培训。 十大自主创新产品奖 十大自主创新产品奖 2007年6月21日,中国软件自主创新论坛暨中国软件自主创新排行榜颁奖典礼在大连举行。“易语言汉语编程环境”获2007中国”十大自主创新软件产品奖。大连大有吴涛易语言软件开发有限公司的“易语言汉语编程环境”以软件自主开了一款全中文、全可视、跨平台的编程语言,在易语言及其编译器的设计与实现、可视化汉语编程的构建、提供多种语言版本等方面具有创新,在技术上居于国内领先地位,达到了当前同类产品的国际先进水平的原因被评为中国 “十大自主创新软件产品奖”。 2008年6月易语言第一部系统的视频学习教程《易语言百集教程》由世恒老师完成并发布。 2010年12月3日易语言运行时环境通过计算机病毒防治产品检验中心的安全检验,检验依据为:GA243-2000《计算机病毒防治产品评级准则》,检测结果:均未发现病毒。 [2] 语言组成编辑 支持库 易语言支持库类似于普通的程序的DLL文件。 这个支持库是易语言专用的,别的程序调用不了的,扩展名有fnr、fne、npk三种。 fnr、fne都是制作好的DLL文件,例如系统核心支持库、应用接口支持库。该类支持库一般由用户使用C++或Delphi制作,具体可以看易语言支持库开发手册。 npk属于易语言COM包装支持库,该支持库是引用COM包装库生成的,例如WebBrowser、Windows媒体播放器。该扩展名格式支持库可用记事本、写字板打开。该支持库可以由用户制作,制作方法:在易语言上点击工具--“类型库或OCX组件→支持库”命令。 模块

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值