作者DEATHX (幽光)
看板C_and_CPP
標題Re: [問題] 關於Visual C++的看法
時間Thu Jan 13 10:50:10 2011
剛好看到版上在談論微軟的.NET策略.我就想起好幾篇相關文章,
其實約耳對這個策略著墨滿多的,在他的"約耳趣談軟體"跟"約耳續談軟體"裡,
花了好多篇幅來闡述它個人的看法,由於時間有限,我這邊僅打上他2000年中一篇文章,
在約耳趣談軟體329頁:
--------------------文章開始--------------------
寫在最前面
早期微軟曾販售程式開發工具給程式設計人員. 我還記得一個叫做Microsoft C(可能
是3.0版吧)的大廣告,包含四頁印得密密麻麻的白皮書,鉅細靡遺第說明了該編輯器所用的
最佳化新技術.
在我未密切注意的某段時期,微軟開發產品的行銷人員發現,掌握大筆預算的是行政經
理而非程式設計人員. 而這些大經理大概很喜歡聽到"藉由你的.NET應用生命週期,管理效
能與擴展性,進而降低風險及整體持有成本"之類的空話(沒錯,這句話引自Visual Studio
首頁. 2000年7月我第一次聽到,當時微軟正大張旗鼓地公佈.NET,還伴隨著大量的公關訪
談,不過.NET大約三年後才真正上市,所以這顯然是對Java的FUD手段.)
微軟最新宣告的產品Microsoft.NET被財星雜誌譽為巨大的"變革",實際上只是個泡沫
軟體,而我認為這證明了Redmond有些事錯得離譜.
利用泡沫軟體,可以承諾各式各樣根本不能賣的功能和產品,不能賣的原因是這些東西
全部都不存在. 不過.NET比泡沫更糟. 以微軟那種漠不關心的高傲態度來看,他們根本連
泡沫都懶得提供.
仔細閱讀這份白皮書就會發現,在整場鬧劇中,.NET只是一團FUD迷霧. 裡面沒有內容.
你可以盡量挖掘,但整份白皮書什麼都沒說. 於是你抓得越用力,從指縫中漏掉的東西也就
越多. 我並不是說.NET裡面沒有新東西,我是說裡面什麼都沒有.
看看這些敘述:
"所有人都相信Web會演進,不過,要真正落實到開發人員和企業以及消費者,還要需要一個
基礎的新願景. 微軟的目標就是提供這個願景以及實現願景的科技"
在看看這一句:
"微軟.NET願景意味把權力落實到消費者,企業,軟體開發人員,以及整個業界. 它釋放
Internet的所有潛能. 他是照你想的方式運轉的Web"
這就竟是怎麼回事?整份白皮書理找不到一個能在軟體產品裡實際執行的想法. 微軟
並不是提供功能列表,而是列出一連串"如下"的無形好處:
"網站成為可互動,可交易並能運用彼此資料的靈活服務"
這就是這個振奮.NET架構的"功能"之一,實在是太過空泛而且高高在上,根本不能表示
任何東西. 不過,這個事實似乎沒有對任何人構成困擾.在來看看這一句:
"微軟.NET提供了尋找服務和人並與其互動的可能性"
哦!這實在太可笑了!Altavista出來已經五年,而Larry Page和Sergei Brin發明一個
超先進的搜尋引擎(Google)已經兩年了,但微軟卻還在假裝沒有方法搜尋Internet,要替我
們解決這個問題. 但整份文件都是這種空泛的說詞.
我們可以看出兩件事. 微軟有很偉大的思想家. 當偉大的思想家考慮問題時會看出一
些模式. 他們看到人們要傳送文書處理檔案,又看到人們要傳送試算表,然後就會發現裡面
有一個通用的模式 : 傳送檔案. 這已經是一層的抽象. 他們還會再上一層 : 人們傳送檔
案,而且,網頁瀏覽器也會"傳送"網頁要求. 這些全部都是傳送的動作,因此,聰明的思想家
就發明了一種更新,更廣義的新抽象概念 : "訊息傳送(Messaging)",不過現在這件事變得
越來越神秘,再也沒人聽得懂他們在說什麼.
而當你一直往上把事情弄得太抽象,就會向上太空一樣沒有氧氣. 有時候這些聰明的
思想家就是停不下來,一直創造出荒唐又無所不包的高層次宇宙景象,這些東西什麼都好,
就是沒有實際的意義. 而這就是在此所發生的事.
"下一世代的Windows桌面平台Windows.NET,支援生產力,創造力,管理,娛樂以及更多更多
,它的設計是要讓使用者掌控他們數位生活."
哇!這種說詞實在太抽象了,根本無從批評. 誰會不要一個支持生產力的作業系統呢?
真是太偉大的功能!請給我一套這種有生產力功能的新神奇作業系統吧!問題是微軟要怎麼
達成呢?軟體界20年來的生產力改善都是累積漸進的. 難道他們發現一種能讓他們的作業
系統更具生產力的新化合物嗎?我不認為他們有這種東西. 我認為他們在吹牛,盡是FUD以
及泡沫軟體.
讓人害怕的是,他們是認真的
我在微軟工作了三年,非常聊解這家公司. 我聊解寫這份文件的那種人. 幾乎可以確
定,比爾蓋茲在這裡頭佔了很重要的角色;這也是它放棄CEO位置的原因,才能參與這件事.
我不認為寫這份文件只是為了擁有一些泡沫軟體. 他們可都是極聰明的人.
我認為他們是真心地以為自己在創造未來,而且也自以為知道知道該怎麼做到. 他們
審視Hotmail到SQL Server每項微軟的產品,嘗試把這些產品套入一個奔放的新願景中.
不過,裡面是沒有人真的發明什麼驚天動地的東西. 這並沒什麼好驚訝的,不是因為微軟笨
,他們並不笨,只是驚天動地的新發明太罕見了,而微軟的聰明人數有限罷了. 全世界只有
一個人發明Napster, 而他並不在微軟工作. 微軟自暴自棄地想相信自己是量產革新,即使
是在這個Internet的寒武紀大爆發時期,每年還是會出現幾個真正革命性的想法,而這些萬
中選一的點子,能出現在比爾蓋茲小世界和Redmond武士團的機會實在是太小了. 何況一個
相當聰明的程式設計人員可能正在微軟裡寫Windows NT的顯示驅動程式,使有很偉大的點
子也沒有人會聽到. 考慮到這種狀況之後,微軟想出絕世好點子的機會就更少了.
這份白皮書裡唯一能看清的具體內容,就是軟體應該是一種經由Internet取得的訂閱
服務,而不是由光碟安裝的某種東西.
對一個客戶來說,本來由光碟安裝的文書處理器改由Internet取得,可能只有少許的益
處,不,可能根本沒有任何好處. 這樣做並沒有實際解決客戶任何問題. 可以透過Internet
修正問題?真是偉大. 不過我已經可以做到了,七年前起,我就已經在網路上下載微軟產品
的修正檔了,而且現在都是自動進行的. 取得新版本?如果新版本的唯一功能,就是更容易
取得新版本,這有什麼意義呢?最新三版的Word幾乎沒有增加任何一個新功能,若要說有的
話,就是做了些奇怪的事 : 讓圖片定位較為"容易",但我還是沒有辦法把圖片一到想要的
位置啊!
事實是從1991年開始,微軟就注意到升級讓他們的收益成長. 由於很難強逼大家升級,
因此,他們努力了很多年,試圖讓客戶同意以訂閱方式購買軟體. 不過這是行不通的,因為
客戶並不想要這種模式. 微軟認為訂閱模式符合他們的利益,並且把.NET視為實現此模式
的最終手段.
不過,微軟.NET似乎無法滿足任何客戶的需求,只是滿足微軟替一萬名程式設計人員
安排未來十年的工作需要罷了. 我們都知道,他們想出一個大家都要的文書處理器已經是
很久之前的事了,沒有好點子的話,這些程式設計人員要做什麼呢?
後記
這篇文章發表之後,微軟幾乎把所有產品的新版名字後面都加了「.NET」. 這種情況持
續了一陣子,直到事情混亂到無法承受後才停止. 花了極大的成本並克服各種困難後,
「.NET Server」才被改名為「Windows Server 2003」,而.NET標籤只限於使用managed
code的新程式開發環境. 不過這結果卻意外的好. C#和.NET通用語言架構的組合真的是個
很棒的程式開發環境. 他甚至降低了風險和整體持有成本!簡直就是威而剛! :)
--------------------文章結束--------------------
這一篇有點離題,但是某方面還是闡述了微軟一開始的.NET策略,不過最後作者也同意,微
軟把.NET跟Visual Studio結合有點歪打正著,Visual Studio.NET獲得了廣大好評.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.161.186.184
推 HudsonE:.NET 剛開始真的是不知所云啊... XDD 01/13 10:55
推 horngsh:文中我有些認同, 有些不認同, .Net Framework是一極好用的 01/13 18:16
→ horngsh:Class Library是事實, 你用括網頁用純C寫(不用第3方函式庫 01/13 18:17
→ horngsh:喔, 你會寫到死喔.同樣的,這也是為什麼ruby on rails會大 01/13 18:18
→ horngsh:行其道, .Net Framework是一個很好用的東西啊 01/13 18:19
推 HudsonE:這篇文章在寫的時候應該是還沒有 .NET framework 01/13 18:26