首页 > 手机 > 配件 > 编程语言和脚本语言有什么区别,什么是脚本语言

编程语言和脚本语言有什么区别,什么是脚本语言

来源:整理 时间:2022-04-08 20:55:47 编辑:华为40 手机版

一、什么是脚本语言学术界将『为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言』称之为脚本语言(Scriptlanguages)。毕竟宏语言就是脚本语言的重要分支,既然VBA至少是宏语言,那VBA是脚本语言,没毛病啊。

VBA是脚本语言吗?

VBA是脚本语言吗

正好笔者有几篇关于这个主题的讨论,索性就再总结一下,希望给读者朋友们一个更客观的视角。一、什么是脚本语言学术界将『为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言』称之为脚本语言(Script languages)。其中编写和运行不能省,也省不掉,那就只能在编译和链接环节省。

但脚本最终也是由机器执行,所以总有一个源码到机器码的过程,所以编译还是有的,也省不掉的。所以说,产品没有链接环节的编程语言,就是学术意义上的脚本语言。二、有哪些常见的误解?很多人,习惯将解释机制的编程语言称之为脚本语言,其实是不准确的。解释机制,虽然普遍为脚本所采纳,但并非脚本独有。比如JAVA,它不仅有源码到字节码的虚拟机伪指令编译过程,更有打包过程。

比如C#/VB.NET,还有变态的二进制编译机制。更有甚者,按源码存在的形态,发挥作用的方式来确定是否为脚本,显然过于粗暴。比如,大家熟悉的VBA,网络上能够看得到的,几乎都认为这是一种脚本语言。三、为何VBA不算脚本语言?认为VBA是脚本的,大抵是因为它可以录制宏,而且也无法脱离Office环境,运行时不需要编译和链接。

初看,的确像那么回事。毕竟宏语言就是脚本语言的重要分支,既然VBA至少是宏语言,那VBA是脚本语言,没毛病啊。但事实上,VBA只是统一了Office的宏语言,也就是通过VBA的语法形式兼容原有宏功能,而Office真正的宏功能,依然被保留着,只是大家很少用了而已,相信用过的朋友是清楚的。VBA采用了解释机制,而且提供了强大的逐句解释功能,所以运行时不需要编译和链接,完全也是可以的。

但并不意味着,VBA就没有编译和链接功能,相反编译和链接是提升VBA性能中,最低门槛的方法。在早期的Office专业版中,微软官方提供了VBA的编译链接工具,不知道的朋友可关注BtOfficer相关文章,也可搜索相关主题。所以,VBA是拥有完整的编写、编译、链接和运行环节的传统独立开发工具。不能脱离Office环境的说法,就不攻自破了,不然VBA是如何授权给AutoCAD,WPS等一众软件商的呢?VBA不脱离Office环境,主要还是因为便捷。

大家都知道,Office从03之前的二进制格式,到现在的OpenXML格式,Office的VBA源码始终是以复合文档格式存储的。而复合文档中,比如Excel中包括工作簿/工作表/VBA工程加密,都仅仅是防止随意修改,因此Office自带的加密体系都很脆弱。很多人抱怨微软为何不弄个强加密,提升Office用户文件的安全性。

对于Office而言,容易的编辑环境,是便捷的重要组成形式,提供强加密只会破坏这种便捷性,更何况这对Office本身的安全性并无影响。VBA以源码形态存储,并最终使用逐行解释,就是在贯彻这一思想。VBA不脱离Office环境,其次是因为定制的某些特性,需要上下文环境。比如在VBA中可以在工作表模块中使用[a1]来代表A1单元格对象及其默认属性,但是其他使用Office对象接口的开发工具,就不能这么干。

VBA的代码执行可以实时反馈到Office的操作UI上面,使得VBA代码的编写、调试和运行之间关系更加紧凑直接,沉浸式体验非常好。这是脱离Office的开发工具,很难有的体会。VBA不脱离Office环境,以闭源著称的微软,真的不知道开源的好处么?VBA以源码形式存储,和可有可无的加密,其实就是变相构建自己的开源生态。

想想,为什么地球上有那么多围绕VBA的生意?即便VBA已经比很多人都要老,自媒体时代,还是有大量围绕VBA的话题?总之,VBA兼容宏功能,具有脚本语言的特征。同时,VBA可以通过编译链接成可执行文件,而脱离Office环境,是一款独立开发工具。但是,因为微软Office的产品定位,VBA又不得不回到源码存储,逐行解释执行的独有方式上来。

这便是VBA本来的样子!更多论述,详见:1、居然还有不少人认为VB/VBA是脚本语言,偏见害人啊!2、什么是脚本语言?为何VBA不算脚本语言?欢迎关注BtOfficer(收藏、点赞、关注 转发),更多精彩仍在继续哦(专栏文章将更系统,更全面,但需要阁下支持哦),有严肃的技术,也有轻松的唠嗑,更有便捷的工具,期待你的加入哦!。

你认为最好用的脚本语言是什么?

你认为最好用的脚本语言是什么

脚本语言通常是指不需要编译的程序语言,一般用来快速验证开发人员的算法,它们由于不需要编译因此会更快的返回结果,验证结果。目前脚本语言多种多样,比如shell语言就会被运维人员广泛使用,方便他们管理机器,不然像谷歌那种大型公司维护起机器来要么招几百万人要么累死运维。python常被用来做数据处理和机器运维,PHP和javascript常被用作快速网站开发。

文章TAG:脚本语言编程语言

最近更新