• 2

無法消滅,就入侵 : 微軟將推出Office for Linux版本......


kkgo2 wrote:
以我為例:我是會寫一些程式,但由BASIC到Visual Basic我也只會這一樣,恰恰好這一樣,是無法移直到Linux上的.....
...(恕刪)


froce wrote:
寫這種大型程式都呼叫一堆API來做...
windows上有的api...linux上不一定有...
就算有了也不一定會有商業公司會用...會有授權的考量......(恕刪)


Basic 語言無法跨平台,因為:它的編譯器是 windows only 的

凡微軟出品的東西皆是如此
Basic、.NET(仿 JAVA 的東西)、DirectX、ActiveX..... 等等

都是 Windows Only 的


但這個不是絕對,微軟既然有辦法做出「編譯器」,視窗 API、SDK ....等等。代表它的員工有那種能力,撰寫低階組合語言的能力。

微軟之所以不在 Linux 上面也放出編譯器、API、SDK,純粹是「商業考量」,而並非它沒有「能力」。


Windows 上面有的 API,Linux 上沒有。

但是:那個 API 的製作者、擁有者,恰恰正是微軟。

只要它高興,做一個 Linux 上面的 API,那現有的 windows 軟體,也許連原始碼都不必改,直接就可以在 Linux 下編譯成可運作的二進位執行碼。

MS Office 如果要推出 Linux 版的,對微軟來說絕對做的到。

微軟本來就是作業系統起家的,沒人比它更了解作業系統了,把一個 windows 軟體移植到 Linux 下,對它來說根本小菜一碟,只看它願不願意而已。


Linux 向來是 windows 死對頭,微軟私底下去研究 Linux 作業系統的構造,搞不好比自由社群的人研究的還透徹。

微軟曾經告過 Novell 侵犯軟體專利。因為 Novell 買下 SuSe 這家 Linux Distro,接著 MS 就上門找碴了。告自由社群的人沒錢賺,告這類大公司才有錢賺。

那微軟告 Novell 侵犯軟體專利的證據或理由是如何來的?當然是去分析了對方的原始碼,SuSe Linux 的原始碼。不然還能哪來的。

以 MS 底下員工對 Linux 的了解程度,其實出一個 API 或 SDK 什麼的,並沒有難度。


*****************************************

不過即便微軟做出這麼一個在 Linux 下的 API,相信也不會公開給別家軟體公司使用。

別家軟體公司,若想要把軟體移植到 Linux,圖型介面部分的程式碼,必須要重新撰寫。這一點是沒錯。


但 Linux 的 X-window 圖型介面 ,也有函式庫 API 的。

X 的視窗和裡面的元件,也是呼叫 API 的,並非程式設計師自己去手工畫的。

Linux 下GUI 圖形介面的 API 庫,比如:GTK 庫、QT 庫...等等。


現代的程式語言,通常都是:物件導向、模組化

功能的部份,歸功能

圖形 GUI 的部份,歸 GUI

GUI 說穿只是一個:外殼、皮膚、門面而已

軟體真正的精隨,複雜的部份,是在功能上。佔整個軟體原始碼 98% 以上。

GUI 外殼,不過就是呼叫一些 GUI API 庫 ,去產生視窗 fram 框架和裡面的元件如按鈕選單之類的。頂多也就佔整個軟體原始碼 2% 以下。


軟體就像人,外在的衣服穿著、打扮,容易更改。

猶如軟體的圖形 GUI 換一下,不是難事。

人可以換套衣服,換個髮型,畫個妝,煥然一新。但內在想法、舉止談吐,不經過數十年,是難以改變的。

軟體也是,困難是裡面的內涵、功能、演算法,那個才是軟體真正複雜的部份。

外在 GUI 介面,不過就是件衣服,脫下來換一件,也就移植了。
fedora wrote:
Basic 語言無法...(恕刪)

你覺得生出整個基本編譯環境移植到linux符合你說的 "原始碼重新編譯一次即可,頂多修改一些小地方。" ?...

我沒懷疑過微軟有沒有能力搞出linux上的office...
只是你把移植這件事看得太簡單了點...

真的有那麼簡單微軟早就該在每個OS都出office了啊...
管他OS市占多少...重新編譯一次不就可以賣錢了?...
編譯不都是電腦指令下好...睡個覺起來看跑完了沒...

froce wrote:
你覺得生出整個基本編...(恕刪)


用微軟系程式語言的人,可能會比較傷心困擾吧...


我個人偏好的語言是: JAVA 和 PHP

JAVA 是完全跨平台的,連重新編譯都不必,軟體直接拿過去,有裝 JRE 執行環境就能跑了。


C++ 或 C 的,應該是重新編譯就能移植了(功能的部份)

當然 GUI 的部份需要修改。

原先呼叫 windows 視窗 API 去產生 Frame、button... 等元件的圖形介面,要改用 GTK庫、QT 庫 去呼叫。

叫出來的效果,應該是大同小異,視窗不都長那個樣,一個矩型的 Frame 視窗,按鈕、菜單選項....全都一個樣。


修改 GUI 的部份,僅佔整個軟體全部原始碼,理論上不會超過 1~5%。

說是小修改,也沒錯啊。

比方說,假設有一個軟體,有一萬行程式碼,大約只有 100~500 行是牽扯到 GUI 圖形介面生成的部份吧,其餘是功能的。

現代的程式寫作習慣,都會模組化、物件導向化,每個部分都是獨立的。功能都是呼叫物件或子函式的,只修改 GUI 的部份,並不是很大的工程。


Perl 之類比較少見的,情況應該也是和 C 、C++ 差不多,若有圖形介面,GUI 呼叫的部份需要重寫。

.NET 的,在 Linux 有 Mono 可以相容,不過相容性聽說很糟糕。

凡微軟系的程式語言,只要牽扯跨平台,都是悲劇,這個就無解了。

但不是天底下軟體,都是用微軟系程式語言寫的,那個只是少數軟體。只能對他們表示同情了....


fedora wrote:
在 Linux 有 Mono 可以相容,不過相容性聽說很糟糕。


這個我有"聽說過",但沒有實際用過,但初步接觸,它不是移植工具,而是一個發展平台"兼容"的效果,而且微軟對這個東西,似乎很有意見......

倒是JAVA這個工具可以來認真思考一下,好像得滿值得學習(老了),程式效率聽說不錯,連安桌APP也能開發,不過沒接觸過,也不知要怎麼入門?



我倒是覺得這像是黑道大哥,看到一個將來可能會很有威脅的年輕小弟,想要控制、收編他的電影情節。

之前使過的各種殺招,這個年輕人都活了下來,於是乾脆握手,給他糧、給他槍,讓他成為自己人?

對 linux 而言,或許這是個成長、坐大的機會。想想看,若是可以完全無縫的在 linux 上編輯 office 文件,有多少文書機器可能會轉向使用 linux 作業系統?

但這恐怕也是個毒藥,大哥會盤算些什麼?接受了大哥的規則來擴張地盤,是不是會更加兇險?那就看這個年輕人夠不夠本事,再一次度過這個險招。
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?