Edward Guo在我的《放毒記》裡與我探討了一下他的不同意見,我覺得有必要收藏一下:
edguo 發表於2006-12-24 21:39:46
抱歉說幾個不太同的觀點:
1. Linux做伺服器還行(以前的公司郵件伺服器用FreeBSD是很不錯),做案頭應用還差~5輩,RedHat7以前玩了一下,命令列倒是沒什麼已經, 但因為中WinGUI毒太重,覺得KDE/GNOME的思維很離奇,實在受不了,也許也是因為年紀大了轉不過來;不過既然用戶端要選用(無論你是樂意還是 被迫)就不如走一套路,否則成本很高。
2. 我覺得Windows Server現在已經足夠穩定,足夠我們大多數客戶使用;聘請Windows管理員比較容易,除了補丁多以外我覺得沒什麼大毛病。我覺得GUI和核心分離 較穩定的說法和以前說要省1K記憶體是一樣道理的,GUI核心會越來越穩定,非GUI核心會越來越不穩定,純屬本人個人看法。
3. 實用為王,不要太過程式員。
Raptor 發表於2006-12-26 13:55:28
1、我可沒有說LINUX做案頭比WINDOWS強,只是比以前的LINUX強多了。
2、 對於要求不高的公司內部應用當然是沒有問題,但是放到INTERNET上呢?大負載的應用呢?WINDOWS的TCO優勢也就在於WINDOWS的管理員 容易找,但是技術上要差很多——系統的安全性和效能最佳化之類的工作不是打打補丁就行的,而技術好的WINDOWS管理員代價也不低。
至於GUI與核心的關係就讓事實來證明吧。這跟1K記憶體根本是兩碼事。我的觀點與你相反,GUI核心只會越來越不穩定。否則CPU也就沒有必要弄個保護模式了——這無疑是要增加額外的開銷的。
3、我這裡說的都是針對程式員的,使用者需要他們自己知道,便是錯了那也是他們自找的,但是程式員應該知道怎麼樣才是對自己好。^O^
edguo 發表於2006-12-27 16:47:12 IP: 58.251.82.*
1. 還是那句:成本。伺服器和用戶端的技術路線不同,成本很高。
2. 我就知道招商銀行網上銀行相當大量採用了Windows伺服器,大家可以去攻擊一下(不過也許我很out他們已經換了也不一定),我們的客戶(一省級部 門,)外網也使用WindowsServer 也沒啥問題;大負載嘛,請大家上Microsoft.com去測試一下(今天地震影響不算,呵呵)。
Windows 管理真的不需要什麼很高水平,當然你隨便拿個街邊貨當管理員是不行的,你說的配置好的Windows伺服器我真的覺得也是要求不高啊(也許是我自己水平 低)。以前單位見對面組的人搞IBM主機我就覺得他們的維護成本太高了。雖然我比較討厭M$的霸道,但是該佩服的還是要佩服。
GUI和內 核分離是否越來越不穩定我無法證明,但是Windows越來越穩定大家可以看得見(那是設計的提升),不要認為我取巧,那是事實。大家當年省1K記憶體是有 用的,198x年,BillGates還說過640K記憶體足夠任何的人使用,但是隨著記憶體的極大擴充,你省那個1K就沒什麼意義了。如果我認為我跟定M $,如果不是在非常有必要的情況下,我不會考慮那麼一點所謂的穩定性而去轉用其他平台(除非足夠吸引例如我使用Linux能賺客戶更多的錢而客戶覺得很值 得或者客戶要求我一定要用Linux我沒有辦法)。我認為所謂的穩定與否絕大多數在乎你的軟體設計水平,而不是作業系統或者編譯器。
保護模式跟GUI沒什麼關係,如果可以,Linux不用保護模式而剛好跑一些垃圾軟體不知道會否那麼“穩定”。
3. 說太程式員嘛主要是看了那些跟貼不是針對猛兄。其實說這些廢話我肯定不是有什麼惡意的,也不用認為我走Windows路線就專門跟Linux過不去。舉個 例子吧,我手下的程式員在我們對功能進行評審的時候,我問他如果客戶要這樣這樣你現在的給出的介面功能應該怎麼做,他回答我要A->B->C ->...->K,那樣的結果往往是給我K的。我們幹程式員這行這麼久(以第一次靠寫程式賺錢開始,我就12年),這裡發表意見的人可能往往 也自得其樂技術上感覺比較良好(包括我),但是真的能當飯吃的才是好技術,而很多程式員(連我自己在內),很多時候總是暢遊在技術享受之中,不把客戶、項 目、產品的利益放在首位,往往是要吃虧的。大家都知道程式員吃青春飯,這種虧還真的想一直吃下去?
得罪之處萬望海涵。
--
Edward Guo
Raptor 發表於2006-12-28 14:57:23 IP: 203.94.2.*
1、不知道你的意思,是指什麼成本?服務端的成本本來就比用戶端高啊
2、 既然都銀行了,當然不介意用專業人士,我也承認WINDOWS配置得好,安全性一樣可以不錯。拿MICROSOFT的網站沒什麼好說的,WINDOWS都 是他們開發的,他們當然能夠比別人用得好,但不是所有使用者都有這樣的實力——給你一個更好的例子:NASDAQ網站也是用WINDOWS伺服器。但這沒有 普遍意義,只要簡單統計一下大的門戶網站,這才是典型的大負載應用,有幾個是用WINDOWS的呢?
你覺得要求不高那是因為你已經達到一定的程度,但事實上達到這種技術程度以後,去維護*NIX伺服器也不會太困難,只是需要一個習慣的過程而已。
WINDOWS 越來越穩定,那是因為以前的WINDOWS太不穩定,但是跟*NIX相比還是有差距的。水平再高的人也難免犯錯,而一旦出錯,在WINDOWS下的風險就 明顯要大一些,而相對來說,*NIX的保護更為全面。GUI與核心隔離只是其中一個方面,僅以這個方面來說,在*NIX下一個使用者進程的GUI錯誤只會表 現為一個SOCKET CLIENT的問題,而WINDOWS下將可能導致GDI部分的嚴重錯誤。記憶體大小的問題和這個完全不是一類的問題,所以我另外舉了保護模式為例,保護模 式出現的目的就是為了隔離OS核心與使用者進程,當使用者進程出錯時,會引起保護中斷,使系統核心能夠及時控制狀況,改進系統的穩定性。GUI與核心分離本質 上正是這一思路的延伸,而WINDOWS為了顯示效能(案頭應用對此的需求很強烈)將二者緊密結合,這將會帶來一定的風險是顯而易見的。
3、 我靠寫程式賺錢的時間沒有你長,而且我不做專職程式員已經好幾年了,現在身份相當於客戶這邊的系統維護人員。但如果哪個軟體供應商做出的軟體像你的手下那 樣實現功能,那我也是要K他們的。不過如果你認為*NIX下的應用是如你所說的這樣,那就是你的誤解了。很多WINDOWS下要點N次滑鼠的操作,在 *NIX下只要一行命令就可以搞定——唯一不同的只是操作方式上的不同。
介面好看,操作直觀固然是客戶利益的一個方面,但是這更多的還是表面現象,當一個系統在運行一段時間以後,客戶卻開始需要做一些如時不時重啟一下之類的“維護操作”時,這時客戶的利益已經不同了。
一個真正好的服務端,並不是一個維護起來簡單的系統,而是一個在絕大多數時候根本不需要維護的系統。
edguo 發表於2006-12-29 10:40:51 IP: 58.251.85.*
成 本是指撇除設計等因素,單從開發和維護考慮,你可能要養四撥人,一撥在用戶端要開發Windows程式或者頁面,另一撥人要在伺服器開發非Windows 程式(例如Linux),第三撥是維護伺服器的人,第四撥是維護用戶端的人(請不要告訴我B/S零維護,做的好點維護量其實大多都不是用戶端本身),這裡 面針對不同項目各個量不一樣,不但涉及到成本管理(例如人員的可置換性),還涉及到員工的發展等其他問題,如果你能把其中一個或多個方面的成本顯式降低那 才是高手。
不好意思,我又犯了以老賣老的毛病~~~ 其實我沒那麼老,因為第一次賺程式錢是在上大學的時候~~我應該屬於程式員轉型沒做好的那種,現在還得兼行程式員角色,所以我力勸現在讀大學的小舅子主修 Computer Science的同時應修管理、經濟和人文等社科,那是程式員的軟肋。
對此,令狐也給我發來了他的觀點:
我沒做過管理員,但是我用了一段時間的Linux,而我LP以前正好做過Windows的系統管理工作。因此我從使用的角度扯兩句吧。
一 個好的Windows系統管理員,絕不是一件簡單的工作。對一個公司上千台電腦進行管理時,編寫自動化任務可以說是不可缺少的一件工作。而這時, Linux的難度比Windows要小很多,因為在Linux上你面對的仍然是你熟悉的命令,只是用Shell將他們組合一下而已,甚至遠程執行也只需要 用ssh就可以搞定。而Windows下,你就不得不新接觸一件叫做"Host script"的工具——而它既不同於控制台命令,又不同於視窗操作。這是一個額外的知識,需要額外的學習,學習是要成本的。—— 而我LP的朋友所在的另外一家公司,他們的系統管理員因為不瞭解這個,是一台一台手工操作的,有一次公司病毒發作,我LP的朋友因此連續通宵了N天。(這 是實際發生的事情)
更糟糕的是,Host script使用的是COM,如果系統裡沒有現成可用的組件而需要自己開發時,難度就比在Linux下開發一個命令列工具難度更加大了,出錯的機率也要高 很多(因為COM模型本身的複雜性)——這通常不是一個系統管理員幹得了的,於是又要請一個COM開發人員過來,這又是成本。
總之,我現在使用 Linux最大的感受,就是他的KISS原則。Windows把維護和開發分得太開了,要麼就是傻瓜式的操作,要麼就是API編程。而Linux下藉助腳 本的強大黏合能力,就提供了一個很不錯的中介層次,在這個層次上,你不需要很精通正兒八經的開發,而又可以做比"傻瓜式"複雜得多的事情。這樣可以為管理 維護帶來很大的方便。
另外,在安全性方面,Linux的確未必比一個良好配置的Windows更安全,但是Linux有個好處就是他把安全性一開 始就讓你知道。如果你不瞭解什麼叫做使用者權限、使用者組、所有者,很多事情就幹不了,所以你不得不一開始就去把這些瞭解清楚。而Windows最可怕的一點 就是把這些複雜的概念隱藏在易用性的背後——你哪怕對這些一無所知,也不影響你使用這個系統。因此很多人對安全性毫無概念,卻自以為對Windows已經 很熟悉了,這才是Windows安全性問題的來源,我覺得。而把Windows的相關概念完全瞭解清楚,其難度並不比熟悉Linux更低。
另外再補充一點剛剛沒說的。
其 實現在我覺得作為案頭,Linux也並不比Windows更難用,甚至在某些方面比Windows更加方便(比如串連我的A1200手機,呵呵)。關鍵是 你不能用使用Windows的思路去使用Linux。在Windows下,如果我要幹一件事情,而這件事情正好Windows幹不了,我就會上網找一份軟 件,也許他不是特別符合我的需求,那麼,我就忍了;要麼就開啟開發工具自己從頭寫一個,但這個難度一般比較大,周期也比較長;而在Linux下,我就會找 一份能完成核心功能的程式(比如看圖、編輯之類的基礎功能,這些一般都能找到),然後寫個指令碼組合一下。通常寫完指令碼之後,用起來比Windows下更方 便。而寫指令碼這件事本身也比Windows下編程難度要低得多。
暫告一段。