「解放」用在微軟的身上,對許多人而言根本就是天方夜譚。甚至有不少人認為系統封閉、專屬格式等控制軟體生態圈的作法,是微軟鞏固帝國壯大的主要原因。

然而,開放是文明發展不可逆的趨勢,就連集權國家也難以抵擋排山倒海而來的開放浪潮。縱使當今依然存在「登得上月球,出不了網路長城。」的荒謬局面,但網路已經打破國界的定義,這股力量任誰都擋不住。

國家如此,商業亦然。在資訊科技的世界,再大的公司都抵擋不住雲端掀起的開放浪潮。因為雲端不是一個產品,而是許多服務組合而成的一個環境,這種分散架構的特性,徹底打破了廠商原本界定好的生態圈與市場規則。

Linux帶動的開放原始碼運動,曾經逼得微軟不得不擁抱開源,但都不曾像雲端這樣帶來全面開放的壓力。在雲端的世界,沒有任何一家廠商能夠隻手控制整個雲的生態圈。要飛向雲端,一開始就必須展開雙臂。微軟也沒辦法例外。

在軟體開發方面,微軟一方面軟體開發團隊調整開發方法,採取能夠快速回應雲端服務的敏捷式開發方式,另一方面則支援更多的開放原始碼開發工具及Linux相關的開源作業環境,例如陸續對於JQuery、Node.js、Git等新興網站開源技術的支援。

緊接著,Visual Studio開發工具也開始調整定位。如本期我們採訪微軟總部測試部門總經理ShankuNiyogi所談到的,Visual Studio正朝開發服務(Development as a Service,DaaS)的方向發展,未來的定位不再只是一個開發工具,而是提供開發服務。

開發服務,實在是一組看得懂卻什麼也沒看懂的四個大字。且讓我們先來看Visual Studio邁向開發服務的第一步──Visual Studio Online。

簡單來說,這就是在雲端實現Visual Studio與Team Foundation Server的整套服務。亦即程式開發、程式碼除錯、功能測試及程式部署,整個軟體開發流程與專案管理,都可在雲端平臺進行。

開發環境與流程管理由內部伺服器搬上雲端,開發者的電腦不必安裝開發工具,團隊成員只要能夠上網,隨時隨地都可以寫程式、除錯、測試、管理專案進度等等。此一型式上的改變,確實會帶給開發團隊滿大的幫助。但是,我們心中不免有所疑惑:難道微軟所謂的開發工具轉型為開發服務,就只是把開發環境搬上雲端而已嗎?

這幾天Visual Studio產品開發團隊公布的Roslyn研發結果,在某個程度上解答了上述的疑問。微軟在2011年對外揭露Roslyn研發專案,目的是要打造編譯器服務(Compiler as a Service)。沒錯,這年頭似乎所有東西加上服務兩字都行得通,那麼把編譯器加上服務,豈非把編譯器放到雲端上來執行嗎?

其實,微軟在Roslyn專案有更大的企圖心,這次是要徹底解構編譯器,把編譯器這個黑盒子打開,讓大家可以控制編譯器,而不是為編譯器所控制。簡單來說,就是解放編譯器。

編譯器一直是個神奇的黑盒子,你把程式碼交給它,這個神奇盒子就會產出電腦可以執行的程式;至於神秘的配方,一直掌握在魔術師──編譯器開發者的手上。所以,程式設計師想要提升程式的效率,就只能利用程式碼分析工具來調整程式碼。然而,此一方法最終就會碰到編譯器這個天花板,而編譯器這個黑盒子被魔術師所把持著。

有別於控制神秘黑盒子的作法,微軟的Roslyn專案則是打開黑盒子,把編譯器的功能重構,依其功能拆解成大大小小的API,讓開發者可以控制編譯器。例如,平行運算專家可以開發優化編譯器的工具,開發者就可以獲得效能更好的平行運算程式。

如果Roslyn的效能禁得起考驗,那麼它將有可能從編譯器這樣的底層,整個顛覆傳統的作法。例如你可以在程式執行的同時,透過API修改變數,編譯器接著即時產出程式,新的修改立刻就能執行。這將使得C#、VB這樣的程式語言,越來越接近網站動態程式的特性。

製造工具機的改變,帶動了生產方式的改變,進而讓iPhone這樣的產品得以問市。如Roslyn這般編譯器的重構,或許有可能在未來掀起軟體改造的威力。

吳其勳/iThome電腦報周刊總編輯

專欄作者

熱門新聞

Advertisement