<b>手把手教你写脚本引擎(一)——挑选语言的特点</b>[VC/C++编程]
本文“<b>手把手教你写脚本引擎(一)——挑选语言的特点</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
脚本引擎的作用在于加强程序的可配置性.从游戏到管理系统都需求脚本,乃至连产业级产品的Office、3DS Max以及AutoCAD等都增添了属于自己的脚本语言.DHTML的呈现让我们可以在网页代码中嵌入脚本语言,PHP和ASP等技术的呈现让我们可以将一个利用程序的界面换成网页,而逻辑利用脚本语言编写.目前脚本语言的种类繁多,Python的发展让BOOST库拥有了对Python的支持,Rails框架的呈现强大了Ruby的实力,LUA更是被大量利用在游戏开辟中.Windows乃至供应了wscript以便让我们可以调用javascript和vbscript的代码.
既然有了这么多可供挑选的脚本引擎,为什么我们仍旧要开辟自己的脚本引擎呢?首先,我们并不能保证现有的脚本引擎可以满意我们做出来的系统.因为我们所需求的脚本大概很简单,用现有的脚本引擎对比浪费.大概我们的脚本复杂,但是功效对比“奇异”(比方SQL)以至于没有可以满意我们需求的脚本引擎.因为脚本并不一定是通用语言,脚本仅仅是为了满意我们加强系统的可配置性而呈现的.其次,脚本引擎充足复杂,可以锻炼我们的编程本领.在我们的业余时间里面开辟出来的程序并不美满是为了满意某个利用的需求而产生的,有大概是我们为了自身的提高而举行的摸索.开辟脚本引擎足以成为锤炼的办法之一.
计算机语言作为一个计算的定义,在我们开辟脚本引擎之前需求先举行理解.关于目前风行的若干种语言,我们可以抽象出一组正交属性来描写他们.
1、号令式与描写式
一门语言是号令式大概描写式取决于这门语言是用来奉告计算机怎样做还是做什么的.举个例子,SQL和Prolog是描写式语言,而C++、C#等则是号令式语言.我们在利用SQL的时刻奉告服务器的是我们需求满意什么条件的数据项,而不是奉告服务器我们需求通过什么计算来得到自己所需求的数据项.描写式的语言的长处在于其可读性好.C# 3.0为数据查询加入了LINQ让我们可以在C#中书写近似SQL的代码查询数据.
另一个对比模糊的例子则是Haskell.Haskell很难辨别是号令式语言还是描写式语言.因为从情势上来说我们奉告编译器的是我们想做什么而不是我们想怎么做,但是Haskell给我们的工具的粒度太细以至于我们为了奉告编译器做什么的同时仍旧需求考虑一个问题是若何被办理的.
2、按值计算与惰性计算
惰性计算的语言很少呈现以至于大概很多人都不知道“本来语言可以是这个模样的”.惰性计算的精神是不去履行没用的代码.什么是没用的代码呢?只如果这段代码的值不对外界产生任何影响,比方没有往屏幕、硬盘大概是其他什么地方写点什么数据,就是没有效的.当然,至于这段代码中间做了些什么事情那是不管的.
举一个对比简单的例子,假定目前有以下代码:
function PrintAndReturn(Message,Result)
{
Print(Message);
return Result;
}
function DoSomething(BoolA,BoolB)
{
If(BoolA || BoolB) Print(“!”);
}
DoSomething(PrintAndReturn(“Hello”,true),PrintAndReturn(“World”,false));
以上是“<b>手把手教你写脚本引擎(一)——挑选语言的特点</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |