• 三分钟看懂编译型语言和解释型语言概念、特点、区别,动态语言和静态语言的概念、区别、特点优缺点


    三分钟看懂编译型语言和解释型语言概念、特点、区别,动态语言和静态语言的优缺点

    编译型语言和解释型语言:

    0.补充:

    1.计算机并不能直接识别各种编程语言,需要将各种编程语言转化成机器能够识别的指令集

    2.由于制造计算机的公司很多,所以不同公司制造的计算机的cpu架构是不同的,对于不同架构的cpu所能够识别的指令集又是不同的,有了这个补充概念再往下看。

    1.概念

    编译型语言 是指像 C 这样直接将代码转换成机器指令在本地机器上运行的语言;

    C语言 ——> 机器指令(只能有一种类型的cpu可以识别)

    解释型语言 则是先把代码翻译成字节码,再把字节码在对应的虚拟机上运行,由虚拟机把字节码再转成***机器指令***运行,比如python 、java语言。

    python、Java ——> 字节码 ——> 机器指令

    (虚拟机)

    例子

    编译型相当于一个谷歌全文翻译,一次性把整篇英文文章翻译成中文,然后以中文模式储存,以后中国人直接拿来阅读就可以了,但是其他国家的人(其他cpu)就不能阅读了,因为他看不懂中文(这种***指令集***);

    解释型相当于一个谷歌段落翻译,每次阅读的时候现场进行翻译,翻译一段阅读一段,什么国家的人(何种cpu)来阅读就翻译成哪国语言(对应指令集)

    特点

    1.这样看解释型语言运行时的效率就不如编译型的了,因为编译型的不用再现场翻译了

    2.但是解释型的移植性好,每次不同的机器通过虚拟机解释成不同的指令集就可以了

    什么是动态语言:

    动态语言是指在运行前不检查数据的类型,而在运行的***过程中***再检查数据类型,每次编写程序是不需要用户自己定义数据类型,而是在内部隐式的对用户定义的数据进行类型记录;

    python:

    a = 100         # 不需要在a前面定义变量a的数据类型,内部自动记录了整形
    b = 3.1415      # 不需要在b前面定义变量b的数据类型,内部自动记录了浮点型
    

    什么是静态语言:

    静态语言是指在运行前(编译成机器指令的时候)要检查数据的类型,用户在编写程序要自己定义数据的类型。

    C:

    int a              // 需要提前定义a的类型
    a = 100
    float b            // 需要提前定义b的类型
    b = 3.1415
    

    动态、静态语言的优势和缺点:

    动态语言的优势:代码相对比较简洁,无需编写各种类型代码,方便用户阅读;

    动态语言的缺点:调试不方便,代码命名容易混;

    
    

    静态语言的缺点:代码相对繁琐,需要书写各种表示类型的代码,阅读不方便,

    静态语言的优点:在调试时比较方便,代码规范。

  • 相关阅读:
    Python 模块 itertools
    Python 字符串的encode与decode
    python 模块 hashlib(提供多个不同的加密算法)
    暴力尝试安卓gesture.key
    hdu 1300 Pearls(DP)
    hdu 1232 畅通工程(并查集)
    hdu 1856 More is better(并查集)
    hdu 1198 Farm Irrigation(并查集)
    hdu 3635 Dragon Balls(并查集)
    hdu 3038 How Many Answers Are Wrong(并查集)
  • 原文地址:https://www.cnblogs.com/duanming/p/11830302.html
Copyright © 2020-2023  润新知