使用C来实现其他语言限制了他们的设计吗?

似乎在过去20年出现的大多数新的编程语言都是用C写的。这样就可以将C看作是一种便携式的汇编语言。但是我很好奇的是这是否以任何方式限制了语言的设计。什么促使我的问题在于思考如何在Python中直接使用C堆栈来调用函数。显然,编程语言设计师可以用他们想要的任何语言来做任何他们想要的任何事情,但是在我看来,你选择用来编写新语言的语言让你有一定的思维方式,给你一些难以忽视的捷径。这些语言的其他特征是用这种语言写的(好还是坏)?
即使使用C实现,您在实现方面也是令人吃惊的。例如,chicken scheme使用C作为中间体,但仍然设法使用堆栈作为垃圾收集器中的托儿所。

也就是说,有些情况有限制。例子:GHC haskell编译器有一个称为Evil Mangler的perl脚本来改变GCC输出的汇编代码来实现一些重要的优化。由于这个原因,他们一直在转向内部生成的汇编和LLVM。也就是说,这并不限制语言设计 – 只有编译器选择可用的优化。

翻译自:https://stackoverflow.com/questions/3513780/has-the-use-of-c-to-implement-other-languages-constrained-their-designs-in-any-w

转载注明原文:使用C来实现其他语言限制了他们的设计吗?