電腦使用者不選擇 Linux 的原因? [論壇 - Ubuntu 哈啦]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題 回覆 發帖

« 1 ... 79 80 81 (82)


#811 回復: 電腦使用者不選擇 Linux 的原因?
訪客 Ident: 2f276 8590a 0fd9f 5afa9 2008/10/8 21:55
cefc 寫到:
至於gtk+1與gtk+2不相容的問題在開放原始碼的環境中是不需要擔心的。

............
就算是開放原始碼又如何?
不相容的問題還是一樣存在
#812 回復: 電腦使用者不選擇 Linux 的原因?
訪客 Ident: 75878 66430 9b1e1 2165b 2008/10/8 23:55

............
就算是開放原始碼又如何?
不相容的問題還是一樣存在


原 PO 的意思大概是:
因為開放原始碼,所以若軟體原先只支援 gtk+1
有心人士可以去修改原始碼,使其變成 gtk+2 的語法


不過拿 gtk+ 來和 JAVA、.NET 比較
貌似牛馬不相及,八竿子打不著,雞同鴨講

gtk+ 是一種 GUI 的函式庫、物件庫
呼叫它,它幫你畫視窗物件和一些需處理的東西
是 C 語言的,是要編譯的
它是 API,白話一點說就是 C/C++ 的擴充功能元件
既不是程式語言,也不是執行平台

GTK+ 新版不相容舊版,影響不大,因為它畢竟是 API
假如它不是名稱取一樣
基本上也可看作就是兩套不同的東西

像 JAVA 中負責 GUI 的也有兩套 API
AWT 和 Swing
兩套並不相容,但是概念接近
Swing 是比較新的套件,功能較強,但是用 AWT 的人也很多

但是 Swing 也是畫 GUI 的,為何不叫 AWT 2?
因為那樣叫肯定被人罵,根本就不相容,憑甚麼取一樣名稱

GTK+1/2,不相容,被人罵,只能說名稱取錯...

--------------------------------------------------

JAVA 和 .NET 會被放在一起比較,是因為它們有類似的特性
底層都是虛擬機器在跑的
跑的是一種介於原始碼和二進位檔之間的中繼檔
所以才能跨平台
也有一種概念叫做「程式執行平台」

倒不是說程式語法相近
.NET 是一堆程式語言的組合,有 C、C#、VB...等等
並沒有限定專用哪一種

不過 .NET 的跨平台是騙人的
因為目前為止,它的虛擬機器只有 windows 版

Mono 那個到底算不算,尚有爭議
主要並不是說非 M$ 牌的就不算
而是 Mono 並不是 100% 相容 .NET 程式
換句話說,寫好的 .NET 程式,在 Mono 下可能不能跑完全

比如說你呼叫什麼 .NET 物件
結果在 Mono 底下不能執行,因為它不支援
這種情形是不能被忍受的,因為開發時會綁手綁腳
首先你要去查出 Mono 不支援的物件到底有哪些
然後撰寫程式碼時,要避開使用這些物件...
只能說:扯,吃飽太閒

JAVA 新版的,是相容舊版的
新版的只是增加新的功能和物件
用舊版工具開發的,也能完全在新版 JRE 執行

.NET 新版的,是不相容舊版的
用舊版工具開發的,只能在舊版執行環境跑
這會造成執行環境版本愈來愈多,且各自不相容

以程式設計者角度來看,這是非常不合理的事情
當然若以 M$ 角度來看
會有這種莫名奇妙的事情,也不難理解
因為它就是要你花錢不斷更新版本

---------------------------------------

這一主題很長,前後累積了70多頁
一點個人看法: TO ALL

當我們討論「程式語言」優劣,或「作業系統」優劣時

希望是從技術的方向去討論
而不是講那些什麼股價、賺錢...有的沒的

股價是買股票的人才會看的,這裡又不是財經網站
即使用 JAVA 的人,難道不能買 M$ 股票?
很多人買宏達電股票,難道這些人都用 HTC 手機?

投資和使用、購買,完全是兩回事
股市含有「賭」的成份在,運氣和背後操作居多
拿來佐證程式語言優劣,不合邏輯

賺錢能力是看個人
修車黑手、賣雞排,月入數十萬的大有人在
這些人也不會因為用 windows 就賺更多了

所以講這些賺錢有的沒的,和程式語言、作業系統
乃至於電腦技術本身,幾乎都是沒有關係的

而一個電腦取向的網站
不討論電腦技術,難道還談理財投資?
是不是豈有此理呢
#813 回復: 電腦使用者不選擇 Linux 的原因?
訪客 Ident: 39ac5 e6ab8 8a75a eba10 2008/10/9 0:18
訪客 寫到:
原 PO 的意思大概是:
因為開放原始碼,所以若軟體原先只支援 gtk+1
有心人士可以去修改原始碼,使其變成 gtk+2 的語法


