gpt4 book ai didi

programming-languages - 编程语言如何保持向后兼容性并修复设计错误?

转载 作者:行者123 更新时间:2023-12-01 07:12:12 26 4
gpt4 key购买 nike

关闭。这个问题是off-topic .它目前不接受答案。












想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。

9年前关闭。




Improve this question




如您所知,如果您已经阅读了我的其他一些问题,我正在编写一种编程语言。我最大的担忧之一是许多语言在向后兼容性方面存在问题,我希望避免此类问题。一方面,我在 Python 社区中看到了在切换到 Python 3000 时的许多痛苦和痛苦,因为它破坏了向后兼容性。另一方面,我见过 C++,它一开始受 C 语法的束缚,从未真正恢复过;即 C 的语法不适合许多 C++ 构造。

我的解决方案是允许程序员在文件中添加一个编译器指令,该指令将告诉编译器在编译时使用哪个版本的语言。但我的问题是,其他语言如何处理这个问题?是否有任何其他已尝试过的解决方案,这些解决方案的成功程度如何?

最佳答案

当某些东西被破坏时,勇敢的语言设计者一定不要害怕破坏向后兼容性。我知道有两种好方法可以做到:

  • Glasgow Haskell Compiler通常 弃用 不需要的功能,然后在两个版本后放弃支持。
  • Lua团队有一个政策,每个主要版本(自 1993 年以来有 5 个)可能会破坏向后兼容性,但他们通常会提供 兼容层帮助用户迁移到最新版本。 (此外,他们非常谨慎地保持一切可用;当前版本是 5.1,但我仍然维护 Lua 2.5 代码,如果我发现 Lua 2.5 中的错误,他们会修复它。)
  • 关于programming-languages - 编程语言如何保持向后兼容性并修复设计错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1264034/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com