|
昨晚在家上網,看看微軟研究院TechFest 2010的消息,逛逛Channel 9,瞅瞅DevLabs里的項目,以及F#與Reactive Framework之類東西。然而,我一邊對那些有趣而奇妙的技術感嘆不已,同時卻又產生出一種忿忿之情。為什么?因為在國內的技術圈子里,經常有一種在我看來莫名奇妙的鄙視微軟技術的風氣。這樣的風氣在國內的推特圈里也非常明顯,基本上只有我一個人對微軟的技術抱有好感,并“勇于”和大量意見向左的人爭辯。忿忿之余,我便在推特上不斷表達我對這種風氣的抱怨及否定,在這個過程中也基本表達了我在這方面的大部分看法,在這里也進行一番總結總結吧。同時,我也想對微軟社區(qū)的許多弟兄講一些話。
現在有這么一個群體叫做“Microsoft Hater”,他們的表現出對微軟十足的敵視,在他們眼中,微軟的一切都是惡劣的,凡是微軟的就要抵制,微軟的任何產品任何技術都不值一提,因為微軟本身就是一家沒有技術的小公司,只是靠商業(yè)手段而成功的小公司。在他們眼里,但事實真是如此嗎?是的,我不否認微軟的成功有相當部分是商業(yè)上的運作,畢竟像Sun公司那樣孕育了無數優(yōu)秀技術的公司最后還是走上落沒之路。但是我在這里還是想告訴那些Microsoft Hater們,在許多方面微軟的技術絕對是值得欽佩的。
我有時候很不了解一些人的邏輯,他們經常說微軟技術差,沒有創(chuàng)新。但是,微軟那么多科學家搞出來的LINQ,Reactive Framework,Parallel Library,F#等等,哪個不是創(chuàng)新,哪個不是開發(fā)方式上的突破呢?是的,在一定程度上我同意微軟在商業(yè)方面常常是個后來者,它在產品上的創(chuàng)新似乎并不突出。但是,我相信所有人都能夠明白一個道理:產品和技術是兩碼事,技術優(yōu)秀并不是產品優(yōu)秀的充分條件。反之,一個創(chuàng)新產品背后的技術也可能已經被運用了無數多次。如果從技術角度來說,微軟的創(chuàng)新絕對不少。但問題就是,您關注了嗎?
在爭辯的過程中,我時常發(fā)現對方其實并不重視微軟技術——有時他們也會表示根本不在乎這些。誠然,不關注微軟技術,對于一個技術人員來說也是十分正常的事情。但是,如果在不關注、不了解的同時,卻還自信滿滿地堅持微軟沒有優(yōu)秀技術,這便讓我難以接受了。再者,由于多年不關注微軟的技術發(fā)展,有些弟兄也會拿某某領域在如今的發(fā)展與微軟在5年甚至更早前的情況進行比較,以此證明微軟技術有多么糟糕。但是,可能在另一場爭論中,他們又會認為微軟技術發(fā)展得太快——那么到底什么才是真實的情況呢?
事實上,我們可以發(fā)現,在各種技術大會上都能看到微軟的身影,微軟更是世界知名的科研“大戶”。在業(yè)界有許多著名的科學家,他們的貢獻非常令人矚目。但是在某些人眼里,他們一旦到了微軟,接下來的工作也就沒有價值了。幾年前在學校BBS與人吵架時,我還聽說過這樣的說法:那些人不能算是微軟的,他們都是微軟從別處挖來的,所以微軟還是沒有技術。但是他們卻沒有想過,他們所愛戴的谷歌公司,卻也特別喜歡從微軟挖人。甚至可以這么說,在谷歌里有幾個人不是挖來的呢?好吧,俗話說“愛她就要包容她的一切”,我相信Microsoft Hater們一定都是好男友、好丈夫。
不過也有人會這么說:微軟研究院和微軟的技術水平并沒有關系。微軟研究院只能看作是微軟對IT業(yè)所建立的“慈善機構”,或是微軟開辦的大學,與微軟“自身”的技術水平關系并不大。但事實上,微軟的技術大都是由研究院發(fā)起或指導的,譬如我之前提到的每個技術都是這樣,無一例外。微軟不是傻子,它為什么要出錢出力不求回報,它最強的地方不就是商業(yè)手段嗎?如果您關注一些微軟相關的資料,例如Channel 9或PDC大會,就會發(fā)現講解我們那些常用技術的,許多都是研究院的科學家。例如,F#的設計者之一Don Syme也是Haskell語言的主要設計者,站在.NET平臺GC背后的Patrick Dussud在加入微軟之前,也一直在LISP運行時等領域耕耘。微軟研究院的技術實力并不是空中樓閣,其中許多都是實實在在體現在微軟的技術中。
我承認,微軟的很多東西都有問題,因此我也從來不為Vista辯護。我也喜歡開源,支持開源,從來不會在任何場合支持微軟的封閉策略。總而言之,我從來沒有昧著良心去為微軟做廣告,寫軟文。我甚至也對國內微軟MVP有太多名不符實的情況提出過質疑。既然微軟有那么多不好的地方,但我為什么喜歡微軟技術?因為我是個純粹的技術人員,我了解微軟有著多么優(yōu)秀的技術,如果放棄這些我一定會心有不甘。同理,我也會去接觸微軟平臺之外的技術以及各種優(yōu)秀的東西。例如,在推上聽到很多人說Mac是多么多么好,即便某些地方略顯偏激,但的確也表達了他們的真實想法和相當部分的真實情況。于是,我為了更深一步理解他們的說法,也找個機會加入了水果黨。然后,即便用得不爽也努力地unlearn在Windows下的各種習慣,不以此認為是Mac的缺點。學習新東西,我可以理解這種情況。
我現在感到不爽的原因,實在是覺得微軟那么多好技術,卻沒個討論的地方,這算是什么狀況!在我看來,仇視微軟不是個正確的技術氛圍,推上那么多nb的技術高手,輿論氛圍為什么卻是一邊倒?我“發(fā)飆”也不是因為微軟被鄙視了,而是我認為太多技術人員鄙視微軟的手段實在不夠技術化。Linus也曾經說過:仇視微軟是一種病(I think the Microsoft hatred is a disease)。在我看來,很多時候我們的技術氛圍的確有些病態(tài)。
我還是想說那個經典到有些老掉牙的案例。在很多年前,業(yè)界普遍存在的觀念,便是“.NET平臺不適合實現動態(tài)語言”,這是因為之前ActiveState公司實現Python后發(fā)現性能太差。但是,Jython的創(chuàng)建者Jim Hugunin認為,既然JVM上實現Python語言的效果不差,為什么同樣在原理類似的CLR平臺上卻有不一樣的結論呢?于是他便開始關注.NET平臺,關注CLR,并且嘗試實現一個Python原型,希望找出.NET平臺不適合動態(tài)語言的原因。但是最后的結果令人驚訝,因為在標準的pystone評測中,Python在CLR上的性能表現甚至比C語言的Python實現有很大領先(這個故事的更多情況,請參考Rednaxelafx的文章)。
后來,Jim加入了微軟的CLR小組,為了得到更好的IronPython實現,也努力讓CLR成為一個更好的運行時。因為IronPython的突破,后來又有了IronRuby,最后又總結出動態(tài)語言實現的通用基礎類庫DLR。而在我看來Jim最了不起的地方在于,他努力使IronPython,IronRuby和DLR都保持完整的開源(使用通過OSI認證的MS-PL開源協(xié)議)。我們現在也可以發(fā)現,微軟后來的各種框架/類庫,包括ASP.NET MVC,F#等等都是MS-PL開源的,說不定其中也有受到Jim的影響在里面。
好,那么我們來做個假設。如果Jim當年和許多Microsoft Hater一樣對微軟抱有敵視態(tài)度——而且理由很充分:“已經有人“證實”了.NET是個垃圾平臺”——那么,世界上就不會有IronPython,IronRuby或是DLR。再假如,如果Jim在加入了微軟之后,沒有堅持自己的態(tài)度,讓IronPython等項目就此閉源,那么我們也無法如此輕易地學習到這些美妙的技術。Jim對于技術所保持的這種純粹,才是真正推動技術進步的手段。與此相比,靠耍嘴皮子來敵視微軟算個毛本事?
其實我也能夠部分理解某些人的看法。例如昨天有朋友這樣說到:
回顧下微軟的商戰(zhàn)史,對Linux的打壓,企圖收購WPS時的高傲姿態(tài)之后,就一點不會覺得微軟冤枉。微軟技術牛誰都清楚,但恐怕對這里的人對微軟進行口碑反營銷夠不成什么影響。這個過程理性是次要的,掀起一陣棄用微軟的潮流才是目的。
微軟的東西在有些層面上確實高效方便,甚至對很多企業(yè)和個人扮演救世主的角色。但當你要產業(yè)鏈中向上躋身的時候,早晚有一天微軟會變成一個惡魔,四處圍剿你的產品。因此作為任何一個有遠見的從業(yè)者,都是無法坦然的接受這種IT財閥的存在的。
而我的看法依然沒變:我沒有對微軟進行口碑營銷,我只是在談技術,我只是不想技術被其他東西淹沒了。我也沒有打算讓任何人喜歡微軟的商業(yè)文化,我只想談論技術——作為技術人員,為什么要讓商業(yè)來蓋過技術?借鑒技術,交流技術才能發(fā)展技術。此外,技術也是相通的,我相信微軟今天倒了,下個星期我就能去開發(fā)Java,開發(fā)Rails,開發(fā)Django。我有自信可以比無數不了解HTTP協(xié)議,不知道Web開發(fā)規(guī)律的人要厲害。同樣,我相信讓某些牛人來搞.NET,不出一個月肯定能比8成博客園的弟兄要強大許多。
為什么谷歌當年要從微軟大量挖人?是因為谷歌在使用微軟的技術,還是微軟在使用谷歌的技術?那些熟悉微軟技術的牛人們,難道不也是立即轉向某些人眼中“截然不同”的領域嗎?我認為其中的道理已經再清楚不過了。
我寫了這么多,其實也并非只在對Microsoft Hater們表態(tài)。事實上,我在推特上遇到的技術達人們并非我之前描述的那么夸張。他們雖然不喜歡微軟,但是大都還是理性的,和他們的辯論過程中我也了解到很多其他技術的優(yōu)秀之處,對我?guī)椭艽蟆=酉聛恚揖拖胝勔幌挛覍ξ④浖夹g社區(qū)的一些不滿之處了。
博客園是國內微軟技術的標桿,這點毋庸置疑,但從中我們可以觀察到另外一些傾向。一是盲目自卑,二是盲目自信。兩者其實是統(tǒng)一的:前者在于認為不了解微軟技術,認為微軟技術不過爾爾,沒有競爭力,而后者卻認為微軟實力天下無敵。這些也都是閉塞的表現。我認為,作為一個優(yōu)秀的技術人員,一定要放開視野,吸收各種技術的優(yōu)秀之處,取長補短,這樣才能有所發(fā)展。喜歡一門技術不要緊,對一門技術有傾向性也不要緊,這才構成了多元化的世界。甚至,我認為這也是技術發(fā)展的要素之一,因為只有喜歡一門技術才想要真正去發(fā)展這門技術。從某個角度來說,盲目敵視外部世界往往也不是真粉絲們的表現,因為這樣的人是很難對技術發(fā)展做出貢獻的。
閉塞還導致了另一種現象:某些朋友先是對微軟技術抱有盲目樂觀的態(tài)度,但是忽然有一天,在發(fā)現微軟技術也有其局限性(這難道不是必然的嗎?)之后大失所望,于是轉向另一個平臺再開始鄙視微軟技術。這就好比一個極端的理想主義者,在思想收到沖擊之后變成一個極端的虛無主義者。無論走哪種極端都是不對的,而且,如果從一開始就保持良好的視野和心態(tài),便可以各取所長,同時享受多個平臺的技術優(yōu)勢。
至少在目前看來,至少在國內,我認為微軟平臺的技術人員還是太閉塞了,比微軟外的技術人員要封閉許多。舉個實例,我的真實體會,為什么作為一個微軟平臺的技術人員,在推特上我總是很少見到博客園的各位呢?
弟兄們趕快打開視野吧,就從上推特開始吧,我在那里等著你們。
NET技術:談談微軟技術,以及對待技術應有的態(tài)度,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。