• slider image
:::

肛門期的天才 - IT工作站 | 2006-05-20 | 人氣:3439

OS? Stupid!It's software (笨蛋!重點是軟體)

談到 Microsoft Windows vs. Linux 兩大作業系統的對決時
因為 Linux 標榜 It's free,大眾會對它抱有一定程度的好感
但又在某些顧忌之下,不一定真的化為行動縮短距離
不過 How to migrate to Linux? 確定是個火熱的話題。

在大一時上的「計算機概論」已經闡明:
人們會選擇(購買)某一作業系統是因為可以在上面執行有用的應用程式
因此我們可以說:「最有用的作業系統就是擁有最有用應用程式的作業系統」
M$ Windows 是目前市占率最高的作業系統
要無痛轉移至 Linux,那 Linux 上就必須有與 Windows 平台功能相對應的軟體
雖然蓬勃發展的 Open Source 已經具備不少功能卓越的軟體
不過個人覺得就少那麼一點點-->那就是重量級的套裝軟體
所以 Linux 可以是先進的作業系統、效能卓越的伺服器
但只要沒有與M$上相抗衡的套裝軟體
Linux成為 桌面環境 的目標將遙不可及
這不是 Windows or Linux 那麼簡單,缺的是 Adobe、 Macromedia、Office......。



現實觀點 看 作業系統
引言:

2006/04/14 中央社
經濟部次長施顏祥今天表示,基於尊重市場運作,無法強制政府採購自由軟體 Linux系統
只能透過輔導計畫鼓勵使用,預計在2007年達成政府公文交換系統50%使用Linux、
政府單位網路伺服器端、個人端使用自由軟體作業平台的比率分別達到35%、10%以上的目標。


引言:

2006/05/10 CPRO 資傳網
國際標準組織 ( ISO )與 國際電工委員會 ( IEC )兩大標準組織的技術聯席委員會(JTC)
以全票無異議通過OASIS OpenDocument Format( ODF )的檔案格式為正式的國際標準(ISO/IEC 26300)
這是自SGML(發明於1974年)在1986年被納入ISO標準以來,電腦文件交換格式最重要的標準化發展
值得各界重視,政府部門也應儘速將ODF納入政府部門文件及電腦軟體採購的必備標準。


上述內容是日前的報導,看似充滿希望...不過我的態度比較保留
自大三接觸 Open Source 以來,Linux 或 其他開放原始碼的計畫的確贏得不少目光
從每年增加的相關電腦叢書就能一窺究竟
但我認為:Open Source 面臨的問題不在於著墨太多,而在於施力太少

舉個例子好了:XOOPS 是開放原始碼在2006年的一個得獎專案
不止「叫好」重要的是「叫座」
探究其成功的原因不應只歸功於卓越的設計~戰術成功
而是伺服端的技術本來就比較不會有接受上的問題~戰略成功
使用者就是透過 Brower,背後是什麼在推?他才不 care 勒
我認為成功的理由後者甚至可以凌駕前者。

如果說 在伺服端 Open Source 表現得很好,倒過來說 無法進一步攻城掠地的原因也在於此
不管是 APM(Apache+PHP+MySQL)還是 ASP.NET,再怎麼受歡迎的伺服端的技術
對市場、使用者佔有率永遠不會有決定性的影響
我相信這也是 Opem Source 在桌面環境喊了好幾年,雖然年年都有進步卻還影響有限的原因。

於是又回到最最基本的問題:人們會選擇一個作業系統是因為應用軟體,尤其是重量級的套裝軟體
所以儘管你是最有理想的、視錢財如糞土的 自由軟體者
諷刺的是:要實現你讓 Open Source 世界大同的理想得靠那些商業公司的力量。

( 稍做解釋一下:這理想並非打倒M$佔有大餅,而是解放...讓大家自由選擇
出發點很好...當然也有很好用的自由軟體
不過不諳使用者需求的自由軟體可能功能強大但不便於使用
我來形容一種不樂見的情形「選擇地獄」
自由軟體給你自由選擇的權利,聽起來好美
結果到處都要選擇、選擇、選擇
當你不想再對每一項做選擇、做設定的時候
你會只要單純的解決方案並萌生使用傻瓜軟體的念頭
這有點像: 不想一樣一樣單點,直接吃套餐 或
不開手排車,改開自排或手自排
因為除非是賽車,否則自排比較方便而且表現也大多優於手排。)


那我勒?談談我的選擇

剛接觸 Linux 的時候從什麼都不懂,透過每天一點一點的進步
我一度相信:有一天可以完全捨棄 Windows,取得 資訊自主 又克服 數位落差
後來我向現實低頭了...因為我要做論文。

