易语言

来自站长百科
跳转至: 导航、​ 搜索

易语言是一门计算机程序设计语言,也通常代指与之对应的集成开发环境,其特点是通过汉语进行编程

易语言的创始人是吴涛。早期版本的名字为E语言。易语言最早的版本的发布可追溯至2000年9月16日。吴涛曾表示,创造易语言的初衷是进行用中文来编写程序的实践。

目前已有易语言、易语言.飞扬和易乐谷三种类易语言的版本,都有专用的集成开发环境。

其中,易语言的最新版本为5.11测试版,支持静态编译,目标二进制代码体积小,执行效率高。易乐谷采用易语言进行了二次开发,最新版本为1.6。易语言.飞扬的最新版本为 0.2.2,编译器最新版本为 1.1.0,两者均长期未更新。

易语言也有对应的英文版本,称作EPLSW,最新版本为4.01,对应中文版本的4.01,仅仅是语言和输入方式上存在不同。其官网现在已经无法打开。

易语言集成开发环境[ ]

适用平台[ ]

易语言集成开发环境目前仅提供 Windows 版,但可同时编写 Windows 及 Linux 下的程序。但对 Linux 的支持不佳,仅提供控制台程序的编写。不过,在易语言.飞扬中对 Linux 下的窗口应用程序也提供了支持,但是不能广泛的支持所有 Linux 操作系统(譬如在 Redhat 下就不能正常工作)。

汉语编程[ ]

汉语编程是易语言的最大特点,全中文的支持使得国内用户无需跨越英语门槛即可学习编程。且易语言提供了大量的本土化函数,譬如农历、汉字处理等,方便相关程序的编写。

自带输入法[ ]

易语言集成开发环境自专用的嵌入式输入法,解决了中文语句输入慢的问题。譬如,要输入“如果真”,只需要输入拼音首字母“rgz”即可。所有的语句、对象、常用字词等均可采用此方法输入,新出现的词语将自动记录到词库中,方便下次输入。

强制代码格式[ ]

编写时会自动且强制将代码转换成一固定的格式,使任何人写的任何程序源代码格式均统一。避免了不同的书写风格及不规范书写。不过,该自动格式引擎只会自动格式化单行长度少于屏幕宽度的代码,否则必须要按 Shift+Enter 手动转换或等待编译前程序强制转换。

填表式定义[ ]

易语言关键字较少。所有程序定义、变量常量的声明、系统API调用等,均采用表格填表的方式。简洁明了,初学者因不用记忆复杂繁琐的关键字而能够快速掌握。

直到4.0版本,直接复制这一些表格才能获取相对应的代码,譬如下列对DLL的引用:

 .版本 2
 .DLL命令 睡眠, 整数型, "kernel32.dll", "Sleep"
 .参数 延时, 整数型, , Timeout

面向对象[ ]

易语言提供对类的支持,但是并不完善。它并不支持公有成员,也仅仅支持一级基类。

不过,易语言需要较为复杂的过程才能操作后期绑定的对象(即在运行时才明确某对象的具体类型,尤其是 COM 类型)。 易语言在引用 COM 组件需要外挂 com.run 模块,并且该模块不支持静态编译。所以,在最新版本中,只要引用了 COM 组件,程序就不能完整地静态编译。此外,易不原生支持 IUnknown 接口本身,只原生支持 IDispatch 接口。

对窗口程序的支持[ ]

易语言由系统支持库全权管理程序窗口。所以,程序员可以通过所见即所得的 IDE 迅速的布置出需要的窗口环境,而不必关心具体的窗口消息处理过程、重绘等内容。

支持库及易模块[ ]

易语言采用了支持库的形式封装了丰富的功能。支持库的本质仍是 DLL,可以理解为是只能直接用于易语言的 DLL 库文件。该功能的缺点是,尽管只用到了某个支持库中的少数功能,发布时也要带上整个支持库,增加了文件的体积。

为此,易语言5.0及后续版本中增加了静态编译功能,得到一定的改观。也存在第三方解决方案,易语言论坛上的 monkeycz 制作了一个名为“斩月(Zanmoon)”的工具,可以有效的减少易程序的体积。以及另一款工具黑月,也可以达到类似的效果。前者是通过微系统支持库来减少减少文件体积,而后者则是通过解析易语言文件来进行重新编译。

易语言拥有的另一个模块化特性,易模块,也能较好的进行版权的保护,易模块只能供易语言程序使用且无法直接反编译成源代码。不过易模块只能导出过程、类、数据类型和常量,而不能导出窗口控件、具体对象等。较支持库而言,易模块的一大优点是,只会编译实际调用到的部分,所以可以有效控制程序大小。

编译及执行方式[ ]

易语言前期的编译方式大多是所谓的“独立编译”,其大致过程是将支持库封装入程序,在代码运行之前释放到临时目录,类似于SFX,所以在最初,易语言编译出的程序被大多数防毒软件公司定义为Dropper。此情况在静态编译的出现之后得到了解决。

在5.0版本之前,易语言程序的执行方式类似于 VB6 的伪代码编译。除了逻辑操作、比较、变量操作等一系列基本操作外,其他操作都由系统支持库转接完成。包括调用核心支持库函数、外部支持库函数、DLL函数、窗口控制等等。正因如此,易语言程序的执行效率偏低。

起初,易编译时,是把部分未重定向的汇编代码嵌入一个叫易格式原体的数据结构中,在这个数据结构中存储着这个程序运行所需的一切信息,方便核心支持库加载。不过也正因如此,易程序非常容易被脱壳。如果要给早期的易程序加以一定强度的保护。就需要手动修改易格式原体本身。后来,静态编译解决了这个问题。

2010年12月3日,易语言运行时环境文件通过计算机病毒防治产品检验中心的安全检验。

你好,世界 程序[ ]

下面是一段在控制台上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:

.版本 2
 .程序集 程序集1
 .子程序 _启动子程序, 整数型
 标准输出 (, “你好,世界!”)
 返回 (0)

相关条目[ ]

参考来源[ ]

http://zh.wikipedia.org/wiki/%E6%98%93%E8%AF%AD%E8%A8%80