作者ntddt (哀便毛)
看板Soft_Job
標題Re: [情報] 十條不錯的編程觀點
時間Thu Apr 19 01:35:13 2012
個人淺見...
我覺得XML最有趣的地方是提供一種
* 很具彈性的資料表達方式
* 讓機器間可以溝通
* 同時, 人也稍微看得懂(跟protobuf之類的比)
前文很多大大有講過, 像巢狀, 樹狀, 一維, 二維, 圖形都可表達
巢狀/樹狀:
<a>
<b>
<c>
</c>
</b>
<a/>
一維:
<a><a/>
<b><b/>
<c><c/>
二維:
<a>
<b><b/>
<c><c/>
<a/>
<a2>
<b2><b2/>
<c2><c2/>
<a2>
圖形(Directed Graph):
<a><a/>
<link> <from>a</from> <to>b</to> </link>
<b><b/>
當然, 如果你跟Json, csv, 線性純文字或是N-byte length的binary
比parsing速度一定沒得比
因為parser早已把資料結構預先考量在實作中.
所以, 你XML parser如果先預設XML只是二維資料的話我想實作出來也不會差太多
對我來說, 資料結構的表達方式與Parser實作是兩個層面的事.
所以如果資料結構要有彈性, 有可能本來二維變成樹狀, 過不久又變圖形
(後者可包前者啦) XML會是比較適合的表達方式
常table概念建data model的人應該可以體驗很深
如果資料結構很死一定是一維或二維, 那就選相關實作已成熟的stack(表達+實作)
e.g. csv, table等
以上.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.240.156.51
→ ykjiang:你說的這些 YAML 甚至 JSON 都可以做得更好 04/19 03:05
→ ykjiang:如果 JSON 不夠用,建議去看一下 YAML 04/19 03:06
→ Tiberius:最近我都把「巢狀」翻成「套疊」 ... XD 04/19 11:35
→ damody:DSL也很OK呀 XD 04/19 12:31
→ TonyQ:所謂 「更好」 真的是見仁見智啦 XD 04/19 12:34
→ TonyQ:YAML/JSON/XML 我都寫過,JSON 我寫 web 都用這個。:P 04/19 12:39
→ TonyQ:但是我不會說誰比誰好,只會說什麼狀況下適合用什麼。 04/19 12:40
推 HitMouthGun:推"什麼狀況適合用什麼" 04/19 12:44
→ HitMouthGun:XML很強大 用得好就像是方便具彈性又好攜帶的瑞士刀 04/19 12:46
→ HitMouthGun:要把它當開山刀用 勢必會付出一些代價... 04/19 12:47
→ ykjiang:我講得好是指一切打掉重來的話,哪種較簡單 04/30 01:46
→ ykjiang:XML現在會流行,是因為出生早,很多環境下用起來較現成 04/30 01:46