对于部分程序语言的的理解

前言

为C++初学者,参考网上对于编译型语言和解释型语言,动态类型语言和静态类型语言,强类型语言和弱类型语言的分析,加上个人理解,归纳总结如下。

一、编译型语言和解释型语言

首先我们要知道编译和翻译的区别,
编译:直接将写好的代码全部转换成计算机可以识别的语言,先转化,计算机再执行,需要编译系统。
解释:将代码转化成计算机可以识别的语言,边转化边执行,二者同时进行,需要翻译器。
编译型语言(C/C++)和解释型语言(Java/C#)的差别主要就在于编译和解释的差别,由于编译是在程序执行之前就已经把代码转化为计算机可以识别的语言,使用时只需要调用相应的exe.文件即可,所以程序的执行速度教快。而翻译型语言由于是一边翻译一边执行,所以速度较编译会慢一些。
编译型语言的程序由于提前转化好了,所以普适性较差,如果运行环境发生变化,可能会无法运行。而翻译型语言则相反,由于它是边执行边翻译,所以适应性就会很好。

二、动态类型语言和静态类型语言

动态类型语言(JS,Python) :在运行期间进行数据类型检验的语言,优点是开发快,但是维护成本较高(检查较为麻烦)。
静态类型语言(Java,C++):在编译或者是运行之前进行数据检验的语言,优点是许多错误可以在编译时检查出来。
动态类型语言适合个人做一些小的程序,由于语法灵活,所以写的速度会很快。但是由于过于灵活,写一些大的程序的时候如果出现了错误难以找出并解决,所以静态类型语言虽然语法较为严苛,但是更容易发现错误,也更不容易出错。

三、强类型语言和弱类型语言

强类型语言(Java、C++):数据类型只能强制转化,例如浮点型变量a如果要表示整型,必须经过强制转化。
弱类型语言(PHP、javascript):数据类型可以进行隐式转化,例如浮点型变量a如果被赋予整型的数据,则a转化为字符串类型。
这一类型语言也是类似的,强制转化虽然较为刻板,但是不容易出错;而弱类型语言虽然可以进行隐式转化,但是如果输入数据类型出错也无法识别,很可能导致程序运行出错。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值