V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vevlins
V2EX  ›  前端开发

语言本身的编译型和解释型的本质区别是什么

  •  
  •   vevlins · 2018-08-02 10:52:37 +08:00 · 1787 次点击
    这是一个创建于 2341 天前的主题,其中的信息可能已经有所发展或是发生改变。

    很多语言提供了编译器和解释器两种,语言本身有什么编译型和解释型的区别吗?

    动态数据类型算是区别吗?还是什么其他特性?

    4 条回复    2018-08-02 11:49:16 +08:00
    yanaraika
        1
    yanaraika  
       2018-08-02 10:59:40 +08:00 via Android
    语言本身一般没有,但有些特性(例如说 duck typing/动态类型)不太适合编译器的高性能实现。
    kingwl
        2
    kingwl  
       2018-08-02 11:01:18 +08:00
    编译到 IR/字节码算不算编译型, 解释 IR/字节码算不算解释型
    zhy0216
        3
    zhy0216  
       2018-08-02 11:04:28 +08:00   ❤️ 1
    编译就是把一种语言翻译成另一种语言 和动态类型静态类型的分类是没有关系的
    举个例子 python 其实也有编译的步骤 把 python 代码编程成 python 虚拟机的字节码(就是 pyc 文件)
    静态类型也有解释器的比如 haskell 什么的

    你可能还会看到强类型和弱类型的分类 具体是指类型是不是会隐形转换 和动态类型静态类型的分类也是没有关系的
    比如 C 就是静态弱类型
    vmebeh
        4
    vmebeh  
       2018-08-02 11:49:16 +08:00 via iPhone   ❤️ 1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2342 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 15:53 · PVG 23:53 · LAX 07:53 · JFK 10:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.