※ 引述《brianhsu.bbs@ptt.cc (墳墓)》之銘言:
> 沒錯,後來我自己看也覺得怪怪。>_<
> 因為我把 .NET 和 Java 看成同一種架構,忘記他們
> 之間是有差別的。
> 我所謂的完整,是指是不是有實作出所有規範的裡的東西與
> 相關的函式庫,以這部份來看的話,目前的 MONO 與 Free
> Java 確實都不夠完整(至少與官方的比較)。
> 像以 MONO 來講的話,進到他的網頁的 Task 那像,會發現
> 在 Class Library 那項裡面,有很多都是還沒做的。
> 因此如果有一隻 .NET 的程式,用到那些功能,是沒有辦法
> 在 MONO 上面跑的。
....把用到的dll一同部署過去就ok啦
有啥困難的地方??
沒有function和能不能run是不一樣的吧??
> Free Java 也有同樣的問題,例如 Java 後 1.4 跳到 1.5,
> 但目前的 Free Java 平台有好些 1.5 的功能沒有實作出
> 來,因此如果用到這些功能的 Java 程式,一樣不能夠在
> Free Java 的平台上跑。
> 但好一點的是 Sun 的 Java 本身在各大平台就都有出官方
> 的 VM ,所以至少在各大平台上是能夠完整執行大部份的
> Java 程式的。
> 所以,就目前的狀況來講,真的要比較完整的跨平台,讓
> 寫的程式不用重新 compile 就能在各個平台上跑,可能
> Java 還是比較適合的。
> 當然,如果開發者本身就是用 MONO/Free Java 開發,就
> 沒有這類的問題,因為當用到這類東西的時候,MONO 或
> 是 Free Java 本身就會反應給使用者。而相對的,在
> MONO 或 Free Java 中的東西,在官方的平台裡都會有
> 實作。
> 又或者,哪天 MS 也在其他平台上釋出官方的開發平台,
> 自然就沒有這類的問題。
> 當然,如果扯到自由軟體的理念了話,問題就比較複雜。
> 基本教義派大概會說,唯一完美的解法就是官方釋出的開
> 發平台本身就要是自由軟體(例如現在的 QT/GTK 或是
> wxWidgets ),這樣的話,就不需要浪費人力開發其實作
> 用與官方相同功能的東西。
> 從以前到現在,這都是存在的問題,也就是開發元件是私
> 有軟體(最有名的兩個例子應該就是 Motif 和 QT ),
> 然後開發者用這些函式庫開發,再將開發出來的軟體釋出
> 為自由軟體。
> 結果導致要使用那項自由軟體之前,必須先裝私有軟體,
> 然後就變成自由軟體基本教義派的人不能使用這些軟體。
> 這種狀況最有名的例子是早期的 KDE(架構在非自由軟體
> 的 QT 函式庫上),不過這個例子中的問題,隨著 QT
> 變成自由軟體,已經解決了。
> 然後現在相同的問題出現在 Java 上了,因為 SUN 的
> JVM 並不是自由軟體,所以他們不能用。但有的自由軟體
> 卻又用到了 Free Java 裡所沒有的東西,導致那些基本
> 教義派也不能用,因為那個架構在非自由軟體的 VM 上。
> 所以,Richard Stallman 的說法,是說如果要用 Java
> 開發自由軟體,最好一開始就在 Free Java 的環境中開
> 發,才能夠讓你寫的程式真正被所有社群的人使用。
> 當然啦,如果不開發自由軟體,又或者不是基本教義派的,
> 又或者程式根本不會在 Windows 的系統以外跑,其實這
> 些東西怎樣都沒差。XD
--
╭┼ Origin: 幽谷˙反地球聯邦組織 aeug.twbbs.org
┼┘ Author: GP02 從 61-62-23-130-adsl-tpe.STATIC.so-net.net.tw 發表