精華區beta Programming 關於我們 聯絡資訊
※ 引述《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 發表