不過拿 gtk+ 來和 JAVA、.NET 比較
貌似牛馬不相及,八竿子打不著,雞同鴨講

gtk+ 是一種 GUI 的函式庫、物件庫
呼叫它,它幫你畫視窗物件和一些需處理的東西
是 C 語言的,是要編譯的
它是 API,白話一點說就是 C/C++ 的擴充功能元件
既不是程式語言,也不是執行平台

GTK+ 新版不相容舊版,影響不大,因為它畢竟是 API
假如它不是名稱取一樣
基本上也可看作就是兩套不同的東西

像 JAVA 中負責 GUI 的也有兩套 API
AWT 和 Swing
兩套並不相容,但是概念接近
Swing 是比較新的套件,功能較強,但是用 AWT 的人也很多

但是 Swing 也是畫 GUI 的,為何不叫 AWT 2?
因為那樣叫肯定被人罵,根本就不相容,憑甚麼取一樣名稱

GTK+1/2,不相容,被人罵,只能說名稱取錯...

.NET上開發的軟體一樣可以開放原始碼。有心人士可以去修改原始碼,使其變成新版.NET的語法。

.NET新版不相容舊版,也是因為.NET的部分 API 新舊版不同

gtk+2 是gtk團隊基於 gtk+1 開發的後續版本。如果因為 API不相容名子就不能取一樣,那應該建議開發中的gtk+3要改名,因為gtk+3打算移除部分舊版的 API 。
#814 回復: 電腦使用者不選擇 Linux 的原因?
訪客 Ident: 75878 66430 9b1e1 2165b 2008/10/9 1:01

.NET上開發的軟體一樣可以開放原始碼。有心人士可以去修改原始碼,使其變成新版.NET的語法。


原 PO 的意思我也只是猜測,大概是這樣子
但是真正的意思,還是要原 PO 來說明

"理論上"只要開放原始碼的,是都可以修改

然再談論到「現實情況」

採用 GTK+ 的軟體,幾乎都自由軟體(開源),確實可以修改

用 .NET 寫的軟體,幾乎都是封閉軟體,很少看到有開源的

所以「理論上」和「實際上」,是有差距的
理論上是沒錯,但是實際上辦不到



.NET新版不相容舊版,也是因為.NET的部分 API 新舊版不同

gtk+2 是gtk團隊基於 gtk+1 開發的後續版本。如果因為 API不相容名子就不能取一樣,那應該建議開發中的gtk+3要改名,因為gtk+3打算移除部分舊版的 API 。


前面說過了,GTK+ 和 .NET 或 JAVA
是無從比較的,等級不一樣的東西

GTK+ 只是一套 API,它各版本相不相容,差別不大
大不了 end user 每一版都裝一套
在 Linux 來講,這也不是問題,因為根本就是內建的,不必裝

但是 .NET 和 JAVA 是一種「程式執行平台」

每一版本都裝一套,會對使用者產生困擾

也會對硬體廠商造成困擾,例如小型設備,如手機、PDA...等,因 ROM 的儲存容量有限,不允許裝這麼多套版本。

.NET 為什麼在這些小型設備,發展度不高?
正確的說,是完全沒發展
1.因起步太晚,市場先被 JAVA 佔去了
2.高額權利金
3.版本一改在改,且不相容
4.因版本不相容,造成 ROM 需求大,實做困難

1.2 項都是可以克服的,大不了 M$ 不要收權利金,並大力推銷

但是 3.4 項,可是致命缺點啊...

當然科技日新月異,記憶體容量愈來愈高,愈便宜
等到未來某一天,小型設備也能有高速 CPU,高容量記憶體
.NET 就有發展機會了

不過,JAVA 肯定也不會原地踏步,.NET 有追上的可能性嗎?

沒錯,GTK+ 也是這樣爛,不相容
好吧,承認 .NET 贏過 GTK+

不過那又怎樣....
畢竟是 JAVA vs. .NET 在比較
而不是 GTK+ vs. .NET 在比較
不是嗎 XD
#815 回復: 電腦使用者不選擇 Linux 的原因?
2008/10/9 6:37
我覺得更詭異的是,這主題應該是討論一般使用者
雖然他們可能會很無聊的寫些程式,但是似乎有點遠了

« 1 ... 79 80 81 (82)

回覆 發帖


發表回覆
賬號用戶名   密碼   登錄
*
輸入驗證碼
(大寫數字請輸入相對應的印度/阿拉伯數字) *
     
* = 必要的
可以查看帖子.
可以發帖.
可以回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
可以不經審核直接發帖.