计算机语言分类与区别

计算机语言的分类与区别

编译型语言与解释型语言的区别参考

  • 编译型语言(如C++)
    优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
    缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
  • 解释型语言(如Java)
    优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
    缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
  • 编译型语言运行的是最终的二进制代码,运行时不需要编译器;但解释型语言则不然,它是边解释、边运行,所以运行的时候很可能还有部分代码没有解释好,所以需要编译器守护(解释型语言把该工具叫:解释器)
    编译型语言运行时已经是完全的二进制内容了,比解释型语言(边解释成二进制,边运行)快得多。编译型语言的

动态类型语言与静态类型语言的区别参考

所谓静态类型语言,在代码被编译时变量的类型便已确定了
所谓动态类型语言,其变量类型要到程序运行的时候,待变量被赋了某个值才能知道其类型

  • 静态类型语言:
    优点:避免程序运行时发生变量类型相关的错误,先前明确了变量的类型,编译器可以针对这些信息对程序做出一些优化,从而提高程序执行的速度
    缺点:撸码的时候,需要格外注意变量的类型,过多的类型声明会增加更多的代码
  • 动态类型语言的优缺点:
    优点:给实际的编码带来了很大的灵活性,我们只关注对象的行为,而不关注对象本身
    缺点:代码运行期间有可能会发生与类型相关的错误
    鉴于动态语言的这个缺点,可是尝试下TS

强类型语言与弱类型语言的区别参考

  • 强类型语言:使之强制数据类型定义的语言。没有强制类型转化前,不允许两种不同类型的变量相互操作。强类型定义语言是类型安全的语言,如Java、C# 和Python,比如Java中"int i = 0.0;"无法通过编译的;
  • 弱类型语言:数据类型可以被忽略的语言。与强类型语言相反,- -个变量可以赋不同数据类型的值,允许将一块内存看 做多种类型,比如直接将整型变量与字符变量相加。C/C++、PHP都是弱类型语言,比如C中"int i = 0.0;”可以编译运行的;
  • 注意,强类型语言在速度上略逊色于弱类型语言,使用弱类型语言可节省很多代码量,有更高的开发效率。而对于构建大型项目,使用强类型语信可能会比使用弱类型更加规范可靠。
    另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值