日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

why xml sucks

發布時間:2024/6/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 why xml sucks 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2000年以來,這是一個xml大行其道的年代。xml無所不能,我們如同崇拜x戰警的強悍戰斗力一般崇拜這個x開頭的萬能者。我們用它來傳輸數據(soap),定義數據(xsd),存儲數據(xml數據庫),配置文件(web.config或者web.xml),做網頁(xhtml)......換一句二戰的名言:如果xml能夠做飯我就娶她做老婆。
但是神話就是用來打破的。現在是到了打破這個頂在x字頭頂上的光圈了。
why xml sucks?
當然沒有一個全無能的廢人正如沒有一個全能超人一樣,xml并不是在所有的時候都sucks,我的確將題目夸大了。但是我的目的還是很明確的,我們將xml神話了,然后濫用了,之后xml就在很多自己并不擅長的地方sucks了。

fisrt sucks:存儲數據
xml天然的不適合存儲數據。第一是冗余數據太多,xml文件本身就夠浪費的了,然而一個xml樹在內存中會擴大將近10倍的體積,也就是說1M的xml文件在內存中會占據大約10M的空間。所以用xml來存儲數據非常的suck,除非是非常小的存儲量的情況。

second sucks:傳輸數據(比如ajax)
在Web上遠程獲取數據使用xml這個龐然大物簡直是太浪費了,所以很快用ajax遠程調用WS的方式很快就從xml的序列化改成了json這種輕量級的方式。群眾的眼睛是雪亮的。

third sucks:配置文件
如果用過hibernate,或者spring,或者任何java的傳統的類庫,大概會嚴重同意xml的配置文件極大的傷害了我們的視力。確實xml的配置包含了太多的無用內容,不容易閱讀(起碼我就覺得還不如ini來得容易看)。而且就用途來說,類似hibernate或者spring的配置來說,與其說配置倒不如說是一種外置的DSL,特別是spring。也可能是java或者c#的死板和強硬造就了xml,所以yaml這類看著易懂,寫起來哈皮的配置方式一直很難看到,還是IronPython的同學比較有福氣。
老實說其實我很贊同程序也就是配置的思想(修改web.config會導致重新編譯WebSite,那么我們修改了.cs文件導致重新編譯有什么區別呢?特指WebSite的情況)。

歸根結底,計算機語言 寫的是人,看的是機器,而xml所標榜的語義在很多時候就毫無意義,為了人看著能明白,結果是犧牲了機器處理的效率,結果最后我們發現,其實如果沒有很好的工具的話純粹書寫也絕對是一種酷刑。

so that's why xml sucks

say no to xml:當然暫時還做不到,除非.net支持yaml。
.net和java這對難兄難弟中xml的流毒很深,所以如果要對xml say no,還是投奔動態語言的懷抱吧。


【引用】
yaml:
?和GNU一樣,YAML是一個遞歸著說“不”的名字。不同的是,GNU對UNIX說不,YAML說不的對象是XML。
YAML不是XML。
介紹yaml的page:http://www.ibm.com/developerworks/cn/xml/x-cn-yamlintro/

?

轉載于:https://www.cnblogs.com/Alexander-Lee/archive/2008/08/26/1277124.html

總結

以上是生活随笔為你收集整理的why xml sucks的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。