gpt4 book ai didi

api - "private language WTF"与糟糕的库/API/DSL 设计有何区别?

转载 作者:行者123 更新时间:2023-12-01 08:41:27 24 4
gpt4 key购买 nike

一些最有趣的每日 WTF 故事以 private languages run amok 为特色。然而,特定领域的语言可以是 quite powerful 并且似乎越来越流行。当然,如果没有好的库,我们根本无法编程,但正如谚语所说, "library design is language design"

没有人喜欢糟糕的 API,但只是程度的差异,还是 WTF 是完全不同的物种?显然这是主观的,所以我把它写成一个社区维基帖子。 (著名的 Stackoverflow 联合创始人有 different opinions about whether one particular in-house language was even a WTF or not 。)

我自己的预感是,使 WTF 出现的是普遍性的尝试,但我想看看其他人的想法。

(这个问题是通过阅读 JaredPar 对这个问题的回答的评论触发的: https://stackoverflow.com/questions/901320/anti-joel-test/901361#901361 )

(为了澄清一点,“私有(private)语言”一词通常带有负面含义,而“DSL”或“图书馆”则是中性的。如果有的话,“内部”工具会在哪些方面交叉?被 mock 为一种可怕的“私有(private)语言”,除了可能使其成为糟糕工具的常见事物之外?这不一定是关于一种语言;它可以是一个库或框架。)

最终编辑:我接受了 Roger Pate 的“本质上?什么都没有”的回答。因为我认为这对于我提出的问题实际上是正确的。不过,我想强调 Aaronaught 对 DSL 的回答,因为我认为它特别好。谢谢。

最佳答案

本质上?没有什么。 (我理解你是“糟糕的语言和糟糕的库/API 之间有什么区别”,而不是“糟糕的语言/库/API 和好的语言/库/API 之间的区别是什么。)

一个足够大的库会像语言的方言一样使用它,尤其是在某些语言中(考虑 MFC、Qt、GTK 等)。

低于该大小阈值的库要么不经常使用,要么没有足够的人使用,以至于有人可以对其进行标记,或者将其描述为 API 只是愚蠢的,即使该术语在技术上是正确的。 (想象一个库只有一个函数,或者没有函数,只是作为一个有用类型的集合,比如 。)

您可以得出的唯一区别是不会尝试破坏语言的库/API 不会被称为“私有(private)语言”或“DSL”。例如,Qt 需要(它仍然如此吗?它曾经非常强烈地这样做)一个特殊的预处理器来将其添加到 C++ 中,并且在那时它超出了“方言”状态。 MFC 也使用宏走了同样的路线。

关于api - "private language WTF"与糟糕的库/API/DSL 设计有何区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2211562/

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