编程语言的区别(静态VS动态)||(编译型VS解释型)

**

编程语言的区别(静态VS动态)||(编译型VS解释型)

**

静态 VS 动态

Static typing when possible, dynamic typing when needed。

1.静态语言定义:数据类型需要在编译其间检查的语言,即写程序时要声明变量的数据类型,常见静态语言:C,C++,C#,JAVA

2.动态语言定义:在运行期进行数据类型检查的语言,即在编写代码的时候可以不指定变量的数据类型,“现用现给”,常见动态语言:Python,Ruby,JS ,PHP

区别

(1)静态语言使用变量需要提前声明好数据类型,不同数据类型的变量不允许直接赋值,它的数据类型是编译期间进行检查的;动态语言不需要提前声明,它的数据类型是在运行期间进行检查的。

(2)静态语言功能更加强大,但灵活性比较差,相对难学习;动态语言更加快速灵活,但在代码运行前很难找到bug,虽然提升了开发速度,但失去程序的健壮性。

编译型 VS 解释型

计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式有两种:

1.编译

2.解释

1.编译型语言

高级语言一次性编译为机器码程序,存储在计算机内,需要运行时直接运行机器码指令即可,不需要再对源程序进行编译,执行效率比较高,常见编译型语言:C,C++

2.解释型语言

程序编写完后,待需要时解释后直接运行,比较方便移植其他平台,常见解释型语言:Python

请添加图片描述

区别:

1.编译型效率更高,解释型运行时需要先解释后运行,效率较低
2.编译型语言一般无法移植其他平台;而解释型语言有对应的解释器则可轻松移植其他平台,移植性较好

参考博客:
[1]https://blog.csdn.net/gengyiping18/article/details/28269401?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.no_search_link
[2]: https://mxlei.blog.csdn.net/article/details/81348780?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.no_search_link

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值