区别是1、运行原理区别;2、运作区别;3、优势区别。静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言求在使用变量之前必须声明数据类型;动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明。
1、运行原理区别
静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型;比如C/C++ 是静态类型语言的典型代表,其他的静态类型语言还有 C#、JAVA 等。
动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型;像是Python 和 Ruby 就是一种典型的动态类型语言,其他的各种脚本语言如 JavaScript 也属于动态类型语言。
2、运作区别
静态类型语言编译时会进行类型匹配检查,所以不能给变量赋予不同类型的值。为了解决这一问题,静态类型的面向对象语言通常通过向上转型的技术来取得多态的效果。
动态类型语言的变量类型在运行期是可变的,这意味着对象的多态性是与生俱来的。一个对象能否执行某个操作,只取决于有没有对应的方法,而不取决于它是否是某种类型的对象。
3、优势区别
静态语言的优势:
由于类型的强制声明,使得IDE有很强的代码感知能力,故在实现复杂的业务逻辑、开发大型商业系统、以及那些生命周期很长的应用中,依托IDE对系统的开发很有保障;
由于静态语言相对比较封闭,使得第三方开发包对代码的侵害性可以降到最低;
动态语言的优势:
编写的代码数量更少,看起来更加简洁,可以把精力更多地放在业务逻辑上。虽然不区分类型在某些情况下会让程序变得难以理解,但整体而言,代码量越少,越专注于逻辑表达,对阅读程序越有帮助。
延伸阅读:
什么是WEB编程语言?
WEB编程语言,分为WEB静态语言和WEB动态语言,WEB静态语言就是通常所见到的超文本标记语言 (标准通用标记语言下的一个应用),WEB动态语言主要是ASP,PHP,JAVASCRIPT,JAVA,CGI等计算机脚本语言编写出来的执行灵活的互联网网页程序。
超文本标记语言(标准通用标记语言下的一个应用、外语缩写:HTML)可以规定网页中信息陈列格式,指定需要显示的图片,嵌入其他浏览器支持的描述性语言,以及指定超文本连接对象,如其他网页、JAVA、CGI程序等。
HTML语言的原文件是纯文本文件,可以是用任何文本编辑器如UNIX的VI、DOS的EDIT、WINDOWS 、txt中的书写器等。但专用编辑器如HTML EASY !MICROSOFTFRONTPAGE 等提供了一整套模板等编辑工具,还可以直接调用内置的浏览器浏览程序的执行结果,或者提供了“所见即所得”的可视化编程功能。
文章标题:动态语言和静态语言的本质区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38203