标记语言设计的抽象程度思考

突然觉得HTML越来越乱了,现在满世界都在喊着HTML5,前端同学好像都把他当作了一个救世主。

HTML是一门标记语言(Markup Language),标记语言在于他的设计不需要逻辑功能,他最主要的作用就是用确定的标签(在html中是HTML elements)来容纳有不同的内容。其实世间万物本来就有他自己的意义的,在网页上显示出来的一切文本、图像、视频也是。一块巧克力不把它放到巧克力盒子里我们一样知道它是巧克力,只是为了方便生产、运输、卖出的识别我们大多会将巧克力用包装装起来。一个图像我们不用img标签包含,浏览器也是有可能知道它是一个图像的,从一定程度上来说,超文本标记语言的发展是浏览器工业化发展的一个象征。将同类的的东西放到同一个特定的“容器”中,在oop中来说,就是类的思想了。

于是,真正引发的问题就是这个容器究竟该设计得多“大”?这就是设计中经典的抽象程度的问题了。阴阳五行足够概括世间万物、但不能完全描述世间万物。在HTML中,使用标签(Element)和属性(Attribute)二维结合来描述超文本资源。无奈所有的东西都是不断发展的,互联网也不例外。其实HTML5中多出来video等标签就像HTML2多出来img标签一样正常,虽然我们确实值得欢呼,也不用太为此担心兼容——想想gif、png、jpeg——我是达尔文物竞天择思想的支持者。但是我觉得HTML的设计从一开始就没有很好的考虑抽象程度这个问题,可能是为了迁就使用上的方便,最明显的就是这门语言虽然有结构树(DOM)的层级、但是没有意义上的继承,不管是从标签上还是属性上。HTML生来就是有语义的,XHTML想解决数据和结构分离,结果被传道士努力得让大家都只在乎结构和表现的分离了。XHTML2曾一度想放弃向前兼容,还推荐将图像从img标签过渡到object标签,以达到更高的抽象程度,用以更“方便”地描述互联网上将来越多的不同格式的其他资源。HTML5又干脆弄出来一大堆的极度语义化的标签。那么Microformat的出现又是因为什么原因呢?

要看清楚这些,其实我们应该明白其实W3C是一个商业组织。WHATWG更是一个商业化——最明白就是浏览器竞争——的产物。很多东西其实就是商业杂交出来的(比如最明显的代表就是鼓吹“高尚情操”的video标签),HTML的一出生就流淌着商业的血。问题还在于离开商业一切都活不了。

不要再讨论HTML5好不好、HTML5什么时候出来、我们什么时候用它。

有些东西你在思考的时候永远很难想到,比如中国特色的双核浏览器,虽然或许这只是在揠苗助长。

这是个最好的时代,这是个最差的时代。或许一直以来就是。

Tags: xhtml, html, html5, 思考

已有 29 条评论

  1. #1 aoao Says:

    May 8th, 2010 at 10:43 pm

    为什么~
    可乐是用圆瓶装~ 牛奶用方盒装~

  2. #2 阿肆 Says:

    May 9th, 2010 at 09:30 am

    @aoao 就是这个问题,更科学的可能更不方便。
    康师傅绿茶的设计呢?

  3. #3 Jinjiang Says:

    May 9th, 2010 at 12:14 pm

    先不说抽象程度了,草案害死人啊,看着诱人但不敢用。
    现在看来HTML5(尤其是js api的部分)更像是对浏览器的外壳/辅助功能提出的统一标准,不准你瞎做扩展了,比如当超级拖拽遇到ondrag,就很尴尬……
    也或许草案不会正式成为标准,只能用在特定的地方了,受众很有限

  4. #4 C.jack Says:

    May 15th, 2010 at 05:46 pm

    W3C怎么是商业组织呢?

  5. #5 外贸SOHO Says:

    May 19th, 2010 at 09:46 pm

    关注现在,HTML5不会是神话,其实出来后,也就是那样~~
    就跟3G一样

  6. #6 外贸SOHO Says:

    May 19th, 2010 at 09:47 pm

    关注现在,HTML5不会是神话,其实出来后,也就是那样~~
    就跟3G一样

  7. #7 pengkai Says:

    June 11th, 2010 at 01:02 pm

    我还是支持HTML5的发展,让普及速度来得更快一些吧。就像大分裂时代渴望大一统。

  8. #8 狂热 Says:

    June 14th, 2010 at 01:57 am

    看来HTML5的前途很被看好!

  9. #9 beely Says:

    June 18th, 2010 at 08:41 pm

    是个趋势。

  10. #10 hi Says:

    June 19th, 2010 at 12:12 am

    竟然也是用的godaddy的空间
    最近空间有没有抽筋哦?

  11. #11 第六街 Says:

    June 19th, 2010 at 06:51 pm

    HTML5的来临除了带来暂时的混乱应该没有别的了

  12. #12 Xqiang Says:

    June 20th, 2010 at 12:00 pm

    H5确还有待时间的验证,不过我还是看好它的发展

  13. #13 维C生活网 Says:

    June 25th, 2010 at 11:14 am

    赞同这句话,这是个最好的时代,这是个最差的时代。或许一直以来就是。

  14. #14 侬本多情 Says:

    June 30th, 2010 at 07:14 am

    唉 这个时代.

  15. #15 狂热软件站 Says:

    July 1st, 2010 at 05:17 pm

    现在是html5的是时代了!

  16. #16 中国人寿赵俊鹏 Says:

    July 2nd, 2010 at 02:34 pm

    W3C怎么是商业组织呢?

  17. #17 imwenwen Says:

    July 16th, 2010 at 07:03 pm

    你好站长,想与你的站做个首页连接。我的站是 http://www.wenbook.com 是小说类的站.

    我QQ:289681652

  18. #18 92手机网 Says:

    July 19th, 2010 at 06:22 pm

    好文章,学习了

  19. #19 拆墙部队 Says:

    July 21st, 2010 at 10:28 am

    不论怎么说,反正我是很期待 H5 大发展的,坚决拥护,我不喜欢 Flash(我的电脑就不支持 Flash 很多网站带 Flash 的都是一片空白)注:我不是果粉,我十分讨厌乔布斯。

  20. #20 amathy Says:

    July 26th, 2010 at 05:53 pm

    楼主,诉我直言,你这篇文章些的空洞无物。

  21. #21 amathy Says:

    July 26th, 2010 at 05:54 pm

    》》将同类的的东西放到同一个特定的“容器”中,在oop中来说,就是类的思想了。
    这就算类?

  22. #22 最有效的防脱发产品 Says:

    August 1st, 2010 at 06:07 pm

    不错,学习一下

  23. #23 柳亚 Says:

    August 9th, 2010 at 10:52 am

    这个模版比较朴素。。

  24. #24 uggclasssictallboots Says:

    August 9th, 2010 at 09:20 pm

    感觉现在HTML 没点逻辑还真写不出来

  25. #25 保险公社 Says:

    August 10th, 2010 at 04:59 pm

    HTML的标准 还真是越来越乱!

  26. #26 yy小说 Says:

    August 11th, 2010 at 09:42 pm

    博客不错 加油

  27. #27 linux99老张 Says:

    August 22nd, 2010 at 06:10 pm

    不错,学习了

  28. #28 李沐风 Says:

    August 23rd, 2010 at 11:31 pm

    人气

  29. #29 自由人 Says:

    August 23rd, 2010 at 11:47 pm

    离开商业一切都活不了~~ 就是这样。。。

添加新评论

评论