當(dāng)前位置:
首頁 >
程序员成功之路 ——The road ahead for programmer(转引)
發(fā)布時間:2025/7/14
30
豆豆
生活随笔
收集整理的這篇文章主要介紹了
程序员成功之路 ——The road ahead for programmer(转引)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、我很羨慕在座的各位同學(xué),因?yàn)槟銈兪侵袊磥淼某绦騿T,而我不是,我一直很遺憾。
比 爾蓋茨曾經(jīng)寫過一本書叫做《未來之路》The?road?ahead,?那么今天我選擇這樣一個題目, the?road?ahead?for?programmer,?程序員的未來之路,也就是程序員的成功之路,希望大家未來也能夠擁有像比爾蓋茨一樣的智 慧的頭腦和開一家像微軟一樣的公司。俗話說:心有多大,人生的舞臺就有多大!
二、最近看了幾篇csdn上的漫漫人生路專輯,很有感觸,這里摘抄了幾句,非常愿意和大家分享,?優(yōu)秀程序員的心里話:
編程的原因是喜歡,不是為了別的。?
從摸上電腦的那一刻,我就知道,這才是我的世界。
我一心一意地想作個程序員,盡管知道很累。
人真的不能輕言放棄,否則,失去的永遠(yuǎn)無法挽回!
生命是一種長期而持續(xù)的累積過程?
所有成功的人都有一個不變的黃金法則:?積累!與?堅(jiān)持!
大家聽了這些話,不知道是怎樣的想法呢?
提問,(1)你以前有沒有讀過這樣的文章或有沒有程序員跟你說過這樣的感受?
(2)你怎樣看待程序員這個職業(yè)?你有這種感覺嗎?
上面的話其實(shí)都在說明一個道理,只有全身心地投入,寫程序才會有意思,才會體會到其中的樂趣。
電 腦的世界其實(shí)很大,程序員是活在自己想象的王國里。你可以想象到電腦里細(xì)微到每一個字節(jié)、每一個比特位的東西。通過電腦可以實(shí)現(xiàn)你的設(shè)想,解決你的問題。 電腦遠(yuǎn)沒有人那么復(fù)雜,如果程序?qū)懙煤?#xff0c;你就可以和電腦處好關(guān)系,就可以指揮電腦干你想干的事。每每你坐在電腦面前,這個時候你是十足的主宰。
理想和夢想,比爾蓋茨自從見到了計(jì)算機(jī)這個東西,就想象有一天個人計(jì)算機(jī)將是每一部辦公桌面系統(tǒng)以及每一家庭的必備的工具,并為這一信念所指引,開始為個人計(jì)算機(jī)開發(fā)軟件。
三、程序人生:可以把程序作為你的人生,也可以把你的人生當(dāng)作程序來設(shè)計(jì)。
你 的父母把你生下來,你的身體就是一臺計(jì)算機(jī),而上面運(yùn)行的軟件就是你的思想,這個軟件版本高低功能的強(qiáng)弱,就看你的思想境界。思想軟件需要你自己慢慢地去 編寫,可能父母教給了你最基本的語言,但是其他的高級語言和技能需要你長大以后要自己去學(xué)習(xí),你能精通幾門語言是你的本事。?
第一步,隨著你漸漸 的長大,你開始有了需求,各種各樣的需求,一開始你只是想要一塊巧克力糖,一個新書包,一件新衣服,一輛嶄新的自行車;后來你可能就想要一棟房子、一輛好 車,你開始追求高質(zhì)量的的物質(zhì)生活、精神生活,你追求成功與快樂、還要求更好的發(fā)展,希望得到別人的尊敬,過一份有尊嚴(yán)的生活。需求很多很多,仔細(xì)分析你 的需求,想想你最想要什么?怎樣去實(shí)現(xiàn)它。
第二步,是很關(guān)鍵的一步,你要設(shè)計(jì)自己的人生程序。你首先要概要設(shè)計(jì),你希望將來成為一個怎樣的人,分 幾大步實(shí)現(xiàn)這個目標(biāo),少年、青年、成年、中年、老年。可能有求學(xué)程序、出國程序、戀愛程序、求職程序、事業(yè)程序、升職程序、結(jié)婚程序等等。概要設(shè)計(jì)后還要 進(jìn)行詳細(xì)設(shè)計(jì),你每個月每個星期做些什么,每個小模塊里面有每個階段的小的目標(biāo),小程序,這個星期讀完一本書,下個月參加考試,然后寫一篇論文等等,雖然 說人生不可能完全規(guī)劃出來,但是經(jīng)過設(shè)計(jì)的人生遠(yuǎn)遠(yuǎn)比沒有設(shè)計(jì)過的人有更有意義,好好的設(shè)計(jì)你的人生吧。
第三步,是編碼和測試,你大多數(shù)時間都在 不停的編碼,同時還要不停的測試,編碼的過程十分的辛苦,需要耐心和思考,你會覺得苦悶、煩躁不安、寂寞、痛苦、迷茫與無奈,但有些時候又十分開心、興奮 虛榮、驕傲和滿足。編碼的過程充分體現(xiàn)了人生瑣碎與不如意和艱難,bug永遠(yuǎn)存在,人生也在不斷的犯錯誤和不斷地總結(jié)。就像一個程序不能編寫得完美一樣, 人生也是不完美的,你不可能處處要求完美,很多地方需要同別人交流和互相借鑒。測試可以分為內(nèi)部測試和外部測試,經(jīng)過測試,你發(fā)現(xiàn)自己的錯誤,并想方設(shè)法 改正它,然后成長起來。
第五步是集成和軟件發(fā)版,你的設(shè)計(jì)的人生軟件要拿到市場上去賣,能不能賣上好價錢,要看軟件的功能和特色,性價比、看軟件 的包裝,你有沒有高人一等的杰出才能,你有沒有于其它軟件相比的競爭力,軟件的價值,也就是你人生的價值。當(dāng)然你可能是一個很高尚的人,編一些免費(fèi)的軟 件,不做比爾蓋茨,做linus?torvols也挺好的,在自由的空氣在互聯(lián)網(wǎng)上空飄蕩。看你自己的選擇!不過這個世界好像更歡迎前者,linus住在 擁擠的民用公寓里。而比爾蓋茨住在自己像皇宮一樣的豪宅里面當(dāng)?shù)弁?#xff0c;你首先要解決生存的問題,然后再去考慮其他得東東。
好好的譜寫你的人生程序,人這一輩子真是要追求點(diǎn)什么才有意義!在譜寫你的人生程序之前,首先看一看你的前輩們是怎樣譜寫他們的成功人生的!(慢一點(diǎn)兒)
四、國外著名程序員
馮•諾伊曼和阿蘭•圖靈計(jì)算機(jī)之父,圖靈機(jī)是現(xiàn)代通用計(jì)算機(jī)的原型
小托馬斯•沃森,藍(lán)色巨人IBM創(chuàng)始人,迅速發(fā)展起來,40%的利潤率?
史蒂夫•喬布斯,蘋果公司的總裁?
肖克利博士因?qū)⑵湟簧I(xiàn)給其鐘愛的晶體管事業(yè)而名垂計(jì)算機(jī)史。
蒂姆•貝納斯-李的最大貢獻(xiàn)當(dāng)屬發(fā)明了WWW(Word?Wide?Web,萬維網(wǎng))。他也因此而以“Web之父”及大多數(shù)瀏覽器標(biāo)準(zhǔn)的監(jiān)護(hù)人而聞名于世
最 早干起計(jì)算機(jī)軟件編程的不是蓋茨,而是他的朋友和競爭對手加里•基爾代爾。?作為最偉大的程序設(shè)計(jì)員和設(shè)計(jì)家之一,他搞程序主要是出 于縝密思維的雅興,而不是為了賺錢。當(dāng)時他開發(fā)了一個CP/M操作系統(tǒng),比爾蓋茨也自己寫了一個dos操作系統(tǒng),但是很不好用,遠(yuǎn)遠(yuǎn)比不上cp/m,所以 ibm公司就想把基爾的操作系統(tǒng)買下來,比爾蓋茨這個時后表現(xiàn)出極大的熱情,主動代表基爾去談,于是談來談去就把基爾的操作系統(tǒng)談成了自己的東西,人們都 說,使用操作系統(tǒng)的是人都欠基爾一份情,而蓋茨欠得最多。?
比如蓋茨賴以揚(yáng)名立身并最終發(fā)家致富的Basic語言,是60年代達(dá)特默斯學(xué)院的兩位 教授創(chuàng)造的。而微軟起飛的翅膀DOS,更是基爾代爾的“臨摹品”?。Windows用的是蘋果的技術(shù),Excel其實(shí)是Lotus1-2-3的復(fù)制品, Web瀏覽器也是借助網(wǎng)景的創(chuàng)意開發(fā)的,Word純粹是WordStar、WordPerfect的跟風(fēng)......?
微軟屢屢實(shí)施“吸功大法”,博采眾家之長,將許多其他公司創(chuàng)造的新技術(shù)新功能納入自己的產(chǎn)品?
但是,
不 管蓋茨使用了什么卑劣和霸道的經(jīng)營手法,不管微軟是不是違反了壟斷法,不管法院將對它做出什么樣的裁決,我們都應(yīng)當(dāng)感謝微軟,感謝蓋茨,是他們改變了我們 的工作、學(xué)習(xí)和生活方式,是他們增加了我們對這個世界的更新、更深刻的認(rèn)識,是他們讓人類向科技和文明的高峰又邁進(jìn)了一步。蓋茨和微軟,是工業(yè)經(jīng)濟(jì)時代向 信息經(jīng)濟(jì)時代轉(zhuǎn)軌過程中永遠(yuǎn)屹立的豐碑!
五、國內(nèi)著名程序員:
求伯君?王江民?嚴(yán)援朝?吳曉軍?
鮑岳橋?劉 旭?王志東?朱崇君?
王永民?史玉柱?劉積仁?周志農(nóng)?
丁 磊?王文京?劉迎建?池宇峰?
王志東?周 奕?郭?為?劉 虎
六、 中國有千千萬萬的程序員,從求伯軍到王江民,從嚴(yán)援朝到王志東,從丁磊到雷軍;世界上也有千千萬萬的程序員,從Linus到Andersen,從比爾.蓋 茨到楊致遠(yuǎn),我一直在研究這些優(yōu)秀的程序員所走過的道路。發(fā)現(xiàn)他們共同的特點(diǎn)是把軟件開發(fā)當(dāng)成自己的嗜好,并且把這種嗜好變成自己的事業(yè),永遠(yuǎn)保持著好奇 心、思考、執(zhí)著(韌性)和耐心!市場需求決定著軟件產(chǎn)業(yè)的發(fā)展方向。軟件工程師不能就技術(shù)論技術(shù),而是要就市場論技術(shù)。因?yàn)槿绻麤]有市場需求,沒有地方可 應(yīng)用,即便是“天衣無縫”的技術(shù)也只能“孤芳自賞”。?
好奇心:樂趣始終是工作的源動力。視工作的成就為人生最大享受,可能是這一代新富翁共同的特點(diǎn)。做自己喜歡做的事,而不是賺錢,才是他們的主要動力。對他們而言,在計(jì)算機(jī)屏幕前編寫著一句句看似枯燥的程序代碼,干得不分晝夜,是最大的樂趣。
思 考:基爾代爾,作為最偉大的程序設(shè)計(jì)員和設(shè)計(jì)家之一。他搞程序主要是出于縝密思維的雅興,而不是為了賺錢。在開發(fā)的過程中學(xué)會思考和遠(yuǎn)望,學(xué)會做創(chuàng)造性的 工作。有思想的程序員生命力才能長久。給大家出兩道思考題:軟件的本質(zhì)是什么?軟件高手怎樣定義?日后有機(jī)會大家一起討論!
執(zhí)著:執(zhí)著是一切天才的“通病”,?王文京執(zhí)著于財(cái)務(wù)軟件,于是有了今天的用友軟件。蘇啟強(qiáng)執(zhí)著于軟件服務(wù),于是有了今天的連邦軟件。我們也要執(zhí)著于我的執(zhí)著!阿甘的例子,只有偏執(zhí)狂才能生存IBM(安迪•葛洛夫)
耐心:值得你一生去學(xué)習(xí)的東西!高手往往都是寂寞的,寂寞的人是走得最快的人。
一個人只要有韌性,剛開始寫程序的時候,學(xué)得多的人寫得好,到了后來,大家都上了一個層次,誰寫的好只取決于這個人是否細(xì)心、有韌性、有靈性。關(guān)鍵是你是否能夠出想法出產(chǎn)品,你的勞動是否能被社會承認(rèn),能為社會創(chuàng)造財(cái)富。
我 要告訴大家的是,不論你今后是選擇繼續(xù)學(xué)習(xí)還是選擇工作,都要始終把終身學(xué)習(xí)的觀念樹立起來,永遠(yuǎn)保持對新事物的好奇心,執(zhí)著的去追求自己做鐘愛的軟件事 業(yè),學(xué)會思考,去除浮躁,有耐心的去寫好每一行代碼,那么不管今后你發(fā)展的怎么樣,至少現(xiàn)在,你已經(jīng)具備了一個優(yōu)秀程序員所具備的基本素質(zhì),你的思想已經(jīng) 能夠得到別人的尊重。
“專注與超越——這是人生每日的主題”
七、如何做一個成功的程序員?
下面是我和一些朋友談過之后的小結(jié),希望對于各位有所幫助。?
1.?培養(yǎng)對軟件開發(fā)的興趣。
因 為不喜歡,所以才感覺的痛苦,因?yàn)橥纯?#xff0c;所以很難有大的發(fā)展,因?yàn)橐恢睕]有大的進(jìn)步,所以,更加不喜歡。如此惡性循環(huán)。而正確的應(yīng)該是,先做到對于軟件開 發(fā)感興趣,如何做呢?首先你要產(chǎn)生對于軟件本身的好奇心,做這項(xiàng)生活的人,多數(shù)有這方面的愛好,也能感受到其中的樂趣,否則就會成天痛苦不堪。
2.?第二步,其實(shí)更簡單,給自己進(jìn)入軟件行業(yè)一個理由!
然后,寫下來,放在一個適當(dāng)?shù)牡胤?#xff0c;不要隨便看到,但是,永遠(yuǎn)不要忘掉。?
為 什么需要這個理由?原因很簡單。當(dāng)我聽一些朋友聊他的苦悶時,總覺得對于自己選擇軟件行業(yè)是一個錯誤,如何的不好。我就問他,你當(dāng)初為什么選擇軟件這一 行?想了半天,他才回答我。我說,你在猶豫?,就證明你已經(jīng)淡忘了當(dāng)初你為什么決定入行了。關(guān)于選擇,應(yīng)該說人生無處不在抉擇,一旦選擇了就不會放棄。既 然選擇了就不要輕易后悔,執(zhí)著的走下去,因?yàn)槟阋缓蠡?#xff0c;任何選擇和決定都是錯誤的。永遠(yuǎn)不要把時間浪費(fèi)到對往事后悔的追憶上。
如果你一直記得入行的理由,那么,在做軟件開發(fā)這份寂寞的路上,你永遠(yuǎn)不會被寂寞擊倒。成功就在你堅(jiān)持的那一刻來臨。
3.?一切從dos開始。
也 許你覺得奇怪,為什么要從dos開始,因?yàn)檫@里我是說你要成為一個成功的軟件程序員,而不是僅僅是一個程序員,既然你要成功,所以,你要厚積薄發(fā),所以, 從dos開始是有道理的。因?yàn)閺膁os開始,你就知道,要想刪除一個文件不是右鍵點(diǎn)一下,然后,選擇刪除菜單,可能還要點(diǎn)一個確定,就一切OK了,你可以 要執(zhí)行一下del指令,然后,還要輸入一些參數(shù)如文件名,可能還需要路徑,知道這兩個區(qū)別有什么用呢?當(dāng)然有用,你不會被漂亮的窗口界面(所見即所得的精 美畫面)所迷惑。?當(dāng)你現(xiàn)在才開始學(xué)習(xí)的時候,擋住窗口界面的引誘,或許你會更容易成功。?
你可以猜測出它們大概處理的過程是什么。
4.?開始你選擇的工具決定了你將來的發(fā)展水平
世 界上流行的程序語言有許多種,這種情況將來也不會改變,因?yàn)檫@是由我們所面臨的需要解決的計(jì)算問題的五彩繽紛所決定的。任何語言都不可能是最完美的工具, 不可能在處理任何問題時都是最銳利的寶劍。“為完成目的而不擇工具”;?一個計(jì)算機(jī)工作者需要理解掌握多種程序設(shè)計(jì)語言,只有這樣,在遇到具體問題時才可 能做出更合理的選擇。
目前流行的:.net;?Java;?VB;?VC等等。
各種開發(fā)工具各有千秋,應(yīng)根據(jù)具體應(yīng)用來采用不同的工具。 例如寫MIS用PB/VB就很好,界面設(shè)計(jì)用VB/Delphi很不錯,寫系統(tǒng)軟件,用C是最好的。對于初學(xué)者來說,先用一種可視化強(qiáng)的工具(如 VFP/VB/DELPHI)比較好,容易掌握,上手也快。但如果你想做一名真正的程序員,我建議你還是很有必要去精通C。
單從一個很功利的角度來說說。Delphi/?VB對于一般人來說學(xué)上幾個月就可以上手了。易學(xué)的東西學(xué)的人肯定多。而對于C來說,由于它難掌握,學(xué)的人不火,但一旦你真正掌握了,你的競爭實(shí)力就比其他人強(qiáng)。現(xiàn)實(shí)中,C程序員的工資普遍高于其他程序員就是一個證明。
Vb/delphi?寫界面的4000元
vc?寫通訊DLL的5000到6000元
linux?c/c++?寫服務(wù)器的7000到9000元
知道C/C++有前途了吧?
5.?編譯原理
如 果你有足夠的好奇的話,你現(xiàn)在應(yīng)該想知道編譯工具背后的故事,寫代碼時,你也許會奇怪,不同的程序語言為什么會有不同的語法,語義,語用;變量名為什么不 能數(shù)字開頭?計(jì)算機(jī)如何識別這些定義,運(yùn)算,名字空間等等。這個時候看看《編譯原理》多少能夠給你一些解釋。學(xué)習(xí)一點(diǎn)理論知識,加強(qiáng)你的理論功底,很多人 都說科班出身的程序員比參加社會認(rèn)證培訓(xùn)出來的程序員強(qiáng)的地方,就是理論功底強(qiáng),系統(tǒng)思考能力強(qiáng),時間長了就會體現(xiàn)出其優(yōu)勢。學(xué)習(xí)編譯原理的另一個好處在 于將來你學(xué)習(xí)其它開發(fā)工具時,?特別是學(xué)習(xí)不同底層語言的開發(fā)工具時,雖然它們的底層語言相關(guān)非常大,但是,除去這些語言的外衣,用編譯原理層面來看它 們,原來它們是如此相似。
6.?操作系統(tǒng)原理
你要知道,任何你做出來的軟件都是運(yùn)行在操作系統(tǒng)環(huán)境中的,操作系統(tǒng)為你的作品提供了什么樣 的環(huán)境呢??這很重要,如果是DOS,它是以軟中斷的方式提供的,而Windows則是以一系列的API提供的。然后,你還可以知道,如何判斷系統(tǒng)當(dāng)前路 徑,內(nèi)存管理機(jī)制、進(jìn)程/線程調(diào)度、信號、內(nèi)核對象管理、系統(tǒng)調(diào)用等,操作系統(tǒng)中如何處理死鎖的?。?
7.?現(xiàn)在讓我們進(jìn)入windows時代,windows下的開發(fā)工具
畢竟在微軟統(tǒng)治的時代,大家還是識時務(wù)者為俊杰比較好,windows下的開發(fā)工具一定要重點(diǎn)掌握。?面向過程編程向面向?qū)ο筠D(zhuǎn)變,現(xiàn)在流行的開發(fā)工具VC,VB都差不多。
8.?數(shù)據(jù)庫原理和開始數(shù)據(jù)庫編程
現(xiàn) 在做軟件一個最基本的應(yīng)用類型就是數(shù)據(jù)庫編程,這是可能使你可以勝任很大一部分工作了。也就是說,如果你掌握了數(shù)據(jù)庫之后,你就可以出去找工作了。很多應(yīng) 用程序都是以數(shù)據(jù)庫的數(shù)據(jù)為中心,而數(shù)據(jù)庫的產(chǎn)品也有不少,其中關(guān)系型數(shù)據(jù)庫仍是主流形式,用SQL?server作為起點(diǎn)吧,因?yàn)檫@東西使用起來挺方便 的。寫一個簡單的單表輸入程序,簡單一點(diǎn)容易掌握。比如寫一個客戶資料錄入程序。?
10?英語
統(tǒng)計(jì)表明,全世界45個國家的官方語言是英語,1/3的人講英語,75%的電視節(jié)目用英語播出,80%以上的科技信息用英文表達(dá),幾乎100%的軟件源代碼用英文寫成。
學(xué)習(xí)英語真得很重要,且不說它是程序世界的主導(dǎo)語言,且不說它是計(jì)算機(jī)專業(yè)本科畢業(yè)生四年的必修課,且不說它是全世界程序高手們互相切磋尋求幫助的主要工具,它還是現(xiàn)在大多數(shù)用人單位的敲門磚,在這樣一個開放性的社會里,如果你不懂英文,你是不是很難稱得上是一個人才啊!
多讀英文書。信息技術(shù)發(fā)展太快,而大部分的技術(shù)最先出現(xiàn)的時候都是英文版本的,要幾個月以后才有中文版本的書出來,因此要想跟上步伐,一定要努力提高自己的英文水平,這樣才能同步跟上信息技術(shù)。你可能擔(dān)心自己的英語水平不行,沒關(guān)系,剛開始多查字典。
很多東西看中文的譯版不如原版的清晰,中文的可能越看越糊涂,可是英文卻可以一目了然。再說對于一些最新的技術(shù)和動態(tài)文章,你哪里有時間去等到別人給你翻譯出來再看啊,等你看到了,也快過時了。不懂英語,你真得很難算得上是一個人才!
到了這里,你沒有發(fā)現(xiàn)你在和別人聊軟件開發(fā)時,別人對你的態(tài)度有變化呢??
八、 從現(xiàn)在開始,你要注意和別人交流了,因?yàn)閺默F(xiàn)在開始的很多東西,都是別人一指點(diǎn)就可以,而你自己看需要很久的。可以經(jīng)常去一些論壇交流,都是很不錯的,沒 有不上網(wǎng)的程序員,也沒有不在網(wǎng)上取長補(bǔ)短的程序員。不過在問問題之前,自己一定要先努力嘗試過,再給出自己的想法。動不動就問別人,自己水平得不到提 高,別人也不再會回答你的問題。
九、程序員最喜歡的網(wǎng)站:
http://www.microsoft.com/china/msdn/default.asp ?微軟社區(qū)
(IBM?SUN?Borland?orACLE?BEA?CISCO?GOOGLE)
http://www.csdn.net ?中國軟件
www.china-pub.com?互動出版社
www.codestudy.net?程序員聯(lián)盟
http://www.codeproject.com
www.soft.net?印度
msdn.microsoft.com/msdnmag
十、程序員的七種武器
第一種武器:開發(fā)工具
至 少熟練掌握兩到三種開發(fā)工具的使用,這是程序員的立身之本,其中C/C++和JAVA是我重點(diǎn)推薦的開發(fā)工具,C/C++以其高效率和高度的靈活性成為開 發(fā)工具中的利器,很多系統(tǒng)級的軟件還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結(jié)合是JAVA的優(yōu)勢所在,而本人對SUN公司的“網(wǎng)絡(luò)即計(jì) 算機(jī)”的概念相當(dāng)欣賞,并相信JAVA即其相關(guān)的技術(shù)集JAVA?One會成為未來的主流開發(fā)工具之一。其次,如果能掌握一種簡便的可視化開發(fā)工具,如 VB,PowerBuilder,Delphi,C++?Builder,則更好,這些開發(fā)工具減小了開發(fā)難度,并能夠強(qiáng)化程序員對象模型的概念。另外, 需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。?
第二種武器:數(shù)據(jù)庫
為什么數(shù)據(jù)庫是如此重要?很多應(yīng)用程 序都是以數(shù)據(jù)庫的數(shù)據(jù)為中心,而數(shù)據(jù)庫的產(chǎn)品也有不少,其中關(guān)系型數(shù)據(jù)庫仍是主流形式,所以程序員至少熟練掌握一兩種數(shù)據(jù)庫,對關(guān)系型數(shù)據(jù)庫的關(guān)鍵元素要 非常清楚,要熟練掌握SQL的基本語法。雖然很多數(shù)據(jù)庫產(chǎn)品提供了可視化的數(shù)據(jù)庫管理工具,但SQL是基礎(chǔ),是通用的數(shù)據(jù)庫操作方法。如果沒有機(jī)會接觸商 業(yè)數(shù)據(jù)庫系統(tǒng),可以使用免費(fèi)的數(shù)據(jù)庫產(chǎn)品是一個不錯的選擇,如mySQL,?Postgres等。?
第三種武器:操作系統(tǒng)
當(dāng)前主流的操作 系統(tǒng)是Windows,Linux/Unix,熟練地使用這些操作系統(tǒng)是必須的,但只有這些還遠(yuǎn)遠(yuǎn)不夠。要想成為一個真正的編程高手,需要深入了解操作系 統(tǒng),了解它的內(nèi)存管理機(jī)制、進(jìn)程/線程調(diào)度、信號、內(nèi)核對象、系統(tǒng)調(diào)用、協(xié)議棧實(shí)現(xiàn)等。Linux作為開發(fā)源碼的操作系統(tǒng),是一個很好的學(xué)習(xí)平臺, Linux幾乎具備了所有現(xiàn)代操作系統(tǒng)的特征。雖然Windows系統(tǒng)的內(nèi)核實(shí)現(xiàn)機(jī)制的資料較少,但通過互聯(lián)網(wǎng)還是能獲取不少資料。只有對操作系統(tǒng)有一定 的了解后,你會發(fā)現(xiàn)自己上了一個新的臺階。?
第四種武器:網(wǎng)絡(luò)協(xié)議TCP/IP
在互聯(lián)網(wǎng)如此普及的今天,如果您還沒有對互聯(lián)網(wǎng)的支撐協(xié)議 TCP/IP協(xié)議棧有很好的掌握,就需要迅速補(bǔ)上這一課,網(wǎng)絡(luò)技術(shù)已改變了軟件運(yùn)行的模式,從最早的客戶/服務(wù)器結(jié)構(gòu),到今天的 WEB?Services,再到未來的網(wǎng)格計(jì)算,這一切都離不開以TCP/IP協(xié)議棧為基礎(chǔ)的網(wǎng)絡(luò)協(xié)議支持,所以,深入掌握TCP/IP協(xié)議是非常必要 的。至少,你需要了解ISO七層協(xié)議模型,IP/UDP/TCP/HTTP等常用協(xié)議的原理和三次握手機(jī)制。?
第五種武器:DCOM/CORBA/XML/WEB?Services
隨 著技術(shù)的發(fā)展,軟件與網(wǎng)絡(luò)的無縫結(jié)合是必然趨勢,軟件系統(tǒng)的位置無關(guān)性是未來計(jì)算模式的重要特征之一,DCOM/CORBA是當(dāng)前兩大主流的分布計(jì)算的中 間件平臺,DCOM是微軟COM(組件對象模型)的擴(kuò)展,而CORBA是OMG(object?Management?group)支持的規(guī)范。程序員需 要做的不僅僅是利用商業(yè)的開發(fā)平臺來開發(fā)軟件,而是要理解這些技術(shù)的初衷,即為什么需要這項(xiàng)技術(shù),如果你能理解了這一點(diǎn),再回頭看這些技術(shù)的具體實(shí)現(xiàn),就 如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結(jié)構(gòu)化的表示方法和超強(qiáng)的表達(dá)能力被喻為互聯(lián)網(wǎng)上的“世界語”,是分布 計(jì)算的基石之一。?
第六種武器:軟件工程與CMM
現(xiàn)代大型軟件系統(tǒng)的開發(fā)中,工程化的開發(fā)控制取代個人英雄主義,成為軟件系統(tǒng)成功的保 證,一個編程高手并不一定是一個優(yōu)秀的程序員,一個優(yōu)秀的程序員是將出色的編程能力和開發(fā)技巧同嚴(yán)格的軟件工程思想有機(jī)結(jié)合,編程只是軟件生命周期中的其 中一環(huán),優(yōu)秀的程序員應(yīng)該掌握軟件開發(fā)各個階段的基本技能,如市場分析,可行性分析,需求分析,結(jié)構(gòu)設(shè)計(jì),詳細(xì)設(shè)計(jì),軟件測試等。一句話可以概括我的看 法:“創(chuàng)意無限,流程保證”。?
第七種武器:強(qiáng)烈的好奇心
什么才是一個程序員的終極武器呢,那就是強(qiáng)烈的好奇心和學(xué)習(xí)精神。沒有比強(qiáng)烈的好奇心和學(xué)習(xí)精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。?
養(yǎng)成良好的習(xí)慣
現(xiàn) 在很流行的一句話是“性格決定命運(yùn)”,實(shí)際上可以這樣理解,你的性格決定你的習(xí)慣,而習(xí)慣決定你的命運(yùn)!中國有一句古話叫做:習(xí)慣成自然。同時,西方古希 臘哲學(xué)家亞里士多德也說過:“優(yōu)秀是一種習(xí)慣”,比如你每天早上堅(jiān)持起來讀書,就養(yǎng)成了讀書的好習(xí)慣。那么懶惰也是一種習(xí)慣,不知道在座的各位又沒有感覺 到,當(dāng)你睡覺越來越多的時候,你每天都想睡覺,越睡越懶,越坐越癱。你習(xí)慣于10點(diǎn)睡覺7點(diǎn)起床,那就比習(xí)慣于11點(diǎn)睡覺6點(diǎn)起床的人少擁有兩個小時,而 據(jù)我所知很多好學(xué)習(xí)的人都是12點(diǎn)睡覺5點(diǎn)起床的,那你就又比他們每天少擁有4個小時了。
在一次次沉重的洗禮后,痛苦地改掉不利于自己發(fā)展的不良習(xí)慣,從而又一次超越自己。
一、適當(dāng)背誦的習(xí)慣
新 東方有個學(xué)員上中學(xué)的時候英語特別的差,總是倒數(shù)第一名,于是為了提高自己的英文水平他就決定開始背誦新概念英語,結(jié)果背到一半2冊的時候,他成績就明顯 提高了。高考后上了大學(xué),他考上了一所比較著名的大學(xué),他本來不想再背誦了,但是當(dāng)他背給同學(xué)聽的時候,其他同學(xué)都露出了羨慕的眼光,于是為了這種虛榮 心,他就堅(jiān)持背誦第三冊第四冊,背得滾瓜爛熟,你說上一句,他就能聯(lián)出下一句,而且語音非常標(biāo)準(zhǔn),因?yàn)樗悄7麓艓П痴b的。后來他去了美國的duke大 學(xué),第一個星期寫文章,教授就把他叫過來說你的文章是剽竊的,他說:“我教了20年的書也沒教出這么漂亮的文章來”,這個學(xué)生說我沒辦法證明我能寫出這么 漂亮的文章,但我告訴你我能背誦108篇文章,你想不想聽,于是他就開始背誦,結(jié)果他沒背完兩篇,教授就哭了起來,為什么?這個教授想我教了20年書,居 然一篇文章也沒有背過,被中國學(xué)生背掉了,所以很難過。小時候背誦兒歌的故事,好的算法和好的代碼可以重點(diǎn)看一看。?
二、好為人師的習(xí)慣?
把 你認(rèn)為你懂的東西講出來吧,將給別人聽,你會記憶得更加深刻。成就感是一點(diǎn)一點(diǎn)積累起來的,你考考別人bluetooth、ASP、PDA、CDMA是什 么?如果他不懂,你就講給他聽,同時你自己的記憶也在加深。在現(xiàn)代這樣一個向開放型過渡的社會里,你要想成功必須要善于表達(dá)自己,善于表達(dá)自己的觀點(diǎn)和思 想,并想辦法說服別人,做市場作營銷當(dāng)老師當(dāng)領(lǐng)導(dǎo)者,你要想證明自己有能力,那你就必須學(xué)會說出來呀、表達(dá)自己,塑造你個人的影響力,人與人之間的交往, 就是意志力與意志力的較量,不是我影響你,就是你影響我。?現(xiàn)在最流行的職業(yè):口力勞動者,教師、主持人、歌星、領(lǐng)導(dǎo)、美國總統(tǒng)、市場營銷人員等等。
三、五官齊用的習(xí)慣?
如果說你看到的東西,你會記住30%,那么你同時看和聽就會記住50%,如果你既看又聽,手里還在寫、嘴里還在念念有詞,你就會記住100%,如果日后有時間再復(fù)習(xí)兩至三遍,你就永遠(yuǎn)不會忘記了。不在于你一次看了多長時間,重要的是你重復(fù)了多少次!?
四、學(xué)習(xí)他人的習(xí)慣?
給 自己樹立一個目標(biāo)人物,最好從身邊找到一個這樣的榜樣,你可以跟他交流,這樣當(dāng)你遇到困難的時候想一想你做敬佩的人會怎樣做,你就有力量去征服它了。我常 以為,這輩子如果能遇到一位好的指導(dǎo)老師講是一件很幸運(yùn)的事情。如果身邊沒有,我上面舉了那么多的明星人物,從里面找一個你的努力目標(biāo)吧!周奕的例子, mp3到光盤刻錄、注冊碼、匯款方式。小的目標(biāo)大的目標(biāo),向他看齊,現(xiàn)在時代,不是個人英雄主義的時代,你要學(xué)會從別人身上學(xué)習(xí)好的東西,拿為己用,你的 任務(wù)只是在他的基礎(chǔ)上能夠提升。?
五、見縫插針的習(xí)慣?
時間像海綿里的水,看你怎樣擠出來用,最有效的記憶規(guī)律不是你一次記憶多長時間,二是你多長時間重復(fù)記憶多少次。把你最喜歡的書隨時帶在身邊,有空就看,不要讓大腦閑置太久不用。背單詞。
六、設(shè)立特定的目標(biāo)并規(guī)定期限?
把 你的人生當(dāng)成程序來設(shè)計(jì),制定計(jì)劃,并限制完成的日期,否則你總會被各種原因而耽誤的。比如說參加gre考試,你永遠(yuǎn)也不敢肯定自己是否已經(jīng)準(zhǔn)備到最充分 了,那么是不是就一直不考呢?一直在準(zhǔn)備準(zhǔn)備、復(fù)習(xí)復(fù)習(xí),直到你筋疲力盡沒有力氣去考試了,一鼓作氣、再而衰、三而竭,再說時間有限,你有多少時間可以浪 費(fèi)呢??
七、注重實(shí)踐的習(xí)慣?
無論你的書本知識掌握得多么牢固,你多么的清晰地理解你所學(xué)到的知識,你一到實(shí)踐中去用,你會發(fā)現(xiàn)遠(yuǎn)遠(yuǎn)不是 那么一回事。就像學(xué)習(xí)游泳,我學(xué)游泳的時候,請教了無數(shù)的游泳專家,模仿最標(biāo)準(zhǔn)的姿勢,練氣和技巧,我在陸地上不停的練習(xí)、練習(xí)、再練習(xí),可是一下水,全 完了,還是不會。?做程序員,那得練、不停的練習(xí)。最好的學(xué)習(xí)方法,就是自己寫一段小程序。學(xué)習(xí)開車,我跟我男朋友學(xué)開車,每次他開車的時候都告訴我,怎 樣啟動發(fā)動機(jī),然后踩離合器,掛檔,給油,剎車停車,我對開車的理論和技巧無比熟悉了,自信一定可以開車了,于是就嘗試了一下,怎么樣,結(jié)果不是不堪設(shè)想 啊,動用了手剎。學(xué)員活動調(diào)查結(jié)果,最短時間內(nèi)、最快學(xué)會編程、成為像你們一樣的程序員!
?一點(diǎn)學(xué)習(xí)經(jīng)驗(yàn)
勤奮練習(xí)?
把書上的例子輸進(jìn)電腦實(shí)踐一遍,然后進(jìn)行各種試驗(yàn),再聯(lián)想出各種相關(guān)的程序,自己寫出來,并驗(yàn)證自己的結(jié)果。
讀高手寫的程序
有了一定的基礎(chǔ)的時候,可以嘗試去讀高手寫的程序,解讀他們的程序的設(shè)計(jì)理念、風(fēng)格、解決問題的思路等。我的程序就和英語一樣,一個變量名就是一個句子!寫程序很少加注釋!
GNU/Linux為我們提供了一個巨大的源程序?qū)殠?#xff0c;里面有各種各樣的程序源代碼,詳細(xì)研究一套你感興趣的系統(tǒng),你的水平會得到大幅度提高。
不斷提高?
除了多加練習(xí),你還需要多讀書,特別是英文書。要適時的選擇自己的主攻方向。
記筆記的習(xí)慣
隨時拿著你的筆和筆記本,一接收到有用的信息或字急又好的想法就迅速記下來,抓住瞬息即逝的靈感。自己大腦里蹦出來的東西,才是自己的價值和驕傲。
學(xué) 習(xí)它是個長期的過程,要不斷的總結(jié)經(jīng)驗(yàn),我們學(xué)習(xí)就怕不能持之以恒。關(guān)于這點(diǎn)大家比我更清楚。一旦你學(xué)會了它,其他的語言就可以觸類旁通了,例如:C+ +,C#,JAVA,VB,DELPHI......這些學(xué)起來就會比那些C語言基礎(chǔ)不扎實(shí)的人要輕松得許多!學(xué)習(xí)的過程是一個不斷積累的過程,只有學(xué)習(xí) 的時間積累到一定的程度,才能發(fā)生質(zhì)的提高。經(jīng)過ACCP接近兩年時間學(xué)習(xí)培養(yǎng)出來的軟件工程師才是當(dāng)前市場上亟需的專業(yè)軟件人才,才意味著高薪和價值。
程序員的分類
第 一種是初級,這種人數(shù)量最多,水平最低。喜歡看報(bào)紙上的編程小知識,秘籍和技巧大全之類的東西,這給了他廣博的半瓶子醋的學(xué)問。這種程序員往往把編程這種 腦力勞動變成敲鍵盤的體力勞動。把軟件白領(lǐng)變成了軟件藍(lán)領(lǐng)。一些軟件公司的Fans們往往拿著嚇人的工資、做著嚇人的項(xiàng)目,他們做出來的結(jié)果也往往很嚇 人。這些人組成了軟件人才市場上的流動大軍。?
第二種是通常意義上的高手,他們有時候覺得自己十分了不起,有時候又覺得自己什么也不是。大部分時候,他沒感覺,沒激情,沒愛,相當(dāng)于一個血肉機(jī)器、曰之為“感情木頭”。對于他們來說沒有比coding更加有意義的事情了。?
第三種是大師級的人物。在平凡的外表下,是一個無所不能的人。沒有一個人和一條狗不尊敬他。他吐痰的樣子也有人模仿。微軟公司首席“建筑師”西蒙尼就是一個這樣的人物。不過,他說“合作比天才更重要”
為什么軟件市場上人才缺口這么大,每年20萬之多,最缺乏的是熟練的程序員,而成千上萬的畢業(yè)生又找不到工作。大家應(yīng)該好好想一想:
軟件人才是多了,但多的是沒有實(shí)際工作經(jīng)驗(yàn)、技術(shù)掌握的層次低的開發(fā)人員。這批人頻繁地跳槽形成的求職大軍營造出中國軟件人才一大把的現(xiàn)象。?
軟件人才是少了,少的是具有豐富工作經(jīng)驗(yàn),技術(shù)扎實(shí)精深的工程師一類的開發(fā)人員。他們在哪里都是炙手可熱的人物,求職大軍里自然少有這樣的人才。?
勸每一個學(xué)員克服浮躁,踏踏實(shí)實(shí)地走好每一步!既然要學(xué),就得耐心,你要告訴自己,要用一生的時間去學(xué)習(xí)它,你就不會急功近利了。
俞敏洪總結(jié)的成功的四種能力
一、忍受孤獨(dú)的能力是成功者的必經(jīng)之路
不 管有多少人在你身邊,父母督促你、朋友鼓勵你,你要想達(dá)到成功最終都要靠你自己, God?helps?those?who?help?themselves.?如果你想走出平凡,那么請你走進(jìn)孤獨(dú)!孤獨(dú)的人是走得最快的人!去除浮躁, 不要總想著你將來會怎樣怎樣,重要的是現(xiàn)在,自信心是一點(diǎn)一滴積累起來的。
二、忍受失敗的能力是重新振作的源泉
生活中的失敗實(shí)在是太多 了,整個社會的競爭體系是一個金字塔式的結(jié)構(gòu),你可以說我與世無爭,我知足者長樂,當(dāng)然你可以這樣做。可是社會不允許你這樣做,因?yàn)樗粫屇銟诽玫?#xff0c; 不進(jìn)則退、優(yōu)勝劣汰的市場機(jī)制會淘汰你,你會被社會拋在金字塔的最底層,你會感到整個金字塔的重量都壓在了你的身上,你見不到陽光,你欣賞不到美麗的風(fēng) 景,你感到絕望。所以為了更好的活著,你就要振作、努力。好在機(jī)遇是平等的,在機(jī)會來臨的時候,如果你有能力就會抓住它。
三、忍受屈辱的能力是成就大業(yè)的基礎(chǔ)?
你 去新東安燕莎買東西,如果你沒有錢,你會不會感受到售貨員對你的態(tài)度不一樣了呢?你去找工作,被人才市場上的人流擠得東倒西歪,北大清華的請到前面來,男 生請到前面來,碩士博士請到前面來……,?你租房子被各種各樣的房東趕著跑,一年到頭不停的搬家,與小商販為了幾塊錢討價還價,你為了一點(diǎn)點(diǎn)的錢為老板四 處奔波。這些都是屈辱,在你成功之前你必須忍受屈辱。?
四、生理承受能力是成就大業(yè)的前提?
做一件事情,你付出了別人所沒有付出的,那你 得到的也是別人所沒有得到的。當(dāng)我們已經(jīng)開始做了某一件事情之后,我們則不宜由于我們現(xiàn)在認(rèn)為另一件事更理想、更值得做而輕易改變我們的行動。?已經(jīng)開始 做了這件事,已經(jīng)為此付出了心力;而且,究竟我們現(xiàn)在的認(rèn)識正確還是過去的認(rèn)識正確也還有待于檢驗(yàn);因?yàn)槲覀兠恳粋€人的生命和精力都是有限的!
對待學(xué)習(xí)的態(tài)度
沒有壓力就沒有動力,要想辦法給自己施加壓力,平時多看書,多接觸相關(guān)的知識,保持永遠(yuǎn)能夠?qū)W習(xí)的慣性,當(dāng)然專業(yè)知識要不斷的研究和深入探索;當(dāng)真正的壓力到來時,你的學(xué)習(xí)效率才是最高的。用任務(wù)去學(xué)習(xí),沒有任務(wù)制造任務(wù)。
我們每天的工作就是接受問題,解決問題,只能就事而論了。主要態(tài)度如下:接受它、分析它、解決它、放下它;
克服學(xué)習(xí)中的冷熱病,有了刺激就去學(xué)習(xí),刺激過去了就放松,考試來了就緊張,考試過了就全忘。聽了一場講座或報(bào)告就意氣風(fēng)發(fā),苦學(xué)三天三夜,然后就又找借口放松。
今天想干這個,明天想干那個,結(jié)果一事無成。
書到用時方恨少,事非經(jīng)過不知難,書有未曾經(jīng)我,讀事無不可對人言
微?軟:李開復(fù)的一封信
李開復(fù)是微軟中國研究院的院長,是微軟公司的副總裁,他在中國的各大高校里做演講,他十分了解中國學(xué)生的心理,所以語重心長的給中國學(xué)生寫了一封信:
中 國的軟件也還不很發(fā)達(dá),我們每天耳濡目染的都是一些國外的名牌, MS/IBM/SONY/HP/CANNON/SUN/CISCO/INTEL/DELL/PHILIP/TOSHIBA/PENASONIC/EPSON, 日本的產(chǎn)品現(xiàn)在已經(jīng)打遍了全世界,他們非常地團(tuán)結(jié),他們叫做大和民族,同為亞洲東海岸的中華民族,為什么相差得這樣懸殊,不要過多地去找歷史的原因,想一 想自己,你有沒有把你自己的理想和目標(biāo)同國家聯(lián)系起來呢?
人生最重要的東西,進(jìn)取、熱情,信任,堅(jiān)持,努力,自律,思考,感動,耐心,韌性、珍惜
……?……
奔 跑人生:在靜謐的非洲大草原上,夕陽西下,一頭獅子在沉思,明天當(dāng)太陽升起的時候,我要奔跑,以追得上跑得最快的羚羊,此時,一只羚羊也在思考,明天當(dāng)太 陽升起的時候,我要奔跑,以躲過跑得最快的獅子的捕獲,是的,無論你是獅子或者羚羊,明天,當(dāng)太陽升起的時候你所要做的就是:毫不猶豫地向前奔跑!
比 爾蓋茨曾經(jīng)寫過一本書叫做《未來之路》The?road?ahead,?那么今天我選擇這樣一個題目, the?road?ahead?for?programmer,?程序員的未來之路,也就是程序員的成功之路,希望大家未來也能夠擁有像比爾蓋茨一樣的智 慧的頭腦和開一家像微軟一樣的公司。俗話說:心有多大,人生的舞臺就有多大!
二、最近看了幾篇csdn上的漫漫人生路專輯,很有感觸,這里摘抄了幾句,非常愿意和大家分享,?優(yōu)秀程序員的心里話:
編程的原因是喜歡,不是為了別的。?
從摸上電腦的那一刻,我就知道,這才是我的世界。
我一心一意地想作個程序員,盡管知道很累。
人真的不能輕言放棄,否則,失去的永遠(yuǎn)無法挽回!
生命是一種長期而持續(xù)的累積過程?
所有成功的人都有一個不變的黃金法則:?積累!與?堅(jiān)持!
大家聽了這些話,不知道是怎樣的想法呢?
提問,(1)你以前有沒有讀過這樣的文章或有沒有程序員跟你說過這樣的感受?
(2)你怎樣看待程序員這個職業(yè)?你有這種感覺嗎?
上面的話其實(shí)都在說明一個道理,只有全身心地投入,寫程序才會有意思,才會體會到其中的樂趣。
電 腦的世界其實(shí)很大,程序員是活在自己想象的王國里。你可以想象到電腦里細(xì)微到每一個字節(jié)、每一個比特位的東西。通過電腦可以實(shí)現(xiàn)你的設(shè)想,解決你的問題。 電腦遠(yuǎn)沒有人那么復(fù)雜,如果程序?qū)懙煤?#xff0c;你就可以和電腦處好關(guān)系,就可以指揮電腦干你想干的事。每每你坐在電腦面前,這個時候你是十足的主宰。
理想和夢想,比爾蓋茨自從見到了計(jì)算機(jī)這個東西,就想象有一天個人計(jì)算機(jī)將是每一部辦公桌面系統(tǒng)以及每一家庭的必備的工具,并為這一信念所指引,開始為個人計(jì)算機(jī)開發(fā)軟件。
三、程序人生:可以把程序作為你的人生,也可以把你的人生當(dāng)作程序來設(shè)計(jì)。
你 的父母把你生下來,你的身體就是一臺計(jì)算機(jī),而上面運(yùn)行的軟件就是你的思想,這個軟件版本高低功能的強(qiáng)弱,就看你的思想境界。思想軟件需要你自己慢慢地去 編寫,可能父母教給了你最基本的語言,但是其他的高級語言和技能需要你長大以后要自己去學(xué)習(xí),你能精通幾門語言是你的本事。?
第一步,隨著你漸漸 的長大,你開始有了需求,各種各樣的需求,一開始你只是想要一塊巧克力糖,一個新書包,一件新衣服,一輛嶄新的自行車;后來你可能就想要一棟房子、一輛好 車,你開始追求高質(zhì)量的的物質(zhì)生活、精神生活,你追求成功與快樂、還要求更好的發(fā)展,希望得到別人的尊敬,過一份有尊嚴(yán)的生活。需求很多很多,仔細(xì)分析你 的需求,想想你最想要什么?怎樣去實(shí)現(xiàn)它。
第二步,是很關(guān)鍵的一步,你要設(shè)計(jì)自己的人生程序。你首先要概要設(shè)計(jì),你希望將來成為一個怎樣的人,分 幾大步實(shí)現(xiàn)這個目標(biāo),少年、青年、成年、中年、老年。可能有求學(xué)程序、出國程序、戀愛程序、求職程序、事業(yè)程序、升職程序、結(jié)婚程序等等。概要設(shè)計(jì)后還要 進(jìn)行詳細(xì)設(shè)計(jì),你每個月每個星期做些什么,每個小模塊里面有每個階段的小的目標(biāo),小程序,這個星期讀完一本書,下個月參加考試,然后寫一篇論文等等,雖然 說人生不可能完全規(guī)劃出來,但是經(jīng)過設(shè)計(jì)的人生遠(yuǎn)遠(yuǎn)比沒有設(shè)計(jì)過的人有更有意義,好好的設(shè)計(jì)你的人生吧。
第三步,是編碼和測試,你大多數(shù)時間都在 不停的編碼,同時還要不停的測試,編碼的過程十分的辛苦,需要耐心和思考,你會覺得苦悶、煩躁不安、寂寞、痛苦、迷茫與無奈,但有些時候又十分開心、興奮 虛榮、驕傲和滿足。編碼的過程充分體現(xiàn)了人生瑣碎與不如意和艱難,bug永遠(yuǎn)存在,人生也在不斷的犯錯誤和不斷地總結(jié)。就像一個程序不能編寫得完美一樣, 人生也是不完美的,你不可能處處要求完美,很多地方需要同別人交流和互相借鑒。測試可以分為內(nèi)部測試和外部測試,經(jīng)過測試,你發(fā)現(xiàn)自己的錯誤,并想方設(shè)法 改正它,然后成長起來。
第五步是集成和軟件發(fā)版,你的設(shè)計(jì)的人生軟件要拿到市場上去賣,能不能賣上好價錢,要看軟件的功能和特色,性價比、看軟件 的包裝,你有沒有高人一等的杰出才能,你有沒有于其它軟件相比的競爭力,軟件的價值,也就是你人生的價值。當(dāng)然你可能是一個很高尚的人,編一些免費(fèi)的軟 件,不做比爾蓋茨,做linus?torvols也挺好的,在自由的空氣在互聯(lián)網(wǎng)上空飄蕩。看你自己的選擇!不過這個世界好像更歡迎前者,linus住在 擁擠的民用公寓里。而比爾蓋茨住在自己像皇宮一樣的豪宅里面當(dāng)?shù)弁?#xff0c;你首先要解決生存的問題,然后再去考慮其他得東東。
好好的譜寫你的人生程序,人這一輩子真是要追求點(diǎn)什么才有意義!在譜寫你的人生程序之前,首先看一看你的前輩們是怎樣譜寫他們的成功人生的!(慢一點(diǎn)兒)
四、國外著名程序員
馮•諾伊曼和阿蘭•圖靈計(jì)算機(jī)之父,圖靈機(jī)是現(xiàn)代通用計(jì)算機(jī)的原型
小托馬斯•沃森,藍(lán)色巨人IBM創(chuàng)始人,迅速發(fā)展起來,40%的利潤率?
史蒂夫•喬布斯,蘋果公司的總裁?
肖克利博士因?qū)⑵湟簧I(xiàn)給其鐘愛的晶體管事業(yè)而名垂計(jì)算機(jī)史。
蒂姆•貝納斯-李的最大貢獻(xiàn)當(dāng)屬發(fā)明了WWW(Word?Wide?Web,萬維網(wǎng))。他也因此而以“Web之父”及大多數(shù)瀏覽器標(biāo)準(zhǔn)的監(jiān)護(hù)人而聞名于世
最 早干起計(jì)算機(jī)軟件編程的不是蓋茨,而是他的朋友和競爭對手加里•基爾代爾。?作為最偉大的程序設(shè)計(jì)員和設(shè)計(jì)家之一,他搞程序主要是出 于縝密思維的雅興,而不是為了賺錢。當(dāng)時他開發(fā)了一個CP/M操作系統(tǒng),比爾蓋茨也自己寫了一個dos操作系統(tǒng),但是很不好用,遠(yuǎn)遠(yuǎn)比不上cp/m,所以 ibm公司就想把基爾的操作系統(tǒng)買下來,比爾蓋茨這個時后表現(xiàn)出極大的熱情,主動代表基爾去談,于是談來談去就把基爾的操作系統(tǒng)談成了自己的東西,人們都 說,使用操作系統(tǒng)的是人都欠基爾一份情,而蓋茨欠得最多。?
比如蓋茨賴以揚(yáng)名立身并最終發(fā)家致富的Basic語言,是60年代達(dá)特默斯學(xué)院的兩位 教授創(chuàng)造的。而微軟起飛的翅膀DOS,更是基爾代爾的“臨摹品”?。Windows用的是蘋果的技術(shù),Excel其實(shí)是Lotus1-2-3的復(fù)制品, Web瀏覽器也是借助網(wǎng)景的創(chuàng)意開發(fā)的,Word純粹是WordStar、WordPerfect的跟風(fēng)......?
微軟屢屢實(shí)施“吸功大法”,博采眾家之長,將許多其他公司創(chuàng)造的新技術(shù)新功能納入自己的產(chǎn)品?
但是,
不 管蓋茨使用了什么卑劣和霸道的經(jīng)營手法,不管微軟是不是違反了壟斷法,不管法院將對它做出什么樣的裁決,我們都應(yīng)當(dāng)感謝微軟,感謝蓋茨,是他們改變了我們 的工作、學(xué)習(xí)和生活方式,是他們增加了我們對這個世界的更新、更深刻的認(rèn)識,是他們讓人類向科技和文明的高峰又邁進(jìn)了一步。蓋茨和微軟,是工業(yè)經(jīng)濟(jì)時代向 信息經(jīng)濟(jì)時代轉(zhuǎn)軌過程中永遠(yuǎn)屹立的豐碑!
五、國內(nèi)著名程序員:
求伯君?王江民?嚴(yán)援朝?吳曉軍?
鮑岳橋?劉 旭?王志東?朱崇君?
王永民?史玉柱?劉積仁?周志農(nóng)?
丁 磊?王文京?劉迎建?池宇峰?
王志東?周 奕?郭?為?劉 虎
六、 中國有千千萬萬的程序員,從求伯軍到王江民,從嚴(yán)援朝到王志東,從丁磊到雷軍;世界上也有千千萬萬的程序員,從Linus到Andersen,從比爾.蓋 茨到楊致遠(yuǎn),我一直在研究這些優(yōu)秀的程序員所走過的道路。發(fā)現(xiàn)他們共同的特點(diǎn)是把軟件開發(fā)當(dāng)成自己的嗜好,并且把這種嗜好變成自己的事業(yè),永遠(yuǎn)保持著好奇 心、思考、執(zhí)著(韌性)和耐心!市場需求決定著軟件產(chǎn)業(yè)的發(fā)展方向。軟件工程師不能就技術(shù)論技術(shù),而是要就市場論技術(shù)。因?yàn)槿绻麤]有市場需求,沒有地方可 應(yīng)用,即便是“天衣無縫”的技術(shù)也只能“孤芳自賞”。?
好奇心:樂趣始終是工作的源動力。視工作的成就為人生最大享受,可能是這一代新富翁共同的特點(diǎn)。做自己喜歡做的事,而不是賺錢,才是他們的主要動力。對他們而言,在計(jì)算機(jī)屏幕前編寫著一句句看似枯燥的程序代碼,干得不分晝夜,是最大的樂趣。
思 考:基爾代爾,作為最偉大的程序設(shè)計(jì)員和設(shè)計(jì)家之一。他搞程序主要是出于縝密思維的雅興,而不是為了賺錢。在開發(fā)的過程中學(xué)會思考和遠(yuǎn)望,學(xué)會做創(chuàng)造性的 工作。有思想的程序員生命力才能長久。給大家出兩道思考題:軟件的本質(zhì)是什么?軟件高手怎樣定義?日后有機(jī)會大家一起討論!
執(zhí)著:執(zhí)著是一切天才的“通病”,?王文京執(zhí)著于財(cái)務(wù)軟件,于是有了今天的用友軟件。蘇啟強(qiáng)執(zhí)著于軟件服務(wù),于是有了今天的連邦軟件。我們也要執(zhí)著于我的執(zhí)著!阿甘的例子,只有偏執(zhí)狂才能生存IBM(安迪•葛洛夫)
耐心:值得你一生去學(xué)習(xí)的東西!高手往往都是寂寞的,寂寞的人是走得最快的人。
一個人只要有韌性,剛開始寫程序的時候,學(xué)得多的人寫得好,到了后來,大家都上了一個層次,誰寫的好只取決于這個人是否細(xì)心、有韌性、有靈性。關(guān)鍵是你是否能夠出想法出產(chǎn)品,你的勞動是否能被社會承認(rèn),能為社會創(chuàng)造財(cái)富。
我 要告訴大家的是,不論你今后是選擇繼續(xù)學(xué)習(xí)還是選擇工作,都要始終把終身學(xué)習(xí)的觀念樹立起來,永遠(yuǎn)保持對新事物的好奇心,執(zhí)著的去追求自己做鐘愛的軟件事 業(yè),學(xué)會思考,去除浮躁,有耐心的去寫好每一行代碼,那么不管今后你發(fā)展的怎么樣,至少現(xiàn)在,你已經(jīng)具備了一個優(yōu)秀程序員所具備的基本素質(zhì),你的思想已經(jīng) 能夠得到別人的尊重。
“專注與超越——這是人生每日的主題”
七、如何做一個成功的程序員?
下面是我和一些朋友談過之后的小結(jié),希望對于各位有所幫助。?
1.?培養(yǎng)對軟件開發(fā)的興趣。
因 為不喜歡,所以才感覺的痛苦,因?yàn)橥纯?#xff0c;所以很難有大的發(fā)展,因?yàn)橐恢睕]有大的進(jìn)步,所以,更加不喜歡。如此惡性循環(huán)。而正確的應(yīng)該是,先做到對于軟件開 發(fā)感興趣,如何做呢?首先你要產(chǎn)生對于軟件本身的好奇心,做這項(xiàng)生活的人,多數(shù)有這方面的愛好,也能感受到其中的樂趣,否則就會成天痛苦不堪。
2.?第二步,其實(shí)更簡單,給自己進(jìn)入軟件行業(yè)一個理由!
然后,寫下來,放在一個適當(dāng)?shù)牡胤?#xff0c;不要隨便看到,但是,永遠(yuǎn)不要忘掉。?
為 什么需要這個理由?原因很簡單。當(dāng)我聽一些朋友聊他的苦悶時,總覺得對于自己選擇軟件行業(yè)是一個錯誤,如何的不好。我就問他,你當(dāng)初為什么選擇軟件這一 行?想了半天,他才回答我。我說,你在猶豫?,就證明你已經(jīng)淡忘了當(dāng)初你為什么決定入行了。關(guān)于選擇,應(yīng)該說人生無處不在抉擇,一旦選擇了就不會放棄。既 然選擇了就不要輕易后悔,執(zhí)著的走下去,因?yàn)槟阋缓蠡?#xff0c;任何選擇和決定都是錯誤的。永遠(yuǎn)不要把時間浪費(fèi)到對往事后悔的追憶上。
如果你一直記得入行的理由,那么,在做軟件開發(fā)這份寂寞的路上,你永遠(yuǎn)不會被寂寞擊倒。成功就在你堅(jiān)持的那一刻來臨。
3.?一切從dos開始。
也 許你覺得奇怪,為什么要從dos開始,因?yàn)檫@里我是說你要成為一個成功的軟件程序員,而不是僅僅是一個程序員,既然你要成功,所以,你要厚積薄發(fā),所以, 從dos開始是有道理的。因?yàn)閺膁os開始,你就知道,要想刪除一個文件不是右鍵點(diǎn)一下,然后,選擇刪除菜單,可能還要點(diǎn)一個確定,就一切OK了,你可以 要執(zhí)行一下del指令,然后,還要輸入一些參數(shù)如文件名,可能還需要路徑,知道這兩個區(qū)別有什么用呢?當(dāng)然有用,你不會被漂亮的窗口界面(所見即所得的精 美畫面)所迷惑。?當(dāng)你現(xiàn)在才開始學(xué)習(xí)的時候,擋住窗口界面的引誘,或許你會更容易成功。?
你可以猜測出它們大概處理的過程是什么。
4.?開始你選擇的工具決定了你將來的發(fā)展水平
世 界上流行的程序語言有許多種,這種情況將來也不會改變,因?yàn)檫@是由我們所面臨的需要解決的計(jì)算問題的五彩繽紛所決定的。任何語言都不可能是最完美的工具, 不可能在處理任何問題時都是最銳利的寶劍。“為完成目的而不擇工具”;?一個計(jì)算機(jī)工作者需要理解掌握多種程序設(shè)計(jì)語言,只有這樣,在遇到具體問題時才可 能做出更合理的選擇。
目前流行的:.net;?Java;?VB;?VC等等。
各種開發(fā)工具各有千秋,應(yīng)根據(jù)具體應(yīng)用來采用不同的工具。 例如寫MIS用PB/VB就很好,界面設(shè)計(jì)用VB/Delphi很不錯,寫系統(tǒng)軟件,用C是最好的。對于初學(xué)者來說,先用一種可視化強(qiáng)的工具(如 VFP/VB/DELPHI)比較好,容易掌握,上手也快。但如果你想做一名真正的程序員,我建議你還是很有必要去精通C。
單從一個很功利的角度來說說。Delphi/?VB對于一般人來說學(xué)上幾個月就可以上手了。易學(xué)的東西學(xué)的人肯定多。而對于C來說,由于它難掌握,學(xué)的人不火,但一旦你真正掌握了,你的競爭實(shí)力就比其他人強(qiáng)。現(xiàn)實(shí)中,C程序員的工資普遍高于其他程序員就是一個證明。
Vb/delphi?寫界面的4000元
vc?寫通訊DLL的5000到6000元
linux?c/c++?寫服務(wù)器的7000到9000元
知道C/C++有前途了吧?
5.?編譯原理
如 果你有足夠的好奇的話,你現(xiàn)在應(yīng)該想知道編譯工具背后的故事,寫代碼時,你也許會奇怪,不同的程序語言為什么會有不同的語法,語義,語用;變量名為什么不 能數(shù)字開頭?計(jì)算機(jī)如何識別這些定義,運(yùn)算,名字空間等等。這個時候看看《編譯原理》多少能夠給你一些解釋。學(xué)習(xí)一點(diǎn)理論知識,加強(qiáng)你的理論功底,很多人 都說科班出身的程序員比參加社會認(rèn)證培訓(xùn)出來的程序員強(qiáng)的地方,就是理論功底強(qiáng),系統(tǒng)思考能力強(qiáng),時間長了就會體現(xiàn)出其優(yōu)勢。學(xué)習(xí)編譯原理的另一個好處在 于將來你學(xué)習(xí)其它開發(fā)工具時,?特別是學(xué)習(xí)不同底層語言的開發(fā)工具時,雖然它們的底層語言相關(guān)非常大,但是,除去這些語言的外衣,用編譯原理層面來看它 們,原來它們是如此相似。
6.?操作系統(tǒng)原理
你要知道,任何你做出來的軟件都是運(yùn)行在操作系統(tǒng)環(huán)境中的,操作系統(tǒng)為你的作品提供了什么樣 的環(huán)境呢??這很重要,如果是DOS,它是以軟中斷的方式提供的,而Windows則是以一系列的API提供的。然后,你還可以知道,如何判斷系統(tǒng)當(dāng)前路 徑,內(nèi)存管理機(jī)制、進(jìn)程/線程調(diào)度、信號、內(nèi)核對象管理、系統(tǒng)調(diào)用等,操作系統(tǒng)中如何處理死鎖的?。?
7.?現(xiàn)在讓我們進(jìn)入windows時代,windows下的開發(fā)工具
畢竟在微軟統(tǒng)治的時代,大家還是識時務(wù)者為俊杰比較好,windows下的開發(fā)工具一定要重點(diǎn)掌握。?面向過程編程向面向?qū)ο筠D(zhuǎn)變,現(xiàn)在流行的開發(fā)工具VC,VB都差不多。
8.?數(shù)據(jù)庫原理和開始數(shù)據(jù)庫編程
現(xiàn) 在做軟件一個最基本的應(yīng)用類型就是數(shù)據(jù)庫編程,這是可能使你可以勝任很大一部分工作了。也就是說,如果你掌握了數(shù)據(jù)庫之后,你就可以出去找工作了。很多應(yīng) 用程序都是以數(shù)據(jù)庫的數(shù)據(jù)為中心,而數(shù)據(jù)庫的產(chǎn)品也有不少,其中關(guān)系型數(shù)據(jù)庫仍是主流形式,用SQL?server作為起點(diǎn)吧,因?yàn)檫@東西使用起來挺方便 的。寫一個簡單的單表輸入程序,簡單一點(diǎn)容易掌握。比如寫一個客戶資料錄入程序。?
10?英語
統(tǒng)計(jì)表明,全世界45個國家的官方語言是英語,1/3的人講英語,75%的電視節(jié)目用英語播出,80%以上的科技信息用英文表達(dá),幾乎100%的軟件源代碼用英文寫成。
學(xué)習(xí)英語真得很重要,且不說它是程序世界的主導(dǎo)語言,且不說它是計(jì)算機(jī)專業(yè)本科畢業(yè)生四年的必修課,且不說它是全世界程序高手們互相切磋尋求幫助的主要工具,它還是現(xiàn)在大多數(shù)用人單位的敲門磚,在這樣一個開放性的社會里,如果你不懂英文,你是不是很難稱得上是一個人才啊!
多讀英文書。信息技術(shù)發(fā)展太快,而大部分的技術(shù)最先出現(xiàn)的時候都是英文版本的,要幾個月以后才有中文版本的書出來,因此要想跟上步伐,一定要努力提高自己的英文水平,這樣才能同步跟上信息技術(shù)。你可能擔(dān)心自己的英語水平不行,沒關(guān)系,剛開始多查字典。
很多東西看中文的譯版不如原版的清晰,中文的可能越看越糊涂,可是英文卻可以一目了然。再說對于一些最新的技術(shù)和動態(tài)文章,你哪里有時間去等到別人給你翻譯出來再看啊,等你看到了,也快過時了。不懂英語,你真得很難算得上是一個人才!
到了這里,你沒有發(fā)現(xiàn)你在和別人聊軟件開發(fā)時,別人對你的態(tài)度有變化呢??
八、 從現(xiàn)在開始,你要注意和別人交流了,因?yàn)閺默F(xiàn)在開始的很多東西,都是別人一指點(diǎn)就可以,而你自己看需要很久的。可以經(jīng)常去一些論壇交流,都是很不錯的,沒 有不上網(wǎng)的程序員,也沒有不在網(wǎng)上取長補(bǔ)短的程序員。不過在問問題之前,自己一定要先努力嘗試過,再給出自己的想法。動不動就問別人,自己水平得不到提 高,別人也不再會回答你的問題。
九、程序員最喜歡的網(wǎng)站:
http://www.microsoft.com/china/msdn/default.asp ?微軟社區(qū)
(IBM?SUN?Borland?orACLE?BEA?CISCO?GOOGLE)
http://www.csdn.net ?中國軟件
www.china-pub.com?互動出版社
www.codestudy.net?程序員聯(lián)盟
http://www.codeproject.com
www.soft.net?印度
msdn.microsoft.com/msdnmag
十、程序員的七種武器
第一種武器:開發(fā)工具
至 少熟練掌握兩到三種開發(fā)工具的使用,這是程序員的立身之本,其中C/C++和JAVA是我重點(diǎn)推薦的開發(fā)工具,C/C++以其高效率和高度的靈活性成為開 發(fā)工具中的利器,很多系統(tǒng)級的軟件還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結(jié)合是JAVA的優(yōu)勢所在,而本人對SUN公司的“網(wǎng)絡(luò)即計(jì) 算機(jī)”的概念相當(dāng)欣賞,并相信JAVA即其相關(guān)的技術(shù)集JAVA?One會成為未來的主流開發(fā)工具之一。其次,如果能掌握一種簡便的可視化開發(fā)工具,如 VB,PowerBuilder,Delphi,C++?Builder,則更好,這些開發(fā)工具減小了開發(fā)難度,并能夠強(qiáng)化程序員對象模型的概念。另外, 需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。?
第二種武器:數(shù)據(jù)庫
為什么數(shù)據(jù)庫是如此重要?很多應(yīng)用程 序都是以數(shù)據(jù)庫的數(shù)據(jù)為中心,而數(shù)據(jù)庫的產(chǎn)品也有不少,其中關(guān)系型數(shù)據(jù)庫仍是主流形式,所以程序員至少熟練掌握一兩種數(shù)據(jù)庫,對關(guān)系型數(shù)據(jù)庫的關(guān)鍵元素要 非常清楚,要熟練掌握SQL的基本語法。雖然很多數(shù)據(jù)庫產(chǎn)品提供了可視化的數(shù)據(jù)庫管理工具,但SQL是基礎(chǔ),是通用的數(shù)據(jù)庫操作方法。如果沒有機(jī)會接觸商 業(yè)數(shù)據(jù)庫系統(tǒng),可以使用免費(fèi)的數(shù)據(jù)庫產(chǎn)品是一個不錯的選擇,如mySQL,?Postgres等。?
第三種武器:操作系統(tǒng)
當(dāng)前主流的操作 系統(tǒng)是Windows,Linux/Unix,熟練地使用這些操作系統(tǒng)是必須的,但只有這些還遠(yuǎn)遠(yuǎn)不夠。要想成為一個真正的編程高手,需要深入了解操作系 統(tǒng),了解它的內(nèi)存管理機(jī)制、進(jìn)程/線程調(diào)度、信號、內(nèi)核對象、系統(tǒng)調(diào)用、協(xié)議棧實(shí)現(xiàn)等。Linux作為開發(fā)源碼的操作系統(tǒng),是一個很好的學(xué)習(xí)平臺, Linux幾乎具備了所有現(xiàn)代操作系統(tǒng)的特征。雖然Windows系統(tǒng)的內(nèi)核實(shí)現(xiàn)機(jī)制的資料較少,但通過互聯(lián)網(wǎng)還是能獲取不少資料。只有對操作系統(tǒng)有一定 的了解后,你會發(fā)現(xiàn)自己上了一個新的臺階。?
第四種武器:網(wǎng)絡(luò)協(xié)議TCP/IP
在互聯(lián)網(wǎng)如此普及的今天,如果您還沒有對互聯(lián)網(wǎng)的支撐協(xié)議 TCP/IP協(xié)議棧有很好的掌握,就需要迅速補(bǔ)上這一課,網(wǎng)絡(luò)技術(shù)已改變了軟件運(yùn)行的模式,從最早的客戶/服務(wù)器結(jié)構(gòu),到今天的 WEB?Services,再到未來的網(wǎng)格計(jì)算,這一切都離不開以TCP/IP協(xié)議棧為基礎(chǔ)的網(wǎng)絡(luò)協(xié)議支持,所以,深入掌握TCP/IP協(xié)議是非常必要 的。至少,你需要了解ISO七層協(xié)議模型,IP/UDP/TCP/HTTP等常用協(xié)議的原理和三次握手機(jī)制。?
第五種武器:DCOM/CORBA/XML/WEB?Services
隨 著技術(shù)的發(fā)展,軟件與網(wǎng)絡(luò)的無縫結(jié)合是必然趨勢,軟件系統(tǒng)的位置無關(guān)性是未來計(jì)算模式的重要特征之一,DCOM/CORBA是當(dāng)前兩大主流的分布計(jì)算的中 間件平臺,DCOM是微軟COM(組件對象模型)的擴(kuò)展,而CORBA是OMG(object?Management?group)支持的規(guī)范。程序員需 要做的不僅僅是利用商業(yè)的開發(fā)平臺來開發(fā)軟件,而是要理解這些技術(shù)的初衷,即為什么需要這項(xiàng)技術(shù),如果你能理解了這一點(diǎn),再回頭看這些技術(shù)的具體實(shí)現(xiàn),就 如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結(jié)構(gòu)化的表示方法和超強(qiáng)的表達(dá)能力被喻為互聯(lián)網(wǎng)上的“世界語”,是分布 計(jì)算的基石之一。?
第六種武器:軟件工程與CMM
現(xiàn)代大型軟件系統(tǒng)的開發(fā)中,工程化的開發(fā)控制取代個人英雄主義,成為軟件系統(tǒng)成功的保 證,一個編程高手并不一定是一個優(yōu)秀的程序員,一個優(yōu)秀的程序員是將出色的編程能力和開發(fā)技巧同嚴(yán)格的軟件工程思想有機(jī)結(jié)合,編程只是軟件生命周期中的其 中一環(huán),優(yōu)秀的程序員應(yīng)該掌握軟件開發(fā)各個階段的基本技能,如市場分析,可行性分析,需求分析,結(jié)構(gòu)設(shè)計(jì),詳細(xì)設(shè)計(jì),軟件測試等。一句話可以概括我的看 法:“創(chuàng)意無限,流程保證”。?
第七種武器:強(qiáng)烈的好奇心
什么才是一個程序員的終極武器呢,那就是強(qiáng)烈的好奇心和學(xué)習(xí)精神。沒有比強(qiáng)烈的好奇心和學(xué)習(xí)精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。?
養(yǎng)成良好的習(xí)慣
現(xiàn) 在很流行的一句話是“性格決定命運(yùn)”,實(shí)際上可以這樣理解,你的性格決定你的習(xí)慣,而習(xí)慣決定你的命運(yùn)!中國有一句古話叫做:習(xí)慣成自然。同時,西方古希 臘哲學(xué)家亞里士多德也說過:“優(yōu)秀是一種習(xí)慣”,比如你每天早上堅(jiān)持起來讀書,就養(yǎng)成了讀書的好習(xí)慣。那么懶惰也是一種習(xí)慣,不知道在座的各位又沒有感覺 到,當(dāng)你睡覺越來越多的時候,你每天都想睡覺,越睡越懶,越坐越癱。你習(xí)慣于10點(diǎn)睡覺7點(diǎn)起床,那就比習(xí)慣于11點(diǎn)睡覺6點(diǎn)起床的人少擁有兩個小時,而 據(jù)我所知很多好學(xué)習(xí)的人都是12點(diǎn)睡覺5點(diǎn)起床的,那你就又比他們每天少擁有4個小時了。
在一次次沉重的洗禮后,痛苦地改掉不利于自己發(fā)展的不良習(xí)慣,從而又一次超越自己。
一、適當(dāng)背誦的習(xí)慣
新 東方有個學(xué)員上中學(xué)的時候英語特別的差,總是倒數(shù)第一名,于是為了提高自己的英文水平他就決定開始背誦新概念英語,結(jié)果背到一半2冊的時候,他成績就明顯 提高了。高考后上了大學(xué),他考上了一所比較著名的大學(xué),他本來不想再背誦了,但是當(dāng)他背給同學(xué)聽的時候,其他同學(xué)都露出了羨慕的眼光,于是為了這種虛榮 心,他就堅(jiān)持背誦第三冊第四冊,背得滾瓜爛熟,你說上一句,他就能聯(lián)出下一句,而且語音非常標(biāo)準(zhǔn),因?yàn)樗悄7麓艓П痴b的。后來他去了美國的duke大 學(xué),第一個星期寫文章,教授就把他叫過來說你的文章是剽竊的,他說:“我教了20年的書也沒教出這么漂亮的文章來”,這個學(xué)生說我沒辦法證明我能寫出這么 漂亮的文章,但我告訴你我能背誦108篇文章,你想不想聽,于是他就開始背誦,結(jié)果他沒背完兩篇,教授就哭了起來,為什么?這個教授想我教了20年書,居 然一篇文章也沒有背過,被中國學(xué)生背掉了,所以很難過。小時候背誦兒歌的故事,好的算法和好的代碼可以重點(diǎn)看一看。?
二、好為人師的習(xí)慣?
把 你認(rèn)為你懂的東西講出來吧,將給別人聽,你會記憶得更加深刻。成就感是一點(diǎn)一點(diǎn)積累起來的,你考考別人bluetooth、ASP、PDA、CDMA是什 么?如果他不懂,你就講給他聽,同時你自己的記憶也在加深。在現(xiàn)代這樣一個向開放型過渡的社會里,你要想成功必須要善于表達(dá)自己,善于表達(dá)自己的觀點(diǎn)和思 想,并想辦法說服別人,做市場作營銷當(dāng)老師當(dāng)領(lǐng)導(dǎo)者,你要想證明自己有能力,那你就必須學(xué)會說出來呀、表達(dá)自己,塑造你個人的影響力,人與人之間的交往, 就是意志力與意志力的較量,不是我影響你,就是你影響我。?現(xiàn)在最流行的職業(yè):口力勞動者,教師、主持人、歌星、領(lǐng)導(dǎo)、美國總統(tǒng)、市場營銷人員等等。
三、五官齊用的習(xí)慣?
如果說你看到的東西,你會記住30%,那么你同時看和聽就會記住50%,如果你既看又聽,手里還在寫、嘴里還在念念有詞,你就會記住100%,如果日后有時間再復(fù)習(xí)兩至三遍,你就永遠(yuǎn)不會忘記了。不在于你一次看了多長時間,重要的是你重復(fù)了多少次!?
四、學(xué)習(xí)他人的習(xí)慣?
給 自己樹立一個目標(biāo)人物,最好從身邊找到一個這樣的榜樣,你可以跟他交流,這樣當(dāng)你遇到困難的時候想一想你做敬佩的人會怎樣做,你就有力量去征服它了。我常 以為,這輩子如果能遇到一位好的指導(dǎo)老師講是一件很幸運(yùn)的事情。如果身邊沒有,我上面舉了那么多的明星人物,從里面找一個你的努力目標(biāo)吧!周奕的例子, mp3到光盤刻錄、注冊碼、匯款方式。小的目標(biāo)大的目標(biāo),向他看齊,現(xiàn)在時代,不是個人英雄主義的時代,你要學(xué)會從別人身上學(xué)習(xí)好的東西,拿為己用,你的 任務(wù)只是在他的基礎(chǔ)上能夠提升。?
五、見縫插針的習(xí)慣?
時間像海綿里的水,看你怎樣擠出來用,最有效的記憶規(guī)律不是你一次記憶多長時間,二是你多長時間重復(fù)記憶多少次。把你最喜歡的書隨時帶在身邊,有空就看,不要讓大腦閑置太久不用。背單詞。
六、設(shè)立特定的目標(biāo)并規(guī)定期限?
把 你的人生當(dāng)成程序來設(shè)計(jì),制定計(jì)劃,并限制完成的日期,否則你總會被各種原因而耽誤的。比如說參加gre考試,你永遠(yuǎn)也不敢肯定自己是否已經(jīng)準(zhǔn)備到最充分 了,那么是不是就一直不考呢?一直在準(zhǔn)備準(zhǔn)備、復(fù)習(xí)復(fù)習(xí),直到你筋疲力盡沒有力氣去考試了,一鼓作氣、再而衰、三而竭,再說時間有限,你有多少時間可以浪 費(fèi)呢??
七、注重實(shí)踐的習(xí)慣?
無論你的書本知識掌握得多么牢固,你多么的清晰地理解你所學(xué)到的知識,你一到實(shí)踐中去用,你會發(fā)現(xiàn)遠(yuǎn)遠(yuǎn)不是 那么一回事。就像學(xué)習(xí)游泳,我學(xué)游泳的時候,請教了無數(shù)的游泳專家,模仿最標(biāo)準(zhǔn)的姿勢,練氣和技巧,我在陸地上不停的練習(xí)、練習(xí)、再練習(xí),可是一下水,全 完了,還是不會。?做程序員,那得練、不停的練習(xí)。最好的學(xué)習(xí)方法,就是自己寫一段小程序。學(xué)習(xí)開車,我跟我男朋友學(xué)開車,每次他開車的時候都告訴我,怎 樣啟動發(fā)動機(jī),然后踩離合器,掛檔,給油,剎車停車,我對開車的理論和技巧無比熟悉了,自信一定可以開車了,于是就嘗試了一下,怎么樣,結(jié)果不是不堪設(shè)想 啊,動用了手剎。學(xué)員活動調(diào)查結(jié)果,最短時間內(nèi)、最快學(xué)會編程、成為像你們一樣的程序員!
?一點(diǎn)學(xué)習(xí)經(jīng)驗(yàn)
勤奮練習(xí)?
把書上的例子輸進(jìn)電腦實(shí)踐一遍,然后進(jìn)行各種試驗(yàn),再聯(lián)想出各種相關(guān)的程序,自己寫出來,并驗(yàn)證自己的結(jié)果。
讀高手寫的程序
有了一定的基礎(chǔ)的時候,可以嘗試去讀高手寫的程序,解讀他們的程序的設(shè)計(jì)理念、風(fēng)格、解決問題的思路等。我的程序就和英語一樣,一個變量名就是一個句子!寫程序很少加注釋!
GNU/Linux為我們提供了一個巨大的源程序?qū)殠?#xff0c;里面有各種各樣的程序源代碼,詳細(xì)研究一套你感興趣的系統(tǒng),你的水平會得到大幅度提高。
不斷提高?
除了多加練習(xí),你還需要多讀書,特別是英文書。要適時的選擇自己的主攻方向。
記筆記的習(xí)慣
隨時拿著你的筆和筆記本,一接收到有用的信息或字急又好的想法就迅速記下來,抓住瞬息即逝的靈感。自己大腦里蹦出來的東西,才是自己的價值和驕傲。
學(xué) 習(xí)它是個長期的過程,要不斷的總結(jié)經(jīng)驗(yàn),我們學(xué)習(xí)就怕不能持之以恒。關(guān)于這點(diǎn)大家比我更清楚。一旦你學(xué)會了它,其他的語言就可以觸類旁通了,例如:C+ +,C#,JAVA,VB,DELPHI......這些學(xué)起來就會比那些C語言基礎(chǔ)不扎實(shí)的人要輕松得許多!學(xué)習(xí)的過程是一個不斷積累的過程,只有學(xué)習(xí) 的時間積累到一定的程度,才能發(fā)生質(zhì)的提高。經(jīng)過ACCP接近兩年時間學(xué)習(xí)培養(yǎng)出來的軟件工程師才是當(dāng)前市場上亟需的專業(yè)軟件人才,才意味著高薪和價值。
程序員的分類
第 一種是初級,這種人數(shù)量最多,水平最低。喜歡看報(bào)紙上的編程小知識,秘籍和技巧大全之類的東西,這給了他廣博的半瓶子醋的學(xué)問。這種程序員往往把編程這種 腦力勞動變成敲鍵盤的體力勞動。把軟件白領(lǐng)變成了軟件藍(lán)領(lǐng)。一些軟件公司的Fans們往往拿著嚇人的工資、做著嚇人的項(xiàng)目,他們做出來的結(jié)果也往往很嚇 人。這些人組成了軟件人才市場上的流動大軍。?
第二種是通常意義上的高手,他們有時候覺得自己十分了不起,有時候又覺得自己什么也不是。大部分時候,他沒感覺,沒激情,沒愛,相當(dāng)于一個血肉機(jī)器、曰之為“感情木頭”。對于他們來說沒有比coding更加有意義的事情了。?
第三種是大師級的人物。在平凡的外表下,是一個無所不能的人。沒有一個人和一條狗不尊敬他。他吐痰的樣子也有人模仿。微軟公司首席“建筑師”西蒙尼就是一個這樣的人物。不過,他說“合作比天才更重要”
為什么軟件市場上人才缺口這么大,每年20萬之多,最缺乏的是熟練的程序員,而成千上萬的畢業(yè)生又找不到工作。大家應(yīng)該好好想一想:
軟件人才是多了,但多的是沒有實(shí)際工作經(jīng)驗(yàn)、技術(shù)掌握的層次低的開發(fā)人員。這批人頻繁地跳槽形成的求職大軍營造出中國軟件人才一大把的現(xiàn)象。?
軟件人才是少了,少的是具有豐富工作經(jīng)驗(yàn),技術(shù)扎實(shí)精深的工程師一類的開發(fā)人員。他們在哪里都是炙手可熱的人物,求職大軍里自然少有這樣的人才。?
勸每一個學(xué)員克服浮躁,踏踏實(shí)實(shí)地走好每一步!既然要學(xué),就得耐心,你要告訴自己,要用一生的時間去學(xué)習(xí)它,你就不會急功近利了。
俞敏洪總結(jié)的成功的四種能力
一、忍受孤獨(dú)的能力是成功者的必經(jīng)之路
不 管有多少人在你身邊,父母督促你、朋友鼓勵你,你要想達(dá)到成功最終都要靠你自己, God?helps?those?who?help?themselves.?如果你想走出平凡,那么請你走進(jìn)孤獨(dú)!孤獨(dú)的人是走得最快的人!去除浮躁, 不要總想著你將來會怎樣怎樣,重要的是現(xiàn)在,自信心是一點(diǎn)一滴積累起來的。
二、忍受失敗的能力是重新振作的源泉
生活中的失敗實(shí)在是太多 了,整個社會的競爭體系是一個金字塔式的結(jié)構(gòu),你可以說我與世無爭,我知足者長樂,當(dāng)然你可以這樣做。可是社會不允許你這樣做,因?yàn)樗粫屇銟诽玫?#xff0c; 不進(jìn)則退、優(yōu)勝劣汰的市場機(jī)制會淘汰你,你會被社會拋在金字塔的最底層,你會感到整個金字塔的重量都壓在了你的身上,你見不到陽光,你欣賞不到美麗的風(fēng) 景,你感到絕望。所以為了更好的活著,你就要振作、努力。好在機(jī)遇是平等的,在機(jī)會來臨的時候,如果你有能力就會抓住它。
三、忍受屈辱的能力是成就大業(yè)的基礎(chǔ)?
你 去新東安燕莎買東西,如果你沒有錢,你會不會感受到售貨員對你的態(tài)度不一樣了呢?你去找工作,被人才市場上的人流擠得東倒西歪,北大清華的請到前面來,男 生請到前面來,碩士博士請到前面來……,?你租房子被各種各樣的房東趕著跑,一年到頭不停的搬家,與小商販為了幾塊錢討價還價,你為了一點(diǎn)點(diǎn)的錢為老板四 處奔波。這些都是屈辱,在你成功之前你必須忍受屈辱。?
四、生理承受能力是成就大業(yè)的前提?
做一件事情,你付出了別人所沒有付出的,那你 得到的也是別人所沒有得到的。當(dāng)我們已經(jīng)開始做了某一件事情之后,我們則不宜由于我們現(xiàn)在認(rèn)為另一件事更理想、更值得做而輕易改變我們的行動。?已經(jīng)開始 做了這件事,已經(jīng)為此付出了心力;而且,究竟我們現(xiàn)在的認(rèn)識正確還是過去的認(rèn)識正確也還有待于檢驗(yàn);因?yàn)槲覀兠恳粋€人的生命和精力都是有限的!
對待學(xué)習(xí)的態(tài)度
沒有壓力就沒有動力,要想辦法給自己施加壓力,平時多看書,多接觸相關(guān)的知識,保持永遠(yuǎn)能夠?qū)W習(xí)的慣性,當(dāng)然專業(yè)知識要不斷的研究和深入探索;當(dāng)真正的壓力到來時,你的學(xué)習(xí)效率才是最高的。用任務(wù)去學(xué)習(xí),沒有任務(wù)制造任務(wù)。
我們每天的工作就是接受問題,解決問題,只能就事而論了。主要態(tài)度如下:接受它、分析它、解決它、放下它;
克服學(xué)習(xí)中的冷熱病,有了刺激就去學(xué)習(xí),刺激過去了就放松,考試來了就緊張,考試過了就全忘。聽了一場講座或報(bào)告就意氣風(fēng)發(fā),苦學(xué)三天三夜,然后就又找借口放松。
今天想干這個,明天想干那個,結(jié)果一事無成。
書到用時方恨少,事非經(jīng)過不知難,書有未曾經(jīng)我,讀事無不可對人言
微?軟:李開復(fù)的一封信
李開復(fù)是微軟中國研究院的院長,是微軟公司的副總裁,他在中國的各大高校里做演講,他十分了解中國學(xué)生的心理,所以語重心長的給中國學(xué)生寫了一封信:
中 國的軟件也還不很發(fā)達(dá),我們每天耳濡目染的都是一些國外的名牌, MS/IBM/SONY/HP/CANNON/SUN/CISCO/INTEL/DELL/PHILIP/TOSHIBA/PENASONIC/EPSON, 日本的產(chǎn)品現(xiàn)在已經(jīng)打遍了全世界,他們非常地團(tuán)結(jié),他們叫做大和民族,同為亞洲東海岸的中華民族,為什么相差得這樣懸殊,不要過多地去找歷史的原因,想一 想自己,你有沒有把你自己的理想和目標(biāo)同國家聯(lián)系起來呢?
人生最重要的東西,進(jìn)取、熱情,信任,堅(jiān)持,努力,自律,思考,感動,耐心,韌性、珍惜
……?……
奔 跑人生:在靜謐的非洲大草原上,夕陽西下,一頭獅子在沉思,明天當(dāng)太陽升起的時候,我要奔跑,以追得上跑得最快的羚羊,此時,一只羚羊也在思考,明天當(dāng)太 陽升起的時候,我要奔跑,以躲過跑得最快的獅子的捕獲,是的,無論你是獅子或者羚羊,明天,當(dāng)太陽升起的時候你所要做的就是:毫不猶豫地向前奔跑!
轉(zhuǎn)載于:https://www.cnblogs.com/snowdrift/archive/2007/03/10/670039.html
總結(jié)
以上是生活随笔為你收集整理的程序员成功之路 ——The road ahead for programmer(转引)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Effective C# 原则16:垃圾
- 下一篇: javax.servlet.Generi