一种没有注释的语言

进击的代码 2024-10-03 09:25:20

原文[1]:Breck Yunits[2] - 2024.09.05

JSON[3] 是 PLDB(A Programming Language Database)中唯一不支持注释的流行语言。JSON 既不支持单行注释[4],也不支持多行注释[5]。

JSON 最初是有注释的

Douglas Crockford 在 2012 年解释了他独特的设计决策。他最初是支持注释的,但为了防止生态系统的分裂,最终决定去掉注释:

我之所以从 JSON 中删除注释,是因为我发现人们在使用注释来保存解析指令,这种做法将会破坏一致性和兼容性。我知道缺少注释让一些人感到不快,但这是不应该的。

假设你正在使用 JSON 来保存配置文件,并且想为它们添加注释。你可以随心所欲地插入注释,然后在传递给 JSON 解析器之前,通过 JSMin[6] 进行处理。

- Douglas Crockford - 2012 年 4 月 30 日 - 来源[7]

(注:Douglas Crockford 是一位著名的软件工程师和作家,以其在 JavaScript 语言发展中的贡献而闻名。他最广为人知的成就是定义了 JSON(JavaScript Object Notation),一种用于数据交换的轻量级数据格式。)

一些 JSON 的超集支持注释

一些 JSON 的派生版本重新加入了注释功能,比如 JSON5[8]、Hjson[9] 和 JSON with Comments[10]。

参考资料

[1]

原文: https://pldb.io/blog/a-language-without-comments.html

[2]

Breck Yunits: https://github.com/breck7

[3]

JSON: https://pldb.io/concepts/json.html

[4]

单行注释: https://pldb.io/features/hasLineComments.html

[5]

多行注释: https://pldb.io/features/hasMultiLineComments.html

[6]

JSMin: https://github.com/douglascrockford/JSMin

[7]

来源: https://web.archive.org/web/20141227005220/https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr

[8]

JSON5: https://pldb.io/concepts/json5.html

[9]

Hjson: https://pldb.io/concepts/hjson.html

[10]

JSON with Comments: https://pldb.io/concepts/json-with-comments.html

0 阅读:0
进击的代码

进击的代码

程序员,分享生活、工作、技术、学习。