课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的程序员也都开始学习不同的编程开发语言来提高自己的编程能力,而今天我们就一起来了解一下脚本语言的应用优势。
1. 降低开发门槛,提高开发效率:
系统语言开发的困难度是勿需废话的。正所谓成也萧何,败也萧何,对硬件的操作能力,也致使开发者不得不关注机器底层,若不是科班出身,确实很难炉火纯青地应用它们,就算是科班出身也不见得会很熟练。总之就是很难得有人能发挥系统语言的真正实力。
况且,对于一般应用软件的开发,不需要多么地驾驭硬件,也就不需要系统语言中那些难以掌握的特性,使用系统语言无异于杀鸡用牛刀。
进一步说,对于软件公司的开发,软件的执行效率远不如开发效率重要,节约一分钟,赚进一万元呐。免去了那些繁杂的特性自然可以更加轻松地编程,甚至让压根没学过编程的人都可以快速部署开发,随时增加人手,而不会搅乱整个项目。所以越多采用脚本语言,越能让财源滚滚来,何乐而不为呢?
2. 增强开发的灵活性,更新的便捷性:
许多应用软件的功能和需求会随着项目的进展时刻变化,这可以说这是项目开发的常态。虽然提出什么开发前认真商量,多番询问,对需求弄得清清楚楚之类的要求。不过,计划总是赶不上变化啊,我们不得不经常修改已完成模块中的许多东西。
如果直接硬编码,在主程序中写死这些东西,即使是微不足道的一些修改也不得不完全重新编译整个工程。这在项目非常小时倒还可以接受;若是源文件就有几十上百兆,那可就等得蛋疼了。尤其是机子性能受限的话,还可能死机,一切付之东流矣。即便是采用链接库,仍然需要重新编译那个模块,然后重新链接加载,这也是很麻烦的。
更加值得期待的就是,现在许多应用软件都会在官网上发布先行版或体验版。它们只有完全版的部分功能,待到用户购买之后,再将其他部分以补丁的形式发放给用户。如果使用动态链接,用户不得不显式下载补丁包,然后安装链接半天,可能还遇到由于配置文件错误之类而失败回滚!相反,脚本可以直接利用后台网络隐式传输到目标机器后就可运行,或者下载补丁包后直接解压就OK。这样,开发者也可以随时解决Bug,增加新功能。(主程序更新那是大手术了,我就不说了)
3. 减小与主程序的耦合度:
人非圣贤,使用系统语言开发犯错是常事儿了,往往这些错误还很隐晦,查错与调试时极其痛苦。甚至在浪费了大量时间后,终发现只是某个字符打错了。而且,就是这样一些微不足道的Bug还可能就直接Cut掉整个进程,这对于用户而言是一个悲剧啊,想想蓝屏吓死了多少老年人吧。
如果某个模块经常被更改,犯错的概率就更大了。别忘了,之所以模块化就是因为经常需要改动哟。因此我们需要减小这些模块与不会经常修改的主程序的耦合度,从而尽可能保证软件的稳定性。如果采用动态链接库,实际上其耦合度在运行时并没有多么显著地降低,因为始终是链接成为一个整体,在本机上运行,一出错照样Cut,绝不怠慢。
相反,脚本语言是运行在解释器或虚拟机中,隔离了真实机器(所谓真实还是个硬件抽象层)。并且,它们往往都有异常处理的功能,能够很容易地捕捉到脚本运行的异常情况,并做出相应的处理,使软件运行不会因为一些小Bug而立刻崩溃。
4. 增强代码复用性:
正如Java的广告“一次编译,四处运行”,这可以说也是我们梦寐以求的特性,节省了大量的精力与体力。系统语言也说可移植性良好,不过那顶多做到源文件复用,而脚本语言完全能做到可执行文件复用。
这样我们在开发不同平台的不同版本时,就不需要重新编译源文件了。更有甚者,不需要因为不同平台对库的支持不同(比如DirectX与OpenGL),而进行大刀阔斧地开刀了。
不但如此,这个项目所编写的脚本甚至可以在其他项目里直接使用,仅仅只需复制粘贴那样的直接使用,根本不需要区分什么SDK与运行时了。
5. 阻碍用户做逆向工程:
系统语言直接编译连接成可执行文件在本机上运行,就一定能够得知其运行逻辑,没有什么软件不能破解的。但是脚本语言往往被编译成字节码,而且还经过特殊的编码,至少没有现成的反编译工具可以使用。就算利用某些调试工具观察时,也不过是看见在虚拟机或解释器中的运行情况。这样就大大加大了阅读难度,不过完全安全是不可能的,想破解总可以破解啊。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!