猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
静态类型化和动态类型化语言之间有什么区别?
静态类型化和动态类型化语言之间有什么区别?
我听说很多新的编程语言都是动态类型的,但是当我们说一种语言是动态类型的还是静态类型的时候,这到底意味着什么呢?
小怪兽爱吃肉
浏览 988
回答 3
3回答
HUX布斯
静态类型语言如果在编译时知道变量的类型,则会静态地输入语言。对于某些语言,这意味着程序员必须指定每个变量的类型(例如:Java、C、C+);其他语言提供某种形式的类型推理,类型系统推导变量类型的能力(例如:OCaml、Haskell、Scala、Kotlin)这里的主要优点是编译器可以完成所有类型的检查,因此在非常早期阶段就捕获了许多琐碎的bug。例子:C,C+,Java,Rust,Go,Scala动态类型语言如果类型与运行时值相关联,而不是命名变量/字段/等,则该语言是动态类型的。这意味着作为程序员,您可以更快地编写,因为您不必每次指定类型(除非使用静态类型语言类型推理).例子:Perl,Ruby,Python,PHP,JavaScript大多数脚本语言都有这个特性,因为无论如何都没有编译器可以进行静态类型检查,但是您可能会发现自己在搜索一个错误,这是因为解释器误解了变量的类型。幸运的是,脚本往往很小,所以bug没有那么多地方可以隐藏。大多数动态类型语言确实允许您提供类型信息,但不需要它。目前正在开发的一种语言,流氓,采用混合方法,允许在函数中进行动态类型,但对函数签名强制静态类型。
0
0
0
摇曳的蔷薇
静态类型化编程语言进行类型检查(即验证和强制执行类型约束的过程)编译时相对于运行时间.动态类型编程语言在运行时间相对于编译时.
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
源码
spark分组排序提取前N个值
1 回答
请问转让门店小程序需要源码吗?门店小程序有自己的源代码吗?是否要注册计算机软件著作权才可以交易?
1 回答
算法与数据结构
数据结构中,与所使用的计算机无关的数据是什么?
1 回答
学完C语言之后是先学数据结构还是先学JAVA好呢?
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续