精華區beta Programming 關於我們 聯絡資訊
※ 引述《HZYSoft.bbs@ptt.cc (PCMan 2004)》之銘言: > 這篇文章要討論的只是把很多因素加進來考慮, > 並不該真的一面倒的認為 Linux 上的開發就一定比較好 雖然是「把很多因素加進來考慮」, 但總覺得互相比較的東西還是有一點不對稱, 如果要說 Linux 各 distributions 之間開發的程式不相容, 其實最接近的方式應該是把拿 MS-DOS 6.22、Win 95/98、Win NT/2000/XP 來比較, 不過它們之間還是不構成可比較性的差異, 因為 Linux 不管是用哪家的 kernel 都是同一個(版本可能不同甚至可自選)。 至於 GCC 從 3.x 升級到 4.x 這點, 跟 GCC、Linux、Windows 其實都無關, 而是跟 C/C++ 的標準變動有關, 事實上 3.3 -> 3.4 就有了把 <varargs.h> 換成 <stdarg.h> 的動作, 讓一堆老舊程式碼無法通過編譯, 這就像 VC6 -> VC7 原本 <iostream.h> 會 include 不到一樣 (這句話是靠印象說的,因為之前版上有人發問剛好我那時手邊有電腦裝 VC7)。 所謂 debian 上可以跑但是拿到 fedora 不見得能跑的情形, 跟把 win 95 能跑的執行檔丟到 win NT 不見得能跑是類似的情況。 而 Linux 的程式要丟去 FreeBSD 編譯, 這就比得有點太超過了..... 這樣比跟 Windows 上能編譯過的程式拿去 FreeBSD 不能編差不多, Linux 和 FreeBSD 在血統上就不一樣, 甚至連血緣都幾乎沒有, 要說是遠親也已經很牽強了。 而 POSIX 這種東西並非是 Unix 和 Unix-like 專用的, 只是有些 OS 就是不想去遵循而已, 然後加上「剛好」願意遵循它的 OS 其實也沒有 100% 遵循, 所以這只能說明 POSIX 這個標準沒有徹底發揮它的功用說。 另一個重點是 Linux 本身只是一個 kernel, 它不算是一個完整的 OS, 跨 distributions 的比較已經屬於不同 OS 之間的比較, 所以我是認為如果真的要比較, 最好是侷限在 Linux 的某一個 distribution 內(僅版本不同), 不然就算立意是正確的, 在說服力上卻會比較弱, 不足以說服偏執於某些信念的人。 儘管我覺得您的互相比較對象在選擇上有點奇怪, 不過我倒是沒有反對您發文的基本用意, 就可攜性而言其實不管在 Windows 還是 Linux 都佔不到多少便宜。 至於前面那位板友所說的: 「 程式可再用率? 一天到晚換架構的 platform 程式可再用率==0 學習 M$ 的使用和 programming 是自找苦吃 一天到晚要重來, 浪費大家時間 既然都是要重來, 還不如換個穩又省事的 platform 因為一直換, M$ 教育成本絕對是比 Linux 高得多 」 我也認為這樣講的確有點太極端(雖然看起來比較像是語病), 而且就 programmer 的角度來看, 問題並不是出在 platform 上, 因為總是會有一群人去寫出 platform-independet 的 libraries 和 frameworks, 選用這些東西就不會帶來太多的麻煩。 -- Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net School: National Chung Cheng University Department: Computer Science and Information Engineering Researching: Porting GCC and Implementing VLIW instruction scheduler in GCC Homepage: https://it.muds.net/~uranus -- ╔═══╗ ┼────────────────────────╮ 狂狷 Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮ 年少 ┼╮ < IP:140.119.164.16 > ╰─╮ ╚╦═╦╝ From:218-171-140-241.dynamic.hinet.net ─╨─╨─ KGBBS 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 -- * Modify: tinlans 05/09/17 4:33:35 <218-171-140-241.dynamic.hinet.net>