首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编程语言只是一个编译器吗?

编程语言只是一个编译器吗?
EN

Stack Overflow用户
提问于 2020-10-22 19:26:24
回答 1查看 143关注 0票数 0

编程语言除了一些用于编写命令的语法和规则之外什么都不是,编译器可以将它们转换为机器代码,这是真的吗?

如果是,那么编程语言的速度就没有意义了,因为编译器的工作是创建优化的机器代码。这意味着,如果我们为所有编程语言创建最好的编译器,它们将具有相同的性能,这是真的吗?另一方面,当我们说c++20发布时,这意味着发布了一个新的编译器,它可以理解添加到c++中的一些新的语法规则,对吗?

附言:在这篇文章中,我不想提及解释型语言。

EN

回答 1

Stack Overflow用户

发布于 2020-10-22 20:47:27

,这意味着如果我们为所有编程语言创建最好的编译器,它们将具有相同的性能,这是真的吗?

不是的。一个伟大的优化编译器不会使一个糟糕的算法比一个未经优化的好算法更快。

,另一方面,当我们说c++20发布时,这意味着发布了一个新的编译器,它可以理解添加到c++中的一些新的语法规则,对吗?

不一定。虽然几乎每个新版本的编程语言都可能有一些新的语法,但并没有通用的规则要求更新必须有新的语法规则。

我目前主要用Prolog编程,它基本上有一些基本的语法规则。所有的新版本通常都会添加库、补丁、修复、更改,但使用Prolog,unification的基本语法从一开始就非常可靠。

虽然许多人不认为无类型lambda calculus是一种编程语言,但它只有抽象和应用程序;语法没有变化。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64481238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档