关于解释型语言和编译型语言

嘛,关于找工作一直都是让我头疼的东西,要求一年比一年高,羡慕以前的程序员,写得一手烂代码依然能找到好工作。

心情郁闷同时,补一下基础

说到解释型语言,比较有名的就是python,编译型语言就是C,C++,半解释半编译就是Java啦!

你们会发现我们书写完一个程序的时候,在终端敲python xxx.py的时候,终端直接显示了结果,就算你觉得不服,再修改源文件,py文件也是直接运行了你修改之后的代码

但是java和C++就得你修改完后代码后,(对于Java)再输入javac 啊之类的编译命令,生成对应的.class字节码文件后你再使用java 源程序名 才能运行你修改之后的代码,那这是怎么回事呢?

首先,计算机是不能直接识别程序员敲出来的代码的,计算机只能识别计算机自己的二进制语言,我们可以打个比方:

windows操作系统:英国人

linux\Unix操作系统:德国人,一半英国血统

python:好比一个会说八国语言的同声传译大佬,国籍不明

Java(准确说是JVM):好比一个会说八国语言,但是不能同声传译的大佬,法国人

C++:一个只懂英语的,但是不会同声传译小白翻译,祖上是英国人

程序员写使用对应语言写的代码:中国人

这个过程就好像是:

中国人说了一句你好啊,然后python这个大佬直接解释告诉英国人,他在说你好

但是Java就先自己用法文笔译一遍你好啊,然后对着法语文章向英国人说英语hello

C++就牛逼了,笔译完中文后,拿给英国人看:"诺,这是那个中国人的意思!"

所以这里我们就能看到,Java其实本质上是解释型语言

那么三者的效率也能看得很清楚,python同声传译太他妈费脑子了,一边读代码,一边向操作系统解释执行代码,所以底层运行效率低

但C++索性让操作系统自己去执行代码,所以最快

Java就是一次性读完代码,然后一次性解释代码,所以介于两者之间

看官明白了?

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值