1.開源
這個我想不用解釋。
2.多用戶、多任務、多線程
Linux系統同時可以支持多個用戶,每個用戶對自己的文件設備有特殊的權利,能夠保證各用戶之間互不幹擾,就像手機開了助手一樣,同時登陸多個qq賬號,當硬體配置非常高時,每個用戶還可以同時執行多個任務、多個線程同時工作、提高效率,簡直是完美的一塌糊塗,單憑多用戶而言就完爆其他操作系統。
3.穩定性和高效性
你也許會聽到Windows伺服器長時間運行而突然宕機,但你絕不會聽到Linux系統伺服器因為長時間不關機會卡死,在Linux上幾乎是不會出現這種情況的。Linux伺服器可以無休止的運行下去不宕機,因為它繼承了Unix卓越的穩定性和高效性。正因為它的穩定才獲得了眾多用戶的青睞,因為它的高效,它的使用范圍更加廣闊,然而Linux還可以提供一些高可靠性的服務,比如:LNMP、虛擬化、資料庫服務等等。
4.安全性和SELinux
其安全性相比其他系統也要安全很多,由於Linux擁有相當龐大的用戶和開源社區支持,因此能很快發現系統漏洞,並迅速發布安全補丁及時更新,同時還具有很強的「免疫力」特點,很少受到病毒攻擊,對於一個開放式系統而言,在方便用戶的同時,很可能存在安全隱患。
不過,利用Linux自帶防火牆(iptables,firewalld)、入侵檢測和安全認證等工具,及時修補系統的漏洞,就能大大提高Linux系統的安全性,讓黑客們無機可乘,同時還有安全增強機制SElinux,在linux內核中提供強制訪問控制,功能非常全面,能夠很好保護系統和服務,不過很多人喜歡把它關閉,這相對安全性就不是很好了。
還有Tcp_wrappers也能夠提供很好的網路服務訪問控制,Linux系統對於用戶和文件管理許可權的管理也是相當出色的,能夠很好的控制許可權,保證文件的機密性,也是其他系統無法比擬,所以Linux系統在一定程度上是堅不可摧的。
5.性能優勢
由於Linux要保證其穩定性,所以並沒有像其它操作系統一樣內核如此臃腫龐大、漏洞百出,隨著Linux內核的不斷更新,不斷提升著優勢,Linux操作系統能把伺服器的硬體優勢體現的淋漓盡致,因為Linux系統吸取了Unix系統近1/4世紀發展的經驗,最主要的是Linux開放源代碼,保證系統穩定性,更好的調用硬體功能,同時還提供了豐富的系統資源工具top,freee,df,vmstat,dmesg,iostat,sar,uptime等,方便查看資源的利用率。
以上這些足夠讓你投向Linux的懷抱了。
當然,除了這些,還有一些說不定道不明的定西,比如:
biggerthanbigger
把你的Linux系統拿出去,開始用命令行做點事情。
比如說,輸入sudorm-rf/*
Ⅱ 一個好的程序員至少應該具備哪些條件
樓上的幾位顯然誤會我的意思了,我並不是說不應當寫文檔加註釋注重團隊精神,看看下面的一篇文章,那位三天就寫出UNIX的他需要寫文檔注釋和團隊精神嗎,他用不著。哪個高手沒有一點傲氣和自信,他之所以敢對用戶說:拿到你想要的,然後滾蛋,你已經很幸運了!是因為他有這個資本。天才本就不循規蹈矩,那樣他就不叫天才了。
MIT BBS上說微軟電話面試的一道題就是「Who do you think is the best coder,
and why?」。我覺得挺有意思的,也來湊個熱鬧。排名不分先後。
Bill Joy, 前任Sun的首席科學家,當年在Berkeley時主持開發了最早版本的BSD。他還
是vi和csh的作者。當然,Csh Programming Considered Harmful 是另一個話題樂。據
說他想看看自己能不能寫個操作系統,就在三天里寫了個自己的Unix, 也就是BSD的前
身。當然是傳說了,但足見他的功力。另一個傳說是,1980年初的時候,DARPA讓BBN在
Berkley Unix里加上BBN開發的TCP/IP代碼。但當時還是研究生的B伯伯怒了,拒絕把BBN
TCP/IP加入BSD,因為他覺得BBN的TCP/IP寫得不好。於是B伯伯出手了,端的是一箭封
喉,很快就寫出了高性能的伯克利版TCP/IP。當時 BBN和DARPA簽了巨額合同開發TCP/IP
Stack,誰知他們的代碼還不如一個研究生的好。於是他們開會。只見當時B伯伯穿
個T-shirt出現在會議室(當時穿T-shirt不象現在,還是相當散漫的哈)。只見BBN問:你
怎麼寫出來的?而B伯伯答:簡單,你讀協議,然後編程就行了。最令偶暈倒的是,B伯
伯碩士畢業後決定到工業界發展,於是就到了當時只有一間辦公室的Sun, 然後他就把
Sparc設計出來樂。。。象這種軟硬通吃的牛人,想不佩服都不行的說。據Bill Joy的同
事說,一般開會的時候B伯伯總是拿一堆雜志漫不經心地讀。但往往在關鍵之處,B伯伯
發言,直切要害,提出漂亮的構想,讓同事們徹底崩潰。對了,他還是java Spec和JINI
的主要作者之一。
John Carmack,ID Software的founder和Lead Programmer。上個月和一個搞圖形的師兄
聊天,他竟然不知道John Carmack, 也讓偶大大地暈了一把。不過也許搞研究的和搞實
戰的多少有些隔吧。想必喜歡第一人稱射擊游戲的都知道J哥哥。90年代初只要能在PC
上搞個小動畫都能讓人驚嘆一番的時候,J哥哥就推出了石破天驚的Castle Wolfstein,
然後再接再勵,doom, doomII, Quake...每次都把3-D技術推到極限。J哥哥的簡歷上說
自己的專長是"Exhaust 3-D technology",真是牛人之言不我欺的說。做J哥哥這樣的人
是很幸福的,因為各大圖形卡廠家一有了新產品就要向他「進貢"
,不然如果他的游戲不支持哪種卡,哪種卡基本就會夭折樂。當初MS的Direct3D也得聽
取他的意見,修改了不少API。當然,J哥哥在結婚前十數年如一日地每天編程14小時以
上,也是偶們凡人望塵莫及的。對了,J哥哥高中肆業(?),可以說是自學成才。不過
呢,誰要用這個例子來為自己學習不好辯護,就大錯特錯了。那 Leonardo Da Vinci還
是自學成才呢(人是私生子,不能上學)。普通人和天才還是有區別的。對了,其實偶們
叫「達分奇」是相當不對的,因為Vinci是地名,而Da Vinci就是從Vinci來的人的意
思。換句話說,Leonardo Da Vinci就是「從Vinci來的Leonardo」的意思。叫別
人「Da Vinci」就不知所謂樂。嗯,扯遠了,打住。
David Cutler,VMS和Windows NT的首席設計師,去微軟前號稱矽谷最牛的kernel開發
員。當初他和他的手下在微軟一周內把一個具備基本功能的bootable kernel寫出來,然
後說:「who can't write an OS in a week?",也是牛氣沖天的說。順便說一句,D爺
爺到NT3.5時,管理1500名開發員,自己還兼做設計和編程,不改coder本色啊。
D爺爺天生脾氣火爆,和人爭論時喜歡雙手猛擊桌子以壯聲勢。 日常交談fuck不離口。
他面試秘書時必問:"what do you think of the word 'fuck'?" ,讓無數美女剎羽而
歸。終於有一天,一個同樣火爆的女面對這個問題脫口而出:"That's my favorite
word"。於是她被錄取樂,為D爺爺工作到NT3.5發布。
Don Knuth。高爺爺其實用不著偶多說。學編程的不知道他就好像學物理的不知道牛頓,
學數學的不知道歐拉,學音樂的不知道莫扎特,學Delphi的不知到 Anders Hejlsberg,
或者學Linux不知道Linus Torvalds一樣,不可原諒啊。為了讓文章完整,就再羅唆幾句
吧。高爺爺本科時就開始給行行色色的公司寫各種稀奇古怪的編譯器掙外快了。他賣給別
人時收一兩千美元,那些公司拿了code,加工一下賣出去就是上萬上十萬。不過也沒見高
爺爺不爽過,學者本色的說。想想那可是60年代初啊,高爺爺寫編譯器寫多了,順帶就搞
出了個 Attribute Grammar和LR(k),大大地造福後人啊。至於高爺爺在CalTech的編程比
賽(有Alan Kay得眾多高高手參加)總是第一,寫的Tex到86年就code freeze,還附帶2^n
美分獎勵等等都是耳熟能詳的,偶就不饒舌樂。
順便說一下,高老大爺是無可爭議的寫作高手。他給Concrete Mathematics 寫的前言可
謂字字鏗鏘,堪為前言的典範。他的技術文章也是一絕,文風細致,解釋精當,而且沒
有學究氣,不失輕快跳脫。記得幾年前讀Concrete Mathemathics,時不時開懷大笑,讓
老媽極其郁悶,覺得我nerdy到家,不可救葯。其實呢,子非魚,安知魚之樂,更不知那
完全是高爺爺的功勞。說到寫作高手,不能不提Stephen A. Cook。他的文章當年就被我
們的寫作老師極力推薦,號稱典雅文風的樣本。庫爺爺一頭銀發,身材頎長,總是面帶
謙和的微笑,頗有仙風道骨,正好和他的仙文相配的說。
高爺爺其實還是開源運動的先驅。雖然他沒有象Richard Stallman那樣八方奔走,但他
捐獻了好多作品,都可以在網上看到,比如著名的Mathematical Writing,MMIXWare,
The Tex Book等,更不用說足以讓他流芳百世的Tex樂。
Ken Thompson,C語言前身B語言的作者,Unix的發明人之一(另一個是Dennis M. Riche
老大,被尊為DMR),Belle(一個厲害的國際象棋程序)的作者之一, 操作系統Plan 9的主
要作者(另一個是大牛人Rob Pike,
前不久被google挖走了)。Ken爺爺也算是計算機歷史上開天闢地的人物了。1969年還是
計算機史前時代,普通人都認為只有大型機才能運行通用的操作系統,小型機只有高山
仰止的份兒。至於用高級語言來寫操作系統,更是笑談。Ken爺爺自然不是池中物,於是
他和DMR怒了,在1969年到1970間用匯編在PDP-7上寫出了UNIX的第一個版本。他們並不
知道,一場轟轟烈烈的UNIX傳奇由此拉開了序幕。Ken爺爺在1971年又把Unix用C重寫,
於是C在隨後20年成就了不知多少豪傑的夢想和光榮。
Ken爺爺還有段佳話: 裝了UNIX的PDP-11最早被安裝在Bell Lab里供大家日常使用。很
快大家就發現Ken爺爺總能進入他們的帳戶,獲得最高許可權。Bell
Lab里的科學家都心比天高,當然被搞得郁悶無比。於是有高手怒了,跳出來分析了UNIX
代碼,找到後門,修改代碼,然後重新編譯了整個UNIX。就在大家都以為「這個世界清
凈了」的時候,他們發現Ken爺爺還是輕而易舉地拿到他們的帳戶許可權,百思不解後,只
好繼續郁悶。誰知道這一郁悶,就郁悶了14年,直到Ken爺爺道出個中緣由。原來,代碼
里的確有後門,但後門不在Unix代碼里,而在編譯Unix代碼的C編譯器里。每次C編譯器
編譯UNIX的代碼,就自動生成後門代碼。而整個Bell Lab的人,都是用Ken爺爺的C編譯
器。
(6)Rob Pike, AT&T Bell Lab前Member of Technical Staff ,現在google研究操作系
統 。羅伯伯是Unix的先驅,是貝爾實驗室最早和Ken Thompson以及Dennis M. Ritche開
發 Unix的猛人,UTF-8的設計人。他還在美國名嘴David
Letterman的晚間節目上露了一小臉,一臉憨厚地幫一胖子吹牛搞怪。讓偶佩服不已的
是,羅伯伯還是1980年奧運會射箭的銀牌得主。他還是個頗為厲害的業余天文學家,設
計的珈瑪射線望遠鏡差點被NASA用在太空梭上。他還是兩本經典,The Unix
Programming Environment 和 The Practice of Programming 的作者之一。如果初學者
想在編程方面精益求精,實在該好好讀讀這兩本書。它們都有中文版的說。羅伯伯還寫
出了Unix下第一個基於點陣圖的窗口系統,並且是著名的blit終端的作者。當然了,羅伯
伯還是號稱銳意革新的操作系統,Plan9,的主要作者。可惜的是,Plan9並沒有引起多
少人的注意。羅伯伯一怒之下,寫出了振聾發聵的雄文 Systems Software Research is
Irrelevant,痛斥當下系統開發的不思進取,固步自封的弊病。雖然這篇文章是羅伯伯
含忿出手,頗有偏激之詞,但確實道出了系統開發的無奈:開發周期越來越長,代價越
來越大,用戶被統一到少數幾個系統上,結果越來越多的活動是測量和修補,而真正的
革新越來越少。
就在羅伯伯郁悶之極的時候,google登門求賢來樂。如果說現在還有一家大眾公司在不
遺餘力地把系統開發推向極致的話,也就是google樂。隨便看看google的成果就知道
了。具有超強容錯和負載平衡能力的分布式文件系統GFS
(現在能夠用100,000台廉價PC搭起一個巨型分布系統,並且高效便宜地進行管理的系統
也不多哈),大規模機器學習系統(拼寫檢查,廣告匹配,拼音搜尋。。。哪個都很牛的
說),更不用說處理海量並行計算的各式google服務了。Rob在System Software
Research is Irrelevant里蕭瑟地說現在沒有人再關心系統研究的前沿成果了。想不到
他錯了,應為google關心。google網路了大批功成總是試圖吸取系統研究的最新成果。
想必Rob Pike在google很幸福。願他做出更棒的系統。
Dennis M. Ritchie, 既然Ken Thompson是我的偶像,新聞組上人稱DMR的Dennis M.
Ritchie自然也是,畢竟兩人共同締造了UNIX,而Dennis幾乎獨力把C搞大(當然,C的前
身是B,而B是Ken Thompson一手做出來的)。兩人1983年分享圖靈獎,是有史以來少數幾
個因工程項目得獎的工程師(本來是唯一的一對兒,但Alan Kay才因為SmallTalk得獎,
所以就成了唯二的樂) 一個人一生能做出一個卓越的系統已經不易,DMR的C和UNIX長盛
不衰近30年,至今生機勃勃,DMR此生可以無憾的說。
D爺爺也算有家學淵源:他老爸在AT&T貝爾實驗室工作了一輩子,並在電路設計方面卓有
成就,還出了本頗有影響的書The Design of Switching Circuits,據說在交換理論和
邏輯設計方面有獨到的論述。當然,D爺爺和他老爸是不同時代的人:他老爸的研究成
形於晶體管發明之前,而D爺爺的工作離了晶體管就玩兒不轉樂。:-D
不要看D爺爺搞出了C,其實他最愛的編程語言是Alef,在Plan9上運行,支持並行編程。
Alef的語法和C相似,但數據類型和執行方式都和C大大不同。說到語言,D爺爺對後來
人有非常中肯的建議:抱著學習的目的來開發你自己的語言,不要冀望於它被眾人接
受。這個建議不光對語言開發有用,也適用於其它大型系統的開發。別的不說,DMR後來
領導自己的團隊在1995年和1996分別推出了Plan9和Inferno操作系統,又用多少人知道
呢?其實,D爺爺當初也沒想過C會風行世界。他開發C的初衷和Eric S. Raymond
在Cathedral and Bazaar里闡述的一樣,就是要消除自己對現有工具的不爽之處。誰
知D爺爺無心插柳,C竟然受到眾多程序員的狂熱擁戴,連D爺爺自己都大惑不解。在一次
采訪中D爺爺說大概那是因為C的抽象程度碰巧既滿足了程序員的要求, 又容易實現。當
然C一度是Unix上的通用語言也是原因。但不管怎麼說,D爺爺對編程語言出色的審美意
識奠定了C廣為流傳的基礎。
最後八卦一下。D爺爺的業余愛好和NBA大牛Karl Malone一樣:開卡車。不過D爺爺更喜
歡開NASCAR,而KM獨愛巨無霸。J D爺爺自稱心中不供偶像,如果一定要說一個,那就
是Ken Thompson了。現在Ken爺爺退休當飛機教練去了,而D爺爺當了貝爾實驗室系統開
發部的頭,整日忙於開支票。他倆合作20年,屢屢創造歷史。這段令人神往的佳話,也
就長留你我心中樂。
P.S., 很多人都以為Brian W. Kernighan是C的作者。其實BWK只是寫了那本經典K&R C。
據D爺爺說,他,Ken, 和Kernighan三人中,Kernighan最能寫文章,他次之,而Ken寫
得最少;但說到編程,Ken爺爺才是當之無愧的老大。
Edsger Wybe Dijkstra, 對,就是E.W. Dijkstra. 一提到EWD,很多人就會想起找最短
路徑的Dijkstra Algorithm,就好像一提到Sir. Tony Hoare,就想起Quick Sort一樣。
其實這些個演算法不過是兩個牛人在他們職業生涯中最瑣碎的貢獻。比如Dijkstra演算法,
無非是戴爺爺在1956年為了展示新計算機
ARMAC的計算能力,初試身手的成果,屬於他的演算法處女作。據戴爺爺自述,他搞出最
短路徑演算法的時候連紙筆都沒用。當時他和他老婆在阿姆斯特丹一家咖啡廳的陽台上曬
太陽喝咖啡,突然就把這個演算法想出來樂。而且當時的演算法研究還比較原始,牛人們忙
著用計算機搞數值計算,對離散演算法不屑一顧。那時連一個象樣的專注於離散演算法的專
業期刊都沒有。戴爺爺於是推遲發表這個演算法。直到1959年,他才把這個演算法發表
在Numerische Mathematik的創刊號上,權為捧場。:-)
EWD在多個領域牛氣沖天,端的是理論和編程兩手硬的高手。只不過他的很多工作比較
深刻,學校的老先生們覺得本科生接受不了,不給本科生講而已。
戴爺爺大概因為最短路徑演算法一戰成名,於是有人請他參加另一台計算機X1的設計工
作,並且把設計實時中斷系統的任務派給了他。現在看來實時中斷也許不算什麼,但要
知到,X1前根本就沒有實時中斷的概念。實現它簡直就是一場豪賭。戴爺爺起初還不情
願,但經不住項目負責人Bram和Carel的輪番 「吹捧」:我們知道實時中斷讓您工作變
得非常困難,但象您這樣的牛人肯定能做出來的說。結果戴爺爺被糖衣炮彈徹底擊穿,
接下了這個燙手山芋。兩三年後,他不僅搞出了實時中斷,還圍繞這個寫出了自己的博
士論文,順利戴上博士帽。
讓戴爺爺真正成名立萬的還是在X1上開發的Algo60,最早的高級語言之一。戴爺爺沒日
沒夜地工作了8個月,就搞出了Algo60,也因此獲得了 1972年的圖靈獎。因為Algo60,
戴爺爺發表了一篇石破天驚的文章:Recursive
Programming,於是人們才知道,原來高級語言也可以高效地實現遞歸,原來從此以後,
所有程序員都不可避免地和戴爺爺發明的一個詞(應該說是概念)打交道:堆棧。
而且Algo60還讓戴爺爺深入地思考多道程序設計的問題,最終發明了每個系統程序員
都繞不開的概念:semaphore。當然,戴爺爺總是把他發明的概念嚴格形式化,極具科
學家本色的說。和這些成就想比,他提出的吃飯的哲學家問題,也就沒什麼好說的了。
說來好笑,當時的大學(忘了哪所了)還是覺得戴爺爺沒有受過正統的數學訓練,也不是
專門搞數值分析的,所以最後不太情願地給了他一個教職。這種小挫折並不能妨礙象戴
爺爺這樣的牛人創造歷史。他一邊教數值分析(:-D) ,一邊開始開發一個新的操作系
統,並培養計算機科學家。幾年後,THE Multiprogramming
System橫空出世。THE是第一個支持鬆散耦合,顯式同步的進程並由此使得嚴格證明系統
沒有死鎖變得容易的操作系統。可惜戴爺爺任職的系不識貨,還強行解散了他的研究小
組(1972年戴爺爺給他的系主任說他得了圖靈獎,系主任的第一反應是你們搞計算機就
喜歡亂發獎)。這讓戴爺爺相當郁悶,得了抑鬱症。在極度郁悶之中,戴爺爺決定用寫作
來治療自己的抑鬱症。於是經典就誕生樂:Notes on Structured Programming。戴爺爺
從此被尊為結構化編程的奠基人,而且他的抑鬱症也被治好樂。
EWD太牛,結果他的故事也太多。先到這里吧。1973起,他的故事就在美國發生了。
Anders Hejlsberg,微軟.NET的首席架構師,編程語言設計和實現的頂尖高手。他一手
做出了 Turbo Pascal, 也是Delphi, J++(尤其是WFC),C#, 和.NET的主要作者。這些作
品的名字足以為他立傳。作為一個程序員,我在這樣的大師面前實在無語。生子當
如Anders的說。李維的<>里已詳細講述了Anders的傳奇故事,我就不用費舌了:
http: //java.mblogger.cn/iexploiter/posts/1505.aspx
Artima上有Anders談C#的系列訪談。MSDN上有一段Anders導游的錄像 。有興趣可以去看
看牛人的豐采。
Ⅲ 程序員需要學什麼
程序員可以分為很多種,像Unix程序員、Windows程序員,或是C++程序員、Delphi程序員,
1. 嘉華職業教育程序員首先學的就是各種腳本,asp、jsp、php等等,這些東西大同小異,基本可以舉一反三。
2. 資料庫,
資料庫連接池和事務機制是非常重要的,應該知道資料庫用什麼來保證事務,連接池如何實現,這些都是商務應用的關鍵。譬如,目前很多的應用服務,像weblogic、MTS,都包含事務處理,可以說好的事務處理決定了他們的競爭力。
3. 組件技術
現在的Web應用推動了組件技術的發展。以前,從老式的靜態庫、動態庫(dll),到現在的COM/DCOM,再到正在興起中的Web Service;從單機調用,到基於內部網的分布式調用,到現在基於Internet的分布式計算。現在的應用都是基於組件的n層結構,最明顯的就是COM和JavaBean。
這些東西體現了軟體架構的發展,以前是基於單機的應用,然後是C/S結構,到現在的B/S結構。程序員一定要注意軟體技術的發展趨勢,只有這樣,才不至於被淹沒在技術的洪流中。
4. 網路技術
這可以說是程序員最應該懂得東西。起碼,應該知道伺服器的機制,要明白Http協議。就拿IIS來說,要懂得web應用程序運行的進程安全和IIS的關系,懂得ISApi的作用。
如果有時間,就看看TCP/IP,看看winsock,也可以到嘉華職業教育申請免費聽課。
我所說的這些都是基於微軟技術下的東西,其他的像Java方面的東西都可以對照參考,就不多說了,這也是我這幾年來的一些心得。總之,學海無涯,每當接觸一些新的東西,就會發現自己的不足,同時也就覺得基礎知識的重要。說實話,像我們做應用開發,用別人的東西,在現在這種情況下,新的技術層出不窮,稍不注意就會被甩開,這也是沒有辦法的事情。
.
.
.
.
.
.
.
.
..
.
..
.
.
.
.
.
喜歡陽光的人,喜歡坐在冬日的太陽底下的躺椅上,眯著眼兒,看一會兒閑書,喝一壺清茶,吃幾粒瓜子兒,掰下一塊兒豆腐乾,放到身邊也眯著眼兒的老貓的嘴裡。
喜歡陽光的人,喜歡坐在秋日的太陽底下的葡萄架下,讓陽光透過葡萄葉子,斑斑點點的灑落滿身,讀一闕兒秋詞,嘆一句兒天涼好個秋,撿一片兒落葉,思一會兒寂寥。
喜歡陽光的人,喜歡坐在夏日傍晚的河灘上,對著半江瑟瑟半江紅的河面,聽漁舟晚唱,看村子裡裊裊升起的炊煙,思戀媽媽做的晚飯。
喜歡陽光的人,喜歡春日裡躺在陽光下的綠草坪上,看白雲朵朵游弋在蔚藍的天空,聽著小孩子們嬉鬧的歡笑聲,感受著嫩嫩的小草的柔和的觸摸,心裡軟軟的,酥酥的,盪漾開了的是對於陽光的熱愛,對於生活的感悟。
思念的風箏斷了線,
隨著風塵淡淡飄遠。
看著又是一年秋瑟,
你的感覺還是那麼單薄。
那些年最喜歡白天,
白天,可以天天坐在你的旁邊。
這些年最喜歡黑夜,
夢里,總是在重復離你不遠的那些年。
你是一隻自由鳥,
別了我這一棵梧桐樹,還有一片雲與天。
我是一棵梧桐木,
沒了你這一隻自由鳥,剩下的還有什麼我會去要?
老照片看了一遍又一遍,
總是勾勒著你現在臉上的凹陷。
你的感覺像一陣風一樣襲來,
捉摸不到行蹤,又冰冷的刺穿我假裝的不難過。
你知道我多想,
多想在你的面前揭開我的心事,也讓你明白我的心願。
你知道我有多想,
多想坐在傷心的你旁邊,也讓你體會我的溫暖。
你知道我到底有多想,
多想在你無聊的時候和你聊天,也好讓我在你的人生中也有兩個人那樣的時光。
可到了現在,我有多可憐,
只有孤單的時候去想你,越是想你就越是孤單。
我也許只是你心靈書上的一個逗號點,
也曾你讓你心裡有過那麼一次停頓,之後便消失不見。
就等一切的歲月都已寫完,而你再去翻看這一本人生時,
我可不可以求求你,不要把刻著我名字的這個小點輕輕淡淡的忽略。
因為它是你留給我的念,也是我留給你的戀。
秸梗花,禰曾有笑過,是否記得煙花綻放照亮夜空時;秸梗花,禰曾哭過,是否記得滿地的殘葉瘦梗沒人憐;秸梗花,禰曾有憂過,是否記得那年月圓時,禰是對月空吟的遊子。禰喜,禰憂,禰愁,禰的一顰一笑牽於心。流年間,恍如梨花千樹一夜放,鬢白紅瘦斷衷腸。
十八歲的流沙飄散在空中,隨風而逝。淡淡紫色秸梗花曾是十八年間唯一的信念。自從與秸梗花相遇,到相知。每一秒都洋溢著紫色的幸福。
十八歲時,我只守這我的這一朵秸梗花。那時有個約定叫十點之約;那時有個夢叫畢業後就牽手;那時有條路叫順道;那時…
我未曾給過繁華,也未曾給過錦帛,更無從有過快樂時光。因此我是不負責任的。所擁有的燦爛也只是如煙花綻放在夜空的一瞬。禰笑,如孩子般爛漫。我卻不安,因為我怕我沒有力量去保護這朵淡淡紫色的秸梗花。禰曾願與我邂逅著每一個心情,訴說每一份感觸。我曾願靜靜地傾聽每一種聲音,也會為禰說:這人怎麼能這樣…
時間像是倘在手中的水,無論怎樣緊握還是從指間一點點的流走。唯一不變的是對秸梗花的淡淡情愫。當時針敲響零點時,十八歲也隨著昨天一起逝去了,消失在這世間無處可尋。突然心好像空了,像是被偷走什麼重要的東西。誠恐,彷徨,不安如瘋長的藤蔓,爬滿了心房。是不是十八歲的情愫也如落葉般散去呢?沒有,桔梗的情愫並沒有消失,而是留在回憶里了,這一輩子也不會丟了。心這才微微地平靜了些。是啊!一生一世就夠了;來世可以相知相遇,不一定要相愛;可以做肝膽相照的朋友,不一定要耳鬢廝磨;可以成為至愛的親人,不一定要愛恨間糾結。依舊懷著對你淡淡的紫色情愫。至今我仍珍惜著,氤氳的情愫,如同葳蕤,一絲絲蕭瑟也與此情顯得格格不入,更是在氤氳後透徹著成熟的滋味。相信這一切便會是永恆,無可厚非。然,所有永恆在時間的消磨之後變得不堪一擊。再也經不起考驗,一碰就碎。對那淡淡的紫色情愫曾未變過,只是被現實給脫垮了。朋友對我說了句:蝶戀花。蝶為花醉,花卻隨風飛。風過無痕,但給我留下的是歲月的斑駁,十八歲的烙印。我知道這些不算什麼,但真的很難受,哽咽著。後來的後來我才明白最痛的痛不是不珍惜而錯過,而是珍惜了,依然失去。
「桃花依舊笑春風,人面不知何處去。」生活要繼續,但已是沒有了靈魂,一切如同行屍走肉般活著,沒有任何意義。那桔梗花依然再綻放著,可已是物是人非。氤氳早已灰飛煙滅,芬芳馥郁片刻化為灼熱刺傷瞳孔。低吟淺唱:玉容寂寞淚闌干,梨花一枝春帶雨。十八歲的年輪輾到十九歲,車輪下的桔梗花依舊散發出淡淡的幽香。我不斷的提醒自己:過去固然重要,但不是唯一,總是活在過去的人註定會失敗。這句話我是在日記里看到的,時間也久遠了,也記不清是誰說的了。懂了,不會有永恆不變的愛,地久天長的那是親情,是血脈相連的責任。所以我舉行了葬禮,把那份桔梗的情愫深深的埋葬在回憶的盡頭。或許這正如桔梗花的花語一樣吧,無望的愛!
已逝的十八歲,讓一切變得蒼白了許多。半段糾結的桔梗情,忽如在耳畔誓說著不變的諾言。幽幽紫色的情愫,磨滅不了,更是無可奈何。
Ⅳ 現在學java好還是.net好
在很多網站上,網友都會問一個相同的問題,到底是學Java還是.net,個有個的見解。
自從.Net問世以來,程序員都很關心的一個問題是「該學Java或.NET」。我也在掙扎,該「該繼續Java的研究,或者該開始准備培養.NET的知識」。
最好是能兩者兼顧,但是每個人的時間都很有限,想要兼顧兩者,其實不太容易。投入在.NET的時間越多,所能花費在Java的時間自然就少了,反之亦然。在信息爆炸的時代,重要的不是信息的取得,而是信息的抉擇。信息太多,時間太少,如果不能慎選適合的技術,只會平白浪費許多時間,斫喪自己的競爭力。
一 開發效率方面:
對我們來說選擇開發工具的最需要衡量的就是這一因素:
表現層開發:J2EE這方面非常欠缺,把這一任務丟給了應用伺服器廠商和編程人員,不象.Net擁有很牛的.Net Studio,不過Jbuilder 6已經出來了,支持EJB2.0 也不算太落後,但一直沒有解決方案的就是頁面用戶控制項(當然Turbine的Action Event也算一種),缺乏可視化設計和Servlet應用程序框架生成。我期望的一種方式是具有象.Net Studio一樣的可以所見即所得的編輯模板(Template),綁定用戶按鈕事件處理。目前可以通過javascript庫,模板庫及宏庫略微緩解一下Servlet的開發。ASP .Net和Servlet都支持動態更新表現層。
二 XML支持能力:
.Net一直叫囂的就是我集成了XML和Web Service,但JDK1.4也搞出了XML規范,這方面已經差不多了,不過.Net的易用性好得很,而且就此一家,程序員不必費心思選組件或產品。
在採用XML和XSLT的開發模式中:微軟的SQL Server 2000直接提供了HTTP Query到XML數據的功能,不過我用dbxml也能做得這一點嘛,還適用於多數的主流RDBMS,更牛!這種開發模式應該是未來的方向。
三 理解的兩者本質
Java是綁定於一種語言的跨系統的平台,是一個有多家供應商提供競爭性產品的規范。
Ⅳ 如何成為一個程序員
1、 程序員意味著要編程序。(如果你僅僅想得到一份高薪水的工作,喝喝咖啡就等老闆發薪水,我奉勸你還是另找一份更合適的工作,譬如練攤,真的,兄弟,這份工作不適合你)
2、你是學文的還是學理的,編程序也許需要浪漫,但更需要邏輯和嚴謹。(說坦白點就是,在你沒有找到樂趣以前,它很枯燥)
3、你有對新技術追求的熱情嗎?你有刨根問底的探索精神嗎?(熱情絕對是最重要的!你仔細思考一下自己的性格適合當程序員嗎?)
4、當程序員決不是什麼好差事,時刻需要學習,需要思考。(直到你成為那個可以引導別人去學習和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)
5、程序員的未來很迷茫。(但我認為關鍵看你自己!我希望你是一個有追求的人,不僅僅是混碗飯吃。因為真正的樂趣在於創造;如果你能改變軟體業的歷史,那才是英雄;不想成為Bill Gates,不想成為Dennis Ritchie和 Bjarne Stroustrup,我會說你沒有追求。有個關於程序員未來的笑話,也許你還沒聽過,你該聽一聽,摘抄如下:
一個程序員對自己的未來很迷茫,於是去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問Lippman,他現在領導的程序員的隊伍可能是地球上最大的」
於是他去問Lippman。
Lippman說「程序員的未來就是駕馭程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問Gates,他現在所擁有的財產可能是地球上最多的」
於是他去問Gates。
Gates說「程序員的未來就是榨取程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問侯捷,他寫的計算機書的讀者可能是地球上最多的」
於是他去問侯捷。
侯捷說「程序員的未來就是誘惑程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝搖搖頭「唉,我的孩子,你還是別當程序員了」)
6、當程序員還是很有樂趣的。(當你學到新知識時,當你有新的思想見解時,當你有新的產品問世時,和知己探討你的成果時…我問你,覺得這些是樂趣嗎?)
7、當程序員不易也不難。(世間事有難易乎?為之…;不為…。你有決心和信心嗎?)
8、你真的要當程序員?是你自己的想法?
9、你捨得花錢買書嗎?(讀好書絕對是學習編程的最佳捷徑。你一定會說,現在電腦書籍真他XX的貴,沒法子,誰讓知識和技術在人家的腦袋,在人家的書里呢;等你寫書時可以把價格定低一點,記著還有好多沒錢但想買書的兄弟很困難呀。要捨得買書,買好書,不好的的書不如不讀,其害大於其益,關於買什麼書,你可以問高手或看候捷的書評;准備一個小本子記錄你想買的書的名字,逛書店時看看,如果好就買下,記住要讀,別光買不看。) 10、我告訴你,程序就是:任何有目的的、預想好的動作序列,它是一種軟體。
11、編程序就是編寫程序。
12、你想好了嗎?(如果你想好了還是決定要當程序員,可以繼續往下讀;否則,你可以繼續尋找別的出路了。)
(三) 一個程序員應該具備的基礎知識和概念
1、計算機是有什麼組成的,CPU是什麼東西,其工作原理是什麼。(對於這些以及下面將要提到的概念我不會告訴你什麼答案,你可以看相應的教材,關於教材我會在下一部分詳述,記住理解最重要!)
2、機器語言和微指令集的概念。
3、程序的概念。
4、匯編語言是低級語言但不是機器語言。
5、高級語言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等;如果你是中國軟體業的英雄,你也寫一門語言,最好不用英語) 6、編譯程序和解釋程序的概念和其原理。(編譯器是高手和專家編寫的)
7、HTML、XML等是標識性語言。
8、Prolog是人工智慧語言。
9、操作系統OS的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,Linux,等等都是OS,還有一些實時OS,嵌入OS,編這些的絕對是高手)
10、Windows編程說白了就是Windows API的調用。(中國的程序員很多隻是會編windows程序,用的是VB,我的建議是這些程序員頂多隻是低級編碼員,我稱其是coder)
11、VC++、VB、BC、BCB、Delphi、VF等都只是編程的工具和環境,不是編程語言。
12、面向結構的設計概念。
13、面向對象的概念。(好好理解,兄弟,這個東西還是很重要的)
14、軟體工程的概念和原理。(如果你想當老總就需要好好研究了,系統分析員比編碼員要高一個等級,薪水也高喲)
15、資料庫的概念。(要熟悉一些著名的資料庫系統和語言的名字,如Orcle,SQL,DB2,DyBase等)
16、了解網路概念。
17、了解多媒體概念。
18、熟悉和掌握數據結構和基本演算法。
19、是不是要求太高了,別著急慢慢來,進步在不知不覺之中。(一旦開始學習,一個月以後你就會有一個基本的概念;兩個月以後你就會感覺自己有了全面的基礎知識;當你知道編程序是怎麼回事時,說明你已經入門了。也有很多人編了很多年程序還沒有入門呢,你不會希望自己步其後塵吧。要有信心和耐心。沉不住氣怎麼能成大事?!)
(四) 教材推薦
――-推薦的教材主要還是針對概念來的,最好選用名校的教學用書。
1、《計算機組成原理》(熟悉)
2、《數據結構》(掌握)
3、《操作系統》(了解->熟悉)
4、《The C language》(掌握)
5、《編譯原理》(了解原理)
6、《匯編語言》(了解)
7、《計算機網路》(了解)
8、《軟體工程》(了解)
9、《關系資料庫》(熟悉)
10、《The C++Languege 》(掌握)
11、《面向對象設計》(掌握;結合C++學習)
(五)一些經驗和體會
1、真正的程序員用C++;(一位專家說的)
2、動手去編程序;
3、動腦去思考;
4、要有良好的編程風格;
5、讀書,讀好書,盡量讀原版書!(我反復強調這一點,讀書要有選擇,堅持讀好書,名家出的經典書,不要浪費實踐在一些粗製濫造的書上面;堅持博覽群書)
6、有自己的學習計劃;
7、總結自己的經驗教訓;(准備一個筆記本,記錄錯誤和心得)
8、不要怕學新東西;
9、要有軟體工程的思想;
10、善於發現問題,然後去尋找答案;
11、向高手請教;(要虛心直到你成為高手)
12、和同行交流;(不善於交流肯定不行)
13、懂得軟體的實質,不要被千變萬化的表象所迷惑;
14、真正要學慣用的是編程語言和方法,不是什麼庫,什麼類,什麼工具;(學用那些什麼庫都比較簡單,但光會這些庫,我覺得還遠遠不夠)
15、學習wiodows編程主要是學習windows OS和win32 API;
16、有空了解一下嵌入式開發;
17、有空了解一下PDA軟體開發;
18、了解一下.NET框架和C#語言,也許它是你新的衣食父母;
19、要有耐心,不要作浮躁的人; 20、對程序加註釋,並保留你的老程序;
21、學到的東西越多,了解的越多,你就越接近專家;
22、有空去逛逛CSDN,那裡有你很多知己;
23、要有信心成為一個優秀的程序;
(六)一些好書的推薦
1、《The C Programming language》 (Keinighan & Dennis Ritchie 1988)
2、《The C++ Programming Languague》(Bjarne Stroustrup 1997)
3、《Inside The C++ Object Model》 (lippmans)
4、《Effective C++》 (同上)
5、《More Effective C++》 (同上)
6、《Exceptional c++》
7、《C++面向對象高效編程》
8、《設計模式》
9、《Thinking In C++》
10、《The Standard C++ Bible》(一般推薦)
11、《The Art of Computer Programming 》
12、《Programming Windows》 (Charles Petzold)
13、《VC++5.0技術內幕》
14、《MFC 深入淺出》
15、《軟體需求》
16、《Advanced Windows》
17、《C++ primer》
18、《win32程序員參考手冊》
19、《用TCP/IP進行網際互連》
20、《COM 本質論》
(七)學習計劃
――-這個學習計劃是我個人定的,也共享給大家參考一下,共同進步吧。 1、《計算機組成原理》
2、《操作系統》
3、《數據結構》
4、《匯編語言》
5、《 C 》
6、《 C++ 》
7、《VC 技術內幕》
8、《Programming Windows》
9、《深入淺出MFC》
10、《Advanced Windows》
11、《Inside The C++ Object Model》
12、《Thinking in C++》
13、《Effective C++》
14、資料庫
15、網路
16、嵌入式OS和編程
17、硬體單片機
18、.NET和C#
19、軟體工程
20、UNIX和Linux
Ⅵ LINUX和UNIX系統哪個好,分別有什麼優勢,有人知道嗎
可以看看下面的對比:
UNIX是在posix之前就有的,Linux是在posix出來之後有的,最初的Linux是仿製的minix,UNIX和Linux很多軟體都是相通的,Linux是UNIX的一個分支,別的分支還有freebsd等,UNIX是命令行下的系統,Linux是可以算加了窗體管理的系統。
UNIX是一個功能強大、性能全面的多用戶、多任務操作系統,可以應用從巨型計算機到普通PC機等多種不同的平台上,是應用面最廣、影響力最大的操作系統。
Linux是一種外觀和性能與UNIX相同或更好的操作系統,但,Linux不源於任何版本的UNIX的源代碼,並不是UNIX,而是一個類似於UNIX的產品。
從發展的背景看,Linux是從UNIX發展而來的。這種繼承使得Linux的用戶能大大地從UNIX團體貢獻中獲利。因為UNIX是世界上使用最普遍、發展最成熟的操作系統,它是七十年代中期發展起來的微機和巨型機的多任務系統,雖然有時介面比較混亂,並缺少相對集中的標准,但還是發展壯大成為了最廣泛使用的操作系統之一。UNIX的用戶可以從很多方面得到支持和幫助。因此,Linux做為UNIX的一個克隆,同樣會得到相應的支持和幫助,直接擁有UNIX在用戶中建立的牢固的地位。
從使用費用上看,UNIX與Linux的區別在於Linux是一種開放、免費的操作系統,而UNIX系統基本上需要有償使用。這一區別使得我們能夠不用花錢就能得到很多Linux的版本以及為其開發的應用軟體。當我們訪問Internet時,會發現幾乎所有可用的自由軟體都能夠運行在Linux系統上。並且,一大批世界級的優秀的程序員正在努力開發和提供基於Linux的共享軟體。 但是,也正是由於Linux源碼可以開放的緣故,所以現在真正的商業應用尚未開始,原因很簡單:任何人都可以了解其內部最薄弱的環節,都可以實施侵襲和攻擊。
從產品方面看,UNIX和Linux都是操作系統的名稱.但UNIX這四個字母除了是操作系統名稱外,還作為商標歸SCO所有.Linux商業化的有RedHat Linux 、SuSe Linux、slakeware Linux、國內的紅旗等,還有Turbo Linux.UNIX主要有Sun 的Solaris、IBM 的AIX,HP的HP-UX,以及x86平台的的SCO UNIX/UNIXwareUNIX多數是硬體廠商針對自己的硬體平台的操作系統,主要與CPU等有關,如Sun 的Solaris作為商用,定位在其使用SPARC/SPARCII的CPU的工作站及伺服器上,當然Solaris也有x86的版本,而Linux也有其於RISC的版本。
至於價格,個人使用的Linux基本上算是免費的,不同的Linux發行廠商針對企業級應用在基本的系統上有些優化,如RedHat的Enterprise產品,這些產品包括支持服務是比較貴的。像IBM/HP/SUN的UNIX,因為主要是針對其硬體平台,所以操作系統通常在設備價格中。
在性能上,Linux沒有UNIX那麼全面,但基本上對個人用戶和小型應用來說是綽綽有餘.通常情況下,如果你有機會使用到UNIX環境,比如銀行、電信部門,那一般都是固定機型的UNIX。比如電信里SUN的居多,民航里HP的居多,銀行里IBM的居多。學習中,不同的UNIX命令集有些不同。
——引自紅黑聯盟
作者「sxmalinhu」
Ⅶ 為什麼程序員都喜歡Linux操作系統
著作權歸作者所有。
商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
作者:鍾宇騰
鏈接:
來源:知乎
是的,因為Linux目前為止,也沒有為「普通」用戶真正的優化過
要讓「普通」用戶接受Linux,除了弄一個像Windows或Mac OS一樣的圖形界面,沒有其它辦法
你不可能說服用戶去嘗試使用Terminal,普通用戶理你才怪呢。不使用Terminal,Linux系統的優勢為零,殘廢一樣的圖形界面根本無法獲得普通用戶的青睞,只能說是「可用」。
而作為程序員,學習和探索是一項最基本的能力
Linux的Terminal和開發環境、文件組織結構都可以大大的提高你的開發效率,尤其是Shell的命令、管道等等功能,把命令組合起來可以發揮讓人意想不到的效果,也大大地提高你的工作效率
而要程序員去掌握Linux的用法將是非常容易的,因為程序員本身就有讀懂文檔的能力,相對於普通用戶來說門檻太低了
但是你不能要求普通用戶去接受Linux,至少現在不可能,因為Linux沒有任何一處是為了普通用戶著想的,普通用戶去讀文檔將會讓他們感覺到非常地苦惱和沮喪
Linux本身沒有問題,因為它只是一個內核,普通用戶能不能接受它那是GUI的問題,和配套軟體的問題
同樣是UNIX系,Mac OS X從BSD走出來之後,在這之上構建了一個絢麗的圖形系統,但是其內核依然是BSD,也可以使用各種CLI工具,所以Mac OS X幾乎就是喜歡Linux的程序員們的最終歸宿
而Mac OS X的圖形界面使得普通用戶的使用門檻降低,普通用戶也會喜歡使用它的
所以Mac OS X不就是一個很好的例子么?Linux般的開發體驗+普通用戶喜愛的圖形界面的完美結合。其實Linux陣營目前也在努力,Ubuntu現在就是想讓Linux系統更親近用戶,希望它能成功吧