几种不同类型语言的辨析

1. 编译型语言与解释型语言

编译型语言:编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言就不用再进行翻译了,比较依赖编译器,跨平台性一般,运行效率高。例:C、C++

解释型语言:是在运行的时候将程序翻译成机器语言,所以运行速度慢相对。解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译。跨平台性比较好,运行效率低。例:Python、JavaScript、Shell、Ruby、MATLAB

2. 动态类型语言和静态类型语言

静态类型语言:变量的类型在编译之前就需要确定,在编译的时候需要先编译,将源码转换成目标代码,然后需要运行目标代码程序才能运行。例:C,C++,JAVA

动态类型语言:不需要直接指定变量类型,在解释的时候,转换为目标代码和运行程序一步到位,可以在运行时改变结构,例:Python、Ruby、Perl

3. 强类型语言和弱类型语言

强类型语言:在强类型语言中,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。是类型安全的语言。

弱类型语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值

例:例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言);JAVA是静态语言,是强类型定义语言(类型安全的语言)。

注:强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值