天天看點

中間商隻會賺差價?論接口的重要性

前幾天在思考代碼中接口(Interface)的重要性,恰好翻到了Hacker News上一篇關于讨論接口的文章,看到其中一個程式員的評論頓覺非常有趣,現翻譯一下:

當我開始思考接口時,我會告訴自己回憶一下我手頭上的DVD是如何工作的。

作為世界工廠,DVD可能是中國的某一家工廠生産出來的,這家工廠裡的勞工與我素不相識,但是我依然可以把手上的光碟不大不小完美的放到DVD中播放,而且這些光碟可能是美國的工廠生産出來的,這些美國工廠中的勞工不認識我,也不是認識中國工廠的勞工。

讀取DVD的程式當然可能是另外一個國家的一幫程式員編寫的,這些程式員不認識以上提到過的的任何一個人,但這并不妨礙DVD正常工作,甚至即使光碟上有小小的刮痕也不要緊。

DVD中錄制的電影也許是好萊塢制作的,這些制作人不認識中國工廠的勞工、美國工廠的勞工還有程式員,但DVD依然可以完美還原拍攝電影時的音頻和視訊。

DVD的生産鍊如此複雜,但DVD依然可以正常工作,而且一片光碟不超過50美分,一個DVD也就不到30美元。

這就是接口的力量。

當然,這也是資本主義的力量。

翻譯完畢,個人覺得這個比喻很好的解釋了為什麼接口在軟體工程中如此重要。

沒有人否認現代社會分工協作的重要性,正是因為社會有了分工,才使得人可以專注于自己的領域,精益求精不斷創新,最終整個社會都從中受益,表現出來的就是社會生産力的提高,這裡的分工,在軟體工程中也就是解耦,各個子產品各司其職。

另外一個我能想到的例子就是超市,超市就是一個大型的解耦機構,也可以認為超市就是一種接口,生産糧食水果的農民、制作零食、生産衣服以及各種消費品的工廠、公司與去逛超市的消費者互不相識,生産衣服的工廠不關心張三買還是李四買,張三和李四也不關心衣服是A工廠生産的還是B工廠生産的,農民、工廠隻需要把生産的糧食、衣服等交給超市,剩下的就不關心了,而消費者需要做的就是開開心心的去逛超市而不是一家一家的去逛糧食生産基地、工廠工廠中的房間。

其實超市的作用也就是類似中間商,本質上中間商做的事情就是解耦,解耦誰呢?解耦生産者和消費者。現在大家被廣告轟炸的就認為中間商隻會賺差價,難道中間商就隻會兩頭賺錢全無益出嗎?當然不是的,你能想象農民伯伯自己辛辛苦苦生産出糧食水果後還要自己負責把這些都銷售出去嗎?你能想象到當你想吃蘋果的時候還要專門去找某個水果生産商嗎?從經濟學角度上講中間商有着重要的作用。号稱沒有中間商的網際網路,當阿裡巴巴讓消費者直面店家的時候,其實阿裡巴巴自己就成了中間商,否則阿裡巴巴每年賺的那些錢是從哪裡來的呢?

更多計算機内功文章,歡迎關注微信公共賬号:碼農的荒島求生。

中間商隻會賺差價?論接口的重要性

徹底了解作業系統系列文章

1,什麼程式?

2,程序?程式?傻傻分不清

3,程式員應如何了解記憶體:上篇

4,程式員應如何了解記憶體:下篇

計算機内功決定程式員職業生涯高度