总有更好的
2008-04-09 00:04
120 查看
原文:Some Trees Are Better Than Others
首先去读一下Doug Crockford的回答,然后再读一下Dave Megginson对S表达式的称颂吧。
在我看见Crockford的最后一段话之前,我都感觉极其不舒服,这句话是这么说的:
“我看Megginson想说的是,用XML的方式来思考结构是一件很困难的事情。我希望让大家看到,用JSON的方式来思考结构是一件很困难的事情。”
在这个问题上,我想它取决于你如何定义“困难”。
比起XML,大多数编程语言在定义结构上都更加困难,这种情况正如很容易就可以让“解释/行为”渗进“表示/结构”一样。虽然你可以通过训练来做到它,但是对于我们大多数人来说,都是我们的软肋。
在XML中定义结构是完全可行的,然后,它会促使你作出一些很不自然的事情来。
和XML比起来,我发现我能够用JSON来更加有效地定义结构。
JSON为我提供了隐式的S表达式,这是一种处理结构数据最显著的途径。 [align=left]
首先去读一下Doug Crockford的回答,然后再读一下Dave Megginson对S表达式的称颂吧。
在我看见Crockford的最后一段话之前,我都感觉极其不舒服,这句话是这么说的:
“我看Megginson想说的是,用XML的方式来思考结构是一件很困难的事情。我希望让大家看到,用JSON的方式来思考结构是一件很困难的事情。”
在这个问题上,我想它取决于你如何定义“困难”。
比起XML,大多数编程语言在定义结构上都更加困难,这种情况正如很容易就可以让“解释/行为”渗进“表示/结构”一样。虽然你可以通过训练来做到它,但是对于我们大多数人来说,都是我们的软肋。
在XML中定义结构是完全可行的,然后,它会促使你作出一些很不自然的事情来。
和XML比起来,我发现我能够用JSON来更加有效地定义结构。
JSON为我提供了隐式的S表达式,这是一种处理结构数据最显著的途径。 [align=left]
并且,在JSON和S表达式中,这种具体的语法实在是很琐碎(并且与这个模型形成正交),它不可能真正挡住我的去路。
对于XML,我不能说我有相同的看法。确切地说,面对属性/元素的非可组合性,原子数据判断,字符串常量上的怪异判断(例如:合法的unicode字符不能出现在值中),还有偶尔的唠叨(我对此具有极强的免疫力,但是每当我把XML值给同事看时,他们都会发出怪异的声音),我确实遇到了问题。虽然这些问题都没能让在XML中定义结构变得“困难”,但是话说回来,他们展示了通过XML,将我所想象的内容转换成真实的数据,是一条多么少见的快捷途径。
现在,不管这些事情是否要紧,我都不会在意了:-)[/align]
相关文章推荐
- 成为一名更好的程序员:如何阅读源代码
- 写给一位期望做得更好的大学生
- [BetterExplained]书写是为了更好的思考
- 为什么说 Git 比 SVN 更好
- 更好的服务让你更出众
- 尝试手写一个更好用的performSelector/msgSend(详细修改版)
- 所有图片格式转eps的一种更好的办法(没有多余空白区域,无需裁剪eps)
- c3p0、dbcp和proxool比较 据说TOMCAT 7之后的 JDBC 性能更好
- UNIX、Linux、Solaris、Windows到底谁更好?
- 可能外包的代码质量更好。
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(2):MVP比MVC更好吗
- 更好的理解索引
- 明年花更好,携子与同。
- 关于前端程序员写前端用什么框架更好?
- 怎样更好的设计你的REST API之基于REST架构的Web Service设计及REST框架实现
- 比百分比更好的适配方案
- iOS 开发如果涉及数据和表的持久化,Core Data 比 SQLite 更好吗?
- Android新组件RecyclerView介绍,其效率更好
- 当用到Map<Integer,E>的使用,用SparseArray<E>替代性能更好
- 成为更好的交谈者