闲言碎语 · Essay

什么是静态语言和动态语言? 大白话翻译。

小编 · 4月28日 · 2020年

记得以前了解动态语言和静态语言的时候,经常搞不清两者之间的区别和性能原理。

什么是静态语言和动态语言? 大白话翻译。

虽然现在完全明白,但是了解的过程很久,而且容易迷茫。

就在刚才打字的时候,灵感突现,搜狗拼音输入法可以很清晰明了的解释两者的区别。

原理大白话

动态语言、解释型语言、脚本语言 就好比搜狗拼音输入法,输入快捷,方便,容错率高,可能几个首字母就会打出一连串的汉子。”wanzg” 就会打出 “我爱你中国” ,还有各种表情也能打出来,缺点就是显示的速度慢,因为搜狗需要联网查询资源,然后智能化处理返回结果。

静态语言、编译型语言 就好比智能 ABC 输入法,输入需要严谨,不能出错,但是显示的速度很快,基本是肉眼感觉不到的速度显示文字,搜狗甚至会反应几秒钟才显示(云表情 / 云词)。缺点就是必须输入正确严谨,打字速度相对要慢。

细分本质

动态语言(弱类型语言)容错率高,1 既能表示 int,也能表示 float。好比输入 “couwu” 也能打出 “错误” 两字。

静态语言(强类型语言)严谨,1 是 int 就是 int,输入 “couwu” 绝对打不出 “错误” 两字。

解释性语言 顾名思义是要解释的。什么意思呢?就是解释性语言的代码不能直接编译成机器语言,需要通过解释器来转换成机器代码。而且还是一边运行,一边解释,这么一来,运行速度肯定要慢很多。相当于现吃现做。

脚本语言属于解释性语言,但脚本语言有自身的一些特点:文本型。最初是为了缩短传统的 “编写、编译、链接、运行” 过程而创建的计算机编程语言。然而,在脚本和传统编程语言之间的界限越来越模糊,尤其是在一系列新语言及其集成常出现时。我们不妨将脚本语言归类为解释性语言也可以。

编译型语言 是直接编译成机器语言,直接放到服务器运行,相当于做好等着吃。

结语

看到这里你应该明白,为什么有的语言又叫动态语言,又叫解释性语言,又叫脚本语言了。。。希望可以帮助你有个清晰的了解。如果想了解具体的特性和好处坏处,单独搜索百度很详细。这里就主要帮助大家理清思路。

以上是编程语言类型解释。总归一句话:开发快,性能慢。 性能快,开发慢。 那么有没有两者兼容的语言呢?还真有,golang,你值得拥有,本人正在学习中。。。

1 条回应
  1. 匿名2020-4-29 · 11:10

    网站建设得很漂亮!
    学习用。
    感谢。
    weiweijohnson@163.com