- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一些最有趣的每日 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/
我想在这里说的是我在从之前离开的相同状态重新启动我的应用程序时遇到的问题。我在这方面做了很多研发,并且已经解决了 stackoverflow 中发布的问题。所以请不要说它是重复的。 我试过设置这些选项
当我在我的类中实现 __cmp__ 函数时,python 是否会在内部重载“==”,我们在 C++ 中是如何做到的? 只是好奇。我是 python 的新手。 :) 最佳答案 ==的含义当您定义 __c
我在 Raspberry Pi2 上安装了 Gitlab,几个月来它运行良好。但自从关闭了RPi的电源后,它就不再起作用了。网页返回502错误。 502 Whoops, GitLab is takin
有人知道用户登陆带有Webfonts的页面时为什么Google Chrome浏览器崩溃吗 它并不会一直发生,而是经常发生 我刚得到一个蓝屏页面,却不知道为什么:该页面不是来自重定向时就很好了。 这是我
当我登录时,Skype始终会给出此错误。 糟糕,Skype存在问题。尝试注销然后重新登录。 STARTUP_LOAD_ERROR MACBOOK 最佳答案 Macbook 用户 退出Skype 回家
我正在尝试从 flutter 开始,首先我在 cmd 上运行 flutter doctor 它有效。在我安装了 ANDROID SDK 之后,同样的命令 flutter doctor 给了我异常:
从 android studio 终端运行 flutter attach 不工作。显示错误flutter 意外退出。 终端输出: flutter attach Checking for adverti
当使用 TinyMCE 4 测试所有浏览器时,Chrome 非常慢。 (我尝试从 TinyMCE 中删除所有插件,但没有任何区别。) Chrome 需要大约 20-25 秒在 TinyMCE 中呈现一
我试图让下面的脚本工作,以便从远程服务器(服务器 1)读取特定目录中的 CSV 文件列表,并将数据移植到另一台服务器的 PostgreSQL 数据库中。 我已经创建了一个 rsa SSH key 并将
在嵌入式 linux 环境中(在 PowerPC 上定制的 2.4.25)几个小时后我得到以下内核 panic : Oops: kernel access of bad area, sig: 11 N
在将现有 Node.js (Hapi.js) + RethinkDB 从 OVH VPS(最小 vps)迁移到 AWS Lambda( Node )+ DynamoDB 的过程中,我最近遇到了一个非常
我是一名优秀的程序员,十分优秀!