小弟不是資工方面的學生,對一個普通的理工科學生來說
當論文必須寫程式來印證一些事情的時候,一定會選擇 易用的開發工具
我可以花大把的閒暇時間自己編譯媒體播放程式看電影
因為當 MPlayer 編不出來的時候,我不會有什麼損失,大不了改用 Windows Media Player
可是論文程式怎能用這種玩法?!?我實在沒勇氣把學業賭在上面。

Windows 平台上面有相當友善的開發工具,而且 文件一應俱全
Borland C++ Builder、JBuilder、Visual Studio、Dephi...
甚至作數學運算、統計分析的時候還有 Matlab、Mathmatica、SPSS 這種簡單的計算工具
現成的元件也不少,不必連造輪子都事事躬親
如、在矩陣運算方面就有 Jama、MatrixVB ...等元件

差別就是「成本」(Old--我的),當我在 Windows 做上述工作
我可以「比較」確定「我所要解決的問題都是我專注的問題(論文)」
而不是 中文字型顯示問題、UI、或 連哪兒出問題我都不知道的問題...。

現在上班了也一樣,當工作使用的專業軟體都在 Windows 上執行
要改善的話當然也是在 Windows 上面進行,即使它是可以切割的
我可不願:到 Linux 上 Run 一下自己的程式,再把資料帶回 Windows 上繼續處理 的傻事
因為我不是程式設計師,要做的不是重新開始,而是改善現況
只要寫支程式讓自己偷點懶就好
因此冷落了愛玩的 Linux? 沒辦法~這是不可避免的痛。

人上了年紀以後(講 大一點 好了),第一個摒棄的就是意識型態 ( 第二個就是性能力 )
引言:

歷史唯物主義這麼說:人們在物質生活的生產中所形成的社會關係,是一切社會組織的基礎
這個基礎決定其它一切社會活動:道德,法律,宗教等等
這些所謂社會上層建築的活動,總是以某種方式附屬於那基礎。
[引用自 Pupil,2006]


從這觀點來看,選擇開放原始碼 是做為上層建築的部分,是個人的信仰問題
雖然 Windows 占住我在物質生活中生產關係的一部分
不過如果我是個夠激進的開放原始碼支持者,還是可以為了拒用 Windows 中斷工作
直到我設計出或是在 Linux 上出現 可以達到相同目的的軟體 為止
問題在於這和我工作領薪水的生產關係相矛盾 ( 開什麼玩笑!為了OS不上班 )
基礎決定結構,立場只好鬆動...何必跟$過不去呢
何況 Linus Torvalds 也說過:Just for fun~玩玩而已,何必太認真
所以,業餘的時候,我可以是個Linuxer ; 現實的時候,我站在Windows那一邊
種種跡象顯示:這個選擇也可能是更多關鍵人物~程式開發者 的選擇。


開發者!開發者!開發者!

問題演變成:如果你想賣OS,最重要的就是讓軟體開發者願意為你的作業系統寫軟體
當使用者選擇作業系統,應用程式可以幫助他們做選擇。

那為什麼M$上的應用軟體會遠比Linux上的來得多?
先撇開關於 GPL 上那些所謂在 Linux 上開發軟體到底能不能賺錢的問題
我指的是:在 Linux 上開發軟體的難度比在M$來得高這個事實
而且 Linux 上不能執行 Windows 的程式
就算可以透過某種模擬器勉強執行,那感覺像是穿著襪子洗腳...就是怪怪的
(曾以 Wine在 Linux 玩StarCraft、CS、War3)
而且並非所有程式或程式的所有功能都可以透過模擬器執行
因為程式呼叫了屬於作業系統的外部函數( Win API)。

引言:

什麼是 API?
如果你正在寫一支程式,某些動作得呼叫作業系統替你完成(如、顯示選單)
這時會用到一組每個作業系統都不相同的函數。這些函數就叫做API,
也就是作業系統(如Windows)提供給應用程式開發者的介面。
它是一組數量上千,複雜而講究的函數和副程式,
可以讓程式師指示作業系統做些有趣的事、奇怪的事以及非常複雜的事。
如果你的程式使用了Windows的API,就不能在提供不同API呼叫的Linux上執行
除非你重新實作所有API,這包括數千個複雜的函數
規模幾乎和實作一個作業系統本身一樣大。
所以,只要用了API,不管什麼語言...都沒什麼「可攜性」可言。

如、國防部軍備局曾在Windows版的 OpenOffice.org1.1.1 上發展「公文製作套件」
就因為 Call 了不少 Win API 而造成移植到 Linux 上困難重重的後果
( 即使 OpenOffice.org 是 Open Source )
不過新一代跨平台的「公文通」於 20060315 由 Firefly 等人發佈 ( 需要 Java )
完全依據研考會 94 年 1 月 28 日公佈之「政府文書格式參考規範」設計。



