代码之家  ›  专栏  ›  技术社区  ›  Shawn Mclean

面向对象编程语言编译器设计的差异

  •  1
  • Shawn Mclean  · 技术社区  · 17 年前

    1 回复  |  直到 14 年前
        1
  •  1
  •   user166390 user166390    17 年前

    在探讨“编译器设计”之前,我认为需要解决更基本的“语言设计”问题。

    语言应该是静态类型的吗?动态类型?早/晚绑定还是组合?支持仿制药?推理是一个目标吗?类型应该是封闭的还是开放的?子打字应该如何工作?(是否应该允许隐式子类型?)协方差?矛盾?单一继承?惯性矩?SI与特质?明确的成员选择?原型(也就是说,是否应该有“类”和“实例”的概念?)类型应该是记名的还是基于成员签名的?单次发货还是多次发货?成员是被称为一等公民还是传递信息?类型与类相同吗?“值”和“引用”类型之间有区别吗?等等等等……而这只是冰山一角。