於是,在開發者決定了開發工具和作業系統後,要轉換跑道就很困難了。
(Java除外,它標榜 write once and run anywhere,不過沒那麼神就是)


難道無法改變?

新聞報導 李雙全的父親 李聚寶在這幾天看的「孫子兵法」裡頭有句話:
「先為不可勝,以待敵之可勝。不可勝在己,可勝在敵。」
話是有道理,不過連這種事也加以報導,看得出記者頗無聊。

雖然 M$ 繼續佔有優勢,不過策略上出現了偏差
它想藉由推出 .NET、Longhorn、Avalon 之類的新玩意,試圖建立一組新API 把大家鎖住
更嚴重的是 Visual Basic.NET 不再向後與 VB 6.0 相容
這是不尊重使用者以該產品先前版本所做成果的不當行為。

儘管現有 Windows 程式設計架構並非完美
你可能會遇到 VB Runtime、ocx、DLL...等部署方面的問題
引言:

如、透過 Oleaut32.dll 所實做的系統時間,在Win95(還分有裝VB5、VB6的)、Win98上
以00~99表示系統時間會得到2000~2029及1930~1999兩種不統結果


又儘管 .NET 確實有許多重大優點,如、自動化的記憶體管理
但是浪費時間把程式移植到另一個開發環境上,不會在使用上帶來任何好處
純屬追逐時髦的空轉行為,還不如去Debug或增加新功能
何況新的技術又快又多,我們可以都摸一下...但不宜投入太深。

放棄現有的 API、喪失向下支援的能力 將大大削減 Windows 的優勢
對使用者而言:是原有程式無法在新作業系統( Longhorn )上運行
對程式設計師是:M$老愛推出新技術,與其不斷追逐,不如換個開發方式
於是 Web based 式的軟體服務符合需求,伺服端技術大行其道
一來可以解決單機版軟體必須大量授權的問題
二來 Web 透過瀏覽器執行,並不特別鎖定 Windows 平台
聰明的設計師可以透過 Java script做出很棒的介面
甚至是正紅的 AJAX(Asynchronous JavaScript and XML)及 JavaServer Faces(JSF)
完全簡化Web 2.0使用者介面的建置,可以製作一些高度互動的使用者介面
而且能百分之百在瀏覽器上執行而不需再下載
Yahoo! Widget Engine 及 Google 不久前剛併購的 Writely ~ The Web Word Processor
就可以瞧出端倪:未來共通的 API在 Web 上
雖然 Web based 這麼好,不過政府機關使用的「筆硯文書系統」
同樣是 Web based,卻避開了這些優點
因為它用了大量的 Active X,只能在 IE 上使用...也算夠「厲害」了!


結論

毛澤東說:黑貓、白貓,只要會抓老鼠的就是好貓
不管是 選擇作業系統,還是進行 程式開發 ~ 現實為主
再說一次:人上了年紀之後,最先放棄的就是 意識型態 (再來才是你的性能力)
我已到了沒有 Ideology 的年紀,老狗也學不了什麼新把戲
在一切都渾沌不明的時候,不妨參考一下孔夫子的智慧:與其不遜也,寧固
引言:

程式設計方面
不必管什麼程式之美,用熟悉的、舊的工具解決問題就好( BCB、VB、VC 依然是我喜歡的方式 )
Windows 很難戒除
光是打Game (尤其是D3D寫的)、行使自然人憑證 (目前國內只有以 Active X認證的版本) 就跑不掉了
不過就算 Longhorn 如期發表,我也不會急著轉換
Linux 呢?也沒有拋棄阿
這是比重問題,不是零合遊戲,我目前也使用 B2DpureKGB
它沒有煩人的中文和硬體支援的問題(如、Centrino)
並內建介面友善的桌面環境( KDE 和 Gnome )
含有許多好用的軟體,支援我大部分的需求而且兼具外觀~相當值得一試!


未來,還是一場不會停的飛車追逐,瞬息萬變、此消彼長
就讓我們樂觀其成,做個漁翁得利的 User 吧!

ps.會寫這些東西,不單是因為資訊一日千里
我想除了瞭解技術、會使用之外,其實也該試著做點 大方向的思考
最後,我不是程式設計師、不是網路 or GIS從業人員
我只是一名測量員...這樣的話,也許你可以聽聽就算了。

網友個人意見,不代表本站立場,對於發言內容,由發表者自負責任。
發表者
樹狀展開
:::

文章類別

展開 | 闔起

搜尋本站文章