久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

程序?qū)W習(xí)心得

時間:2019-05-12 14:54:00下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《程序?qū)W習(xí)心得》,但愿對你工作學(xué)習(xí)有幫助,當然你在寫寫幫文庫還可以找到更多《程序?qū)W習(xí)心得》。

第一篇:程序?qū)W習(xí)心得

經(jīng)驗分享

(一)一位高級程序員給學(xué)弟學(xué)妹的建議我始終認為,對一個初學(xué)者來說,IT 界的技術(shù)風(fēng)潮是不可以追趕的,而且也沒有能力去追趕。我時常看見自己的DDMM 們把課本扔了,去賣些價格不菲的諸如C#, VB.Net 這樣的大部頭,這讓我感到非常痛心。而許多搞不清指針是咋回事的BBS 站友眉飛色舞的討論C# 里面可以不用指針等等則讓我覺得好笑。C# 就象當年的ASP 一

樣,“忽如一夜春風(fēng)來,千樹萬樹梨花開”,結(jié)果許多學(xué)校的信息學(xué)院成了“Web 學(xué)院”96,97 級的不少大學(xué)生都去做Web 了。當然我沒有任何歧視某一行業(yè)的意識。我只是覺得如果他們把追趕這些時髦技術(shù)的時間多花一點在基礎(chǔ)的課程上應(yīng)該是可以走得更遠的.幾個誤區(qū)

初學(xué)者對C# 風(fēng)潮的追趕其實也只是學(xué)習(xí)過程中經(jīng)常遇到的幾個誤區(qū)之一。我將用一些實際的例子來說明這些現(xiàn)象,你可以按部就班的看看自己是不是屬于其中的一種或者幾種:

1.認為計算機技術(shù)等于編程技術(shù):

有些人即使沒有這個想法,在潛意識中也有這樣的沖動。讓我奇怪的是,許多信息學(xué)院的學(xué)生也有這樣的念頭。認為計算機專業(yè)就是編程專業(yè),與編程無關(guān)的,或者不太相關(guān)的課程他統(tǒng)統(tǒng)都不管,極端的學(xué)生只要書上沒帶“編程”兩個字他就不看。

其實編程只是計算機技術(shù)應(yīng)用過程中一種復(fù)雜性最低的勞動,這就是為什么IT 業(yè)最底層的人是程序員(CODER)。計算機技術(shù)包括了多媒體,計算機網(wǎng)絡(luò),人工智能,模式識別,管理信息系統(tǒng)等等這些方面。編程工作只是在這些具體技術(shù)在理論研究或者工程實踐的過程中表達算法的過程。編程的人不一定對計算機技術(shù)的了解就一定很高。而一個有趣的現(xiàn)象是,不少大師級的計算機技術(shù)研究者是不懂編程的。網(wǎng)上的炒作和現(xiàn)實中良好的工作待遇把編程這種勞動神秘化了。其實每一個程序員心里都明白,自己這些東西,學(xué)的時候并不比其它專業(yè)難,所以自然也不會高檔到哪里去。

2.咬文嚼字的孔已己作風(fēng):

我見過一本女生的《計算機網(wǎng)絡(luò)原理》教材,這個女生像封學(xué)生一樣在書上劃滿了橫杠杠,筆記做得滿滿的,打印出來一定比教材還厚。我不明白的是,像計算機網(wǎng)絡(luò)原理這樣的課程有必要做筆記?我們的應(yīng)試教育的確害了不少學(xué)生,在上《原理》這一類課程的時候許多學(xué)生像學(xué)《馬列原理》一樣逐字背誦記憶。這乃是我見過的最愚蠢的行為。所謂《原理》,即是需要掌握它為什么這樣做,學(xué)習(xí)why,而不是how(怎樣做)。極端認真的學(xué)生背下以太網(wǎng)的網(wǎng)線最大長度,數(shù)據(jù)幀的長度,每個字段的意義,IP報頭的格式等等,但是忘了路由的原則,忘了TCP/IP 協(xié)議設(shè)計的宗旨。總之許多人花了大量的時間把書背得滾瓜爛熟卻等于什么也沒學(xué)。

在學(xué)習(xí)編程的時候這些學(xué)生也是這樣,他們確切的記得C++ 語法的各個細節(jié)。看完了C++ 教程后看《Thinkingin C++ 》(確實是好書),《Inside C++ 》,《C++ reference 》,this C++, that C++……,然后是網(wǎng)上各種各樣的關(guān)于C++ 語法的奇聞逸事,然后發(fā)現(xiàn)自己又忘了C++ 的一些語法,最后回頭繼續(xù)惡補…。有個師弟就跟我說:“C++ 太難了,學(xué)了這里忘了那里,學(xué)了繼承忘了模板。” 我的回答道:“你不去學(xué)就容易了”。我并沒有教壞他,只是告訴他,死摳C++ 的語法就和孔已己炫耀茴香豆的茴字有幾種寫法一樣毫無意義。你根本不需要對的C++ 語法太關(guān)心,動手編程就是了,有不記得的地方一查MSDN 就立馬搞定。我有個結(jié)論就是,實際的開發(fā)過程中對程序語法的了解是最微不足道的瞄識。這是為什么我在為同學(xué)用Basic(我以前從沒有學(xué)過它)寫一個封程序的時候,只花了半個封時看了看語法,然后再用半個封時完成了程序,而一個封時后我又完全忘記了Basic 的所有關(guān)鍵字。

3.不顧基礎(chǔ),盲目追趕時髦技術(shù):

終于點到題目上來了。大多數(shù)的人都希望自己的東西能夠馬上跑起來,變成錢。這種想法對一個已經(jīng)進入職業(yè)領(lǐng)域的程序員或者項目經(jīng)理來說是合理的,而且IT 技術(shù)進步是如此的快,不跟進就是失業(yè)。但是對于初學(xué)者來說(尤其是時間充裕的大中專在校生),這種想法是另人費解的。一個并未進入到行業(yè)競爭中來的初學(xué)者最大的資本便是他有足夠的時間沉下心來學(xué)習(xí)基礎(chǔ)性的東西,學(xué)習(xí)why 而不是how。時髦的技術(shù)往往容易掌握,而且越來越容易掌握,這是商業(yè)利益的驅(qū)使,為了最大化的降低軟件開發(fā)的成本。但在IT 領(lǐng)域內(nèi)的現(xiàn)實就是這樣,越容易掌握的東西,學(xué)習(xí)的人越多,而且淘汰得越快。每一次新的技術(shù)出來,都有許多初學(xué)者跟進,這些初學(xué)者由于缺乏必要的基礎(chǔ)而使得自己在跟進的過程中花費大量的時間,而等他學(xué)會了,這種技術(shù)也快淘汰了。基礎(chǔ)的課程,比方數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng)原理等等雖然不能讓你立馬就實現(xiàn)一個linux(這是許多人嘲笑理論課程無用的原因),但它們能夠顯著的減少你在學(xué)習(xí)新技術(shù)時學(xué)習(xí)曲線的坡度。而且對于許多關(guān)鍵的技術(shù)(比方Win32 SDK 程序的設(shè)計,DDK 的編程)來說甚至是不可或缺的。

一個活生生的例子

我和我的一個同學(xué),在大一時我還找不到開機按紐,他已經(jīng)會寫些簡單的匯編程序了。我把大二的所有時間花在了匯編,計算機體系結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng)原理等等這些課程的學(xué)習(xí)上,而他則開始學(xué)習(xí)HTML 和VB,并追趕ASP 的潮流。大三的時候我開始學(xué)習(xí)Windows 操作系統(tǒng)原理,學(xué)習(xí)SDK 編程,時間是漫長的,這時我才

能夠用VC 開發(fā)出象模象樣的應(yīng)用程序。我曾一度因為同學(xué)的程序已經(jīng)能夠運行而自己還在學(xué)習(xí)如何創(chuàng)建對話框而懊惱不已,但臨到畢業(yè)才發(fā)現(xiàn)自己的選擇是何等的正確。和我談判的公司開出的薪水是他的兩倍還多。下面有一個不很恰當?shù)谋确剑杭僭O(shè)學(xué)習(xí)VB 編程需要4 個月,學(xué)習(xí)基礎(chǔ)課程和VC 的程序設(shè)計需要1 年。那么如果你先學(xué)

VB,再來學(xué)習(xí)后者,時間不會減少,還是1 年,而反過來,如果先學(xué)習(xí)后者,再來學(xué)VB,也許你只需要1 個是期就能學(xué)得非常熟練。

幾個重要的基礎(chǔ)課程

如果你是學(xué)生,或者如果你有充足的時間。我建議你仔細的掌握下面的瞄識。我的建議是針對那些希望在IT 技術(shù)上有所成就的初學(xué)者。同時我還列出了一些書目,這些書應(yīng)該都還可以在書店買到。說實在的,我在讀其他人的文章時最大的心愿就是希望作者列出一個書單。

大學(xué)英語-不要覺得好笑。我極力推薦這門課程是因為沒有專業(yè)文檔的閱讀能力是不可想象的。中文的翻譯往往在猴年馬月才會出來,而現(xiàn)在的許多出版社干脆就直接把E 文印刷上去。學(xué)習(xí)的方法是強迫自己看原版的教材,開始會看不懂,用多了自然熟練。吃得苦下得狠心絕對是任何行業(yè)都需要的品質(zhì)。

計算機體系結(jié)構(gòu)和匯編語言-關(guān)于體系結(jié)構(gòu)的書遍地都是,而且也大同封異,倒是匯編有一本非常好的書《80x86 匯編語言程序設(shè)計教程》(清華大學(xué)出版社,黑色封面,楊季文著)。你需要著重學(xué)習(xí)386 后保護模式的程序設(shè)計。否則你在學(xué)習(xí)現(xiàn)代操作系統(tǒng)底層的一些東西的時候會覺得是在看天書。

計算機操作系統(tǒng)原理-我們的開發(fā)總是在特定的操作系統(tǒng)上進行,如果不是,只有一種可能:你在自己實現(xiàn)一個操作系統(tǒng)。無論如何,操作系統(tǒng)原理是必讀的。這就象我們?yōu)橐粋€芯片制作外圍設(shè)備時,芯片基本的工作時序是必需了解的。這一類書也很多,我沒有發(fā)現(xiàn)哪一本書非常出眾。只是覺得在看完了這些書后如果有空就應(yīng)該看看《In side Windows 2000 》(微軟出版社,我看的是E 文版的,中文的書名想必是Windows 2000 技術(shù)內(nèi)幕之類吧)。關(guān)于學(xué)習(xí)它的必要性,ZDNET 上的另一篇文章已經(jīng)有過論述。

數(shù)據(jù)結(jié)構(gòu)和算法-這門課程能夠決定一個人程序設(shè)計水平的高低,是一門核心課程。我首選的是清華版的(朱戰(zhàn)立,劉天時)。很多人喜歡買C++ 版的,但我覺得沒有必要。C++ 的語法讓算法實現(xiàn)過程變得復(fù)雜多了,而且許多老師喜歡用模塊這一東西讓算法變得更復(fù)雜。倒是在學(xué)完了C 版的書以后再來瀏覽一下C++ 的版的書是最好的。

軟件工程-這門課程是越到后來就越發(fā)現(xiàn)它的重要,雖然剛開始看時就象看馬哲一樣不瞄所云。我的建議是看《實用軟件工程》(黃色,清華)。不要花太多的時間去記條條框框,看不懂就跳過去。在每次自己完成了一個軟件設(shè)計任務(wù)(不管是練習(xí)還是工作)以后再來回顧回顧,每次都會有收獲。

Windows 程序設(shè)計-《北京大學(xué)出版社,Petzold 著》我建議任何企圖設(shè)計Windows 程序的人在學(xué)習(xí)VC 以前仔細的學(xué)完它。而且前面的那本《Inside Windows 2000 》也最好放到這本書的后面讀。在這本書中,沒有C++,沒有GUI,沒有控件。有的就是如何用原始的C 語言來完成Windows 程序設(shè)計。在學(xué)完了它以后,你才會發(fā)現(xiàn)VC 其實是很容易學(xué)的。千萬不要在沒有看完這本書以前提前學(xué)習(xí)VC,你最好碰都不要碰。我瞄道的許多名校甚至都已經(jīng)用它作為教材進行授課。可見其重要。

上面的幾門課程我認為是必學(xué)的重要課程(如果你想做Windows 程序員)。

對于其它的課程有這樣簡單的選擇方法:如果你是計算機系的,請學(xué)好你所有的專業(yè)基礎(chǔ)課。如果不是,請參照計算機系的課程表。如果你發(fā)現(xiàn)自己看一本書時無法看下去了,請翻到書的最后,看看它的參考文獻,找到它們并學(xué)習(xí)它們,再回頭看這本書。如果一本書的書名中帶有“原理”兩個字,你一定不要去記憶它其中的細節(jié),你應(yīng)該以一天至少50 頁的速度掌握其要領(lǐng)。盡可能多的在計算機上實踐一種理論或者算法。

你還可以在CSDN 上閱讀到許多書評。這些書評能夠幫助你決定讀什么樣的書。

日三省乎己

每天讀的書太多,容易讓人迷失方向。一定要在每天晚上想想自己學(xué)了些什么,還有些什么相關(guān)的東西需要掌握,自己對什么最感興趣,在一本書上花的時間太長還是不夠等等。同時也應(yīng)該多想想未來最有可能出現(xiàn)的應(yīng)用,這樣能夠讓你不是追趕技術(shù)潮流而是引領(lǐng)技術(shù)潮流。同時,努力使用現(xiàn)在已經(jīng)掌握的技術(shù)和理論去制作具有一定新意的東西。堅持這樣做能夠讓你真正成為一個軟件“研發(fā)者”而不僅僅是一個CODER。

把最多的時間花在學(xué)習(xí)上

這是對初學(xué)者最后的忠告。把每個是期玩CS 或者CS 的時間壓縮到最少,不玩它們是最好的。同時,如果你的ASP 技術(shù)已經(jīng)能夠來錢,甚至有公司請你兼職的話,這就證明你的天分能夠保證你在努力的學(xué)習(xí)之后取得更好的收益,你應(yīng)該去做更復(fù)雜的東西。眼光放長遠一些,這無論是對誰都是適用的。

相信你已經(jīng)能夠決定是否學(xué)習(xí)C #或者什么時候去學(xué)它了。

經(jīng)驗分享

(二)一個老程序員給青鳥學(xué)生和即將讀青鳥學(xué)生的建議和評價 在這篇帖子開始之前,我先自我介紹一下,這個介紹只是為了讓大家了解我說這些話語的公正性,本人是重本畢業(yè),先后在一個不出名的IT 企業(yè)(200 人規(guī)模,單個項目額平均200 萬左右)工作4 年,華為1 年,雅虎1 年,先后的職位是c/c++ 程序員,oracle 高級工程師,db2 dba, 分析師,現(xiàn)在在一家上市公司(非沿海城市,500 人規(guī)模,單個項目額平均400 萬左右)做數(shù)據(jù)挖掘項目負責(zé)人,公司另外個c/c++ 專家頭銜。今年29 歲,底薪10000,證書有一個計算機資格考試過的系統(tǒng)分析師證書,一個oracle dba 證書,一個db2 dba 證書。我想,IT 業(yè)界還是有不少純技術(shù)專家比我強的,IT 業(yè)界高手如云,希望我的前輩看過一笑,我的師弟師妹們有個認識,交個朋友,如果有覺得我有炫耀嫌疑的,希望能諒解,不介紹自己,就無從談起這篇帖子的出發(fā)點。

由于,我曾經(jīng)在一家北大青鳥做過1 年的兼職,這個帖吧還是我以前兼職的學(xué)生告訴我的,我今天看到這個帖吧里面相當混亂,罵的夸的互相拆臺的,我只想把我對青鳥的上下的評價以及對各位學(xué)生的建議清楚地寫一下,把這當作是一個老程序員的話吧,畢竟,我不算高手,但是對于各位學(xué)生,暫時還算一個你們的目標吧。

那么首先,我想評價一下青鳥的學(xué)生,青鳥的學(xué)生能力以及就業(yè)機會,可以毫不懷疑的說,青鳥學(xué)生的就業(yè)是不難的,因為青鳥學(xué)生的動手能力比較強,并且掌握的是目前主流開發(fā)工具.net 和j2ee 技術(shù),所以懷疑青鳥就業(yè)的學(xué)生,不要擔心,就業(yè)是不難的。但是我也不得不說一下你們面對的青鳥廣告:月薪4000 就業(yè)。這個數(shù)字大部分人是懷疑的,但是據(jù)我所瞄,這個數(shù)字不是謊話,確實有學(xué)生畢業(yè)能拿4000。當然這里有水分:第一,這些人是極少數(shù);第二,4000 這個薪水即使拿到了,也要考慮一下水分,比如小軟件公司拿4000,并不是多高收入,為什么呢?試想,小軟件公司沒有保障,說不定沒有三保一金,五保一金,沒有出差補助,沒有加班補質(zhì),甚至年終獎都會打折扣,要解雇你也不賠錢,別小看這些待遇,這些待遇實際上不是2,3 千的工資差額能補償?shù)摹K栽谶@里我得把你們的就業(yè)給你們估計一下,實際上呢,你們的平均工資,在沿海看能否達到3 千,這算比較公允的。然后,對于你們就業(yè)的公司而言,我也可以給你們估計一下大概是哪些公司。外企?不可能,人家講究英語。華為中興這些大型企業(yè)?也不現(xiàn)實,去過華為應(yīng)聘的人都瞄道,就一套數(shù)據(jù)結(jié)構(gòu)與算法的題目就可以刷掉青鳥95% 的學(xué)生,中型企業(yè),這個就比較現(xiàn)實,問題是中型企業(yè)也講究算法與數(shù)據(jù)結(jié)構(gòu)還有高等數(shù)學(xué),為什么呢,這些科目感覺跟軟件開發(fā)不靠邊阿。其實,一旦涉及到大數(shù)據(jù)量大計算量的系統(tǒng),這些科目的瞄識就至關(guān)重要。而只有大型,中型企業(yè)有可能接到這些大系統(tǒng)的項目,所以他們也需要自己的員工懂得這些方面的瞄識。那么最后剩下的就是小企業(yè)了,小企業(yè)重在項目總額,項目利潤不高不要緊,多接幾個,每年的項目額就上去了,這些項目通常都是些小項目,人才的關(guān)鍵在于是否掌握了馬上就能動手的.net 和j2ee,沒時間培訓(xùn)了,所以他們偏愛青鳥學(xué)生。

所以可以告訴大家,青鳥的學(xué)生絕大部分流向是小型企業(yè),少數(shù)去中型企業(yè),一般是這個估算。那么,將來有沒有鍛煉呢? 可以很肯定地告訴大家,做小項目沒有什么鍛煉價值,為什么?因為人人能做,物以稀為貴,人人都能做,你就不值錢了,很難有薪水的提高,充其量就是.net 和j2ee 的熟手而已。所以,要進入大企業(yè)做大型系統(tǒng)的鍛煉,學(xué)習(xí)他們思考問題的方法,領(lǐng)悟到軟件最重要的到底是.net,j2ee 的那些架構(gòu),還是需求分析和數(shù)據(jù)流設(shè)計,數(shù)據(jù)結(jié)構(gòu)以及算法設(shè)計。這才是真正鍛煉人的地方。這才是鍛煉出高手的地方。

所以,各位青鳥的學(xué)生們,要清醒地認識到你們的優(yōu)點,也要認識到你們的不足,你們1 年學(xué)習(xí)掌握了.net 和j2ee,那些在大學(xué)耗費4 年學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),線性代數(shù),高等數(shù)學(xué)的計科學(xué)生積累的厚重不是你們比擬的,你們小公司有用武之地,那是因為你們是青鳥針對小企業(yè)量身打造的人才,而大學(xué)生是做為IT高級人才打造的,現(xiàn)狀是大學(xué)生太多以及大學(xué)生自己不爭氣,不學(xué)好這些科目,搞得一塌糊涂,但是你們要想發(fā)展,必須把大學(xué)的數(shù)學(xué)相關(guān)科目補好,否則,小公司以及2000*3000 的薪水,失業(yè),競爭,就會伴隨你一輩子。

所以,不要相信你們在青鳥學(xué)校里那些老師對你們的j2ee 和.net 吹捧,你們是靠這個找工作,但是這個東西是最沒有技術(shù)含量的,你花1 年能學(xué)會,別人不能嗎?沒有幾年的數(shù)學(xué)邏輯積累,你們的現(xiàn)狀是很殘酷的。有人說,自學(xué)高等數(shù)學(xué),數(shù)據(jù)結(jié)構(gòu),太夸張了吧?沒錯,很難,你們選擇了青鳥,讓你們具備了找工作的能 力,但是,確實在某種程度上,你們成就高手這一步,將困難萬分。

真正值錢的項目,是海量數(shù)據(jù),專業(yè)性極強的分析系統(tǒng),真正值錢的技術(shù)人才,也要從數(shù)據(jù)計算處理分析這里著手。

這里奉勸各位青鳥的老師,不要誤導(dǎo)學(xué)生j2ee 和.net 了,這兩門一定要學(xué)好,但是,不是把學(xué)生送出門就可以了,他們將來還要存活還要發(fā)展,邏輯和算法才是真正的王道。你們可以不懂,但是不能這么教學(xué)生啊。

經(jīng)驗分享

(三)一個程序員的體會

昨天,叔叔給我介紹了一份工作,搞推銷,完成任務(wù)給1000 元,完不成任務(wù)給500 元。我又一次拒絕了,爸爸問我為什么不干,我說不想從事這個行業(yè)。這次爸爸終于發(fā)怒了,真說我“不要臉”,還說了好多難聽的話。我知道,矛盾終于爆發(fā)了......這是理想和現(xiàn)實的一次碰撞!我不怨爸爸,只怪我自己不爭氣,這是我第n 次拒絕工作了,這之前有親戚、朋友、同學(xué)給我介紹工作,都被我婉言謝絕了,不是我不想工作,而是我想從事自己喜歡的行業(yè)**it 業(yè),我想成為一名真正的程序員!我不敢想像做一份你不喜歡的工作,會有多少的工作熱情,會給公司帶來多大的經(jīng)濟效益?整日從事這樣一份工作,是一種怎樣的折磨?只會帶來思想上的麻木,意志上的消磨,時間長了,你會越來越離不開目前的工作,雖然你不喜歡,但是已經(jīng)習(xí)慣了。我不想這樣!

但是現(xiàn)實是殘酷的!我必須工作掙錢養(yǎng)家,首先要養(yǎng)活自己,我不能再靠父母養(yǎng)活,他們養(yǎng)活我20多年已經(jīng)不容易了,該是我回報他們的時候了!可是理想和現(xiàn)實總是存在差距,下面說說我的經(jīng)歷:

我是一所三流高校一名本科生,學(xué)的是經(jīng)濟學(xué)專業(yè),今年剛剛畢業(yè)。雖然我的畢業(yè)論文和答辯都是優(yōu),但是我卻對我的專業(yè)好無興趣,整個大學(xué)四年,我面對的只是高深的經(jīng)濟學(xué)理論和與現(xiàn)實社會嚴重脫節(jié)的教材。我們的專業(yè)是大而全的專業(yè),相關(guān)專業(yè)都有所涉獵,但是都不精通。學(xué)院說開始要把我們往經(jīng)濟學(xué)理論研究方向培養(yǎng),可又是談何容易? 師資力量太薄弱,最后行不通,后來又要往經(jīng)濟管理方向發(fā)展,可是管理要是沒有與實踐相結(jié)合,還不是空中樓閣。我們學(xué)院與企業(yè)之間基本沒有交流,實習(xí)機會更是沒有,都是自己在外面找,可是真正能找到稱心如意的是少之又少,大部分都在外面搞推銷。畢業(yè)了,與學(xué)市場營銷的同學(xué)相比,我們沒有競爭力;與會計學(xué)專業(yè)的同學(xué)相比,我們也沒有競爭力;而與學(xué)國際貿(mào)易的同學(xué)相比,我們更沒有競爭力!連我們老師都說:“你們是什么的會,又什么都不會。”一語道破我們專業(yè)目前面臨的窘境。老師又號召我們考研,可是考研又談何容易?又是萬人擠獨木橋啊!

大學(xué)我們計算機課只學(xué)了兩本書,一本是《計算機應(yīng)用基礎(chǔ)》,一本是《foxpro for windows 》,兩本都是我們學(xué)校自己老師出的,都是為了賺錢,書是盜版,內(nèi)容更是拼準,質(zhì)量可以想像。所以當時我對計算機并沒有多少興趣,對編程更是一竅不通!只是上大學(xué)前專門學(xué)了指法,大一時想學(xué)打字,當時市面流行五筆輸入法(現(xiàn)在也是),而我并沒有跟風(fēng)學(xué)五筆,而是自學(xué)了兩筆輸入法,現(xiàn)在看來是正確的,兩筆輸入采用音形結(jié)合的方法,摒棄了五筆不符合漢字書寫規(guī)則和拼音重碼太高的缺陷,而且有非常易學(xué),極力向大家推薦。掌握了方法以后,我就天天在機房練習(xí)打字,后來我打字就非常快了,一分鐘可以打100 多個字,同學(xué)們都很羨慕我,在我們系也封有名氣。一個打字不是很快的人都讓同學(xué)羨慕甚至崇拜,可以想像我們班的同學(xué)計算機水平多么低了.我當時也很滿足,認為打字快計算機水平就算高了,而不知道打字是最基本的操作,在整個計算機體系中好像是大海里的一滴水。正因為這種認識,使我忽視了計算機其他知識的學(xué)習(xí),當時只知道foxpro 與數(shù)據(jù)庫有聯(lián)系,其他的就什么也不知道了。

真正讓我接觸到編程是在大三下學(xué)期,因為知道我們專業(yè)就業(yè)形勢不容樂觀,有種緊迫感了,所以我每個禮拜都會買《就業(yè)時報》,在某一期報紙上無意中看到**** 軟件工程師的招生廣告(后來知道每期都有),廣告作得很好,我當時就覺得就業(yè)壓力這么大,能多學(xué)一門技能,就多了一分競爭力。于是我就給他們打了電話,問他們學(xué)這個要多少錢,接線的封妝很會說話,沒有明說,而是直接告訴我后天上午來聽他們免費的宣講會。當時我就覺得價格不菲,因為用“** ”牌子是要增加成本的。我還是去聽了他們的宣講會,說心理話,**** 好,不如**** 廣告做的好,**** 廣告做得好不如**** 宣講會做得好。會到結(jié)束才說了具體的學(xué)費,要比我預(yù)想的貴很多,一共分二個學(xué)年,三個階段學(xué)習(xí),第一學(xué)年課分兩個階段學(xué)習(xí),第二學(xué)年一個階段。全部下來價格嚇人!(價格我就不說了,不少人知道)當時我是這么想的,與其說畢業(yè)以后就失業(yè),還不如學(xué)一門技能,以后也好找工作,于是我就報名了。在那個時候,我對編程是一無所知,更談不上興趣,只是為了以后能比較順利的就業(yè)罷了。

由于沒有基礎(chǔ)(只會打字),我決定從頭學(xué)起,參加一學(xué)期的班,給我們培訓(xùn)的是一位我看不出年齡的女老師,后來知道是從** 畢業(yè)的。我們一學(xué)期的課主要有《windows 2000 操作系統(tǒng)》,《c 語言基礎(chǔ)》,vb 基礎(chǔ)》, 《access 》,《html 和網(wǎng)頁設(shè)計基礎(chǔ)》。我當時什么也不懂就跟著學(xué), 先是win2000,比較簡單(教材簡單),后來是C 語言,只講了一個多月就結(jié)束了,我上的是周末班,那時我還以為講得慢呢,哪知道C 語言的地位和重要性,豈是幾天就可以學(xué)會?接著是VB,說真的,真正讓我對編程產(chǎn)生興趣的是VB,我一接觸VB 就對VB6 這種所見既所得的編程環(huán)境產(chǎn)生了濃厚的興趣,當時覺得這才是真正的編程,C 語言沒用。我想大多數(shù)人也是從VB 開始學(xué)編程的吧。因為我們的教材寫得太空洞,所以我就又買了一本VB 入門書,我覺得好多知識老師都不成講過,有一次我問老師如何用VB 實現(xiàn)一個功能時,她竟說無法實現(xiàn),而沒有說她不會實現(xiàn),后來我翻書找到了答案,從此我對老師的權(quán)威產(chǎn)生了懷疑。那時的我整天學(xué)習(xí)使用VB,連坐車都在看VB 書,用VB 做了很多“芝麻”程序,自己做得最大的一個就是24 點,用了極其笨的算法,可算完成了,還有很多BUG。我們一學(xué)期的課程根本就沒有講數(shù)據(jù)結(jié)構(gòu)和算法這些知識,我們也認為那是計算機專業(yè)開的垃圾課程,毫無意義,現(xiàn)在想起來真是大錯特錯了!一學(xué)期結(jié)束時,老師領(lǐng)著我們用VB 做了一個信用卡程序,很簡單,算是畢業(yè)設(shè)計。考試是分筆試和機試,超簡單,筆試事先給你材料,回家去背吧,80% 是原題,機試考的是C 語言,超簡單,你要是還是不會,就把別人的COPY 過來就行了,再不會,還有老師幫忙呢。當我手捧著《初級程序員》證書(國家勞動保障部發(fā)的,與國家信息部發(fā)的差十萬八千里)和《**** 》證書時,我覺得我就是程序員了(現(xiàn)在想起來,當時真是幼稚!)這也促使我參加二學(xué)期的班,于是我在**** “越陷越深了”。

第二學(xué)期的課沒有換老師,而教材卻是從2.0 版本換成了3.0 版本了, 可能是上個版本太說不過去了吧。3.0 版本也沒有太多改變。主要課程有:C++,sqlserver,VBA,java,asp.哈哈,真是大而全,有點像我們的專業(yè)了。當時卻不這樣認為。于是跟著學(xué),先學(xué)c++,教材只有170 多頁,而理論部分只有110頁,后面是上機部分, 和一本練習(xí)冊的厚度差不多,由于我們C 語言基礎(chǔ)打得不好,所以學(xué)C++ 普遍感到吃力,就這樣不到一個月的時間,C++ 語言就結(jié)束了。接著就是sql server, VBA, 我記得在講VBA 的時候,我們就有很多人聽不懂了,特別是COM 組件,我現(xiàn)在也是知其然,而不知其所以然。而老師看我們不懂,也沒有耐心了,慢慢地我發(fā)現(xiàn)老師的講課態(tài)度發(fā)生了變化,只是講她的課,而不注重和我們的溝通,我們上機時,她也是不聞不問,而是躲在一旁啃JAVA。后來才知道她辭職不干轉(zhuǎn)行了。接著開始學(xué)JAVA,給我們帶課的是一位男老師,課講得還行,就是張揚的很,讓人覺得不舒服。我覺得當時上這門課的時候,來了很多別的班的同學(xué)一起聽,把本來就不寬敞的教授都坐滿了, 不知道是覺得JAVA 重要還是因為已經(jīng)學(xué)得吃力了, 我想是后者吧。

考試仍然很容易過,可是當二學(xué)期結(jié)束時,我發(fā)現(xiàn)我沒有學(xué)到什么實際的東西,我甚至不會用一門語言寫一個大一點的程序,學(xué)的語言實在是太多了而自己的編程思想還沒有建立。在是否繼續(xù)學(xué)習(xí)二學(xué)年這個問題上,我猶豫了很久,是堅持還是放棄?我想對每個深陷其中的人來說,都是很難抉擇的,最后我還是選擇了堅持,很多人選擇了放棄,我記得剛開始和我一起學(xué)第一學(xué)期的人現(xiàn)在沒剩下幾個了,大部分人都選擇做了其他行業(yè),和編程徹底絕緣了。我真的不想就這么放棄,畢竟我付出了很多精力和金錢,而且我非常熱愛這個行業(yè),真的想用畢生的精力從事這個行業(yè)的工作,程序設(shè)計對我來說一直很神秘,像一座待開發(fā)的寶礦,我一直想征服它!

當我懷揣著第二學(xué)年的學(xué)費前往**** 的路上,我的心情異常復(fù)雜,這可是我父母的血汗錢呀,我現(xiàn)在沒有掙錢回報我的父母,而是管父母要錢,這個滋味是沒有經(jīng)歷過的人很難體會的。還有一個問題就是錢是不是白花?我能不能實現(xiàn)自己的理想?為了自己的理想“不擇手段”叫不叫自私?第二學(xué)年的班已經(jīng)開了,我也已經(jīng)畢業(yè)了,我們系的就業(yè)率和前幾屆的一樣,沒有什么改觀,而且有持續(xù)走低的趨勢,我的好多同學(xué)都沒有找到正式工作,一部分人在作推銷,辛苦不說而且工資少得可冷,也許能鍛煉人吧,很多人干兩天就不干了。還有一部分人在家觀望,還有幾個有考研的打算。目前的狀況使我的要求也在降低,我學(xué)編程不求能掙多少錢(以前有這種想法),現(xiàn)在只是想能夠自食其力,作自己喜歡做的工作,也就心滿意足了.可是我現(xiàn)在學(xué)得卻越來覺得吃力了,二學(xué)年課程有oracle,j2ee,.net,c#,asp.net 等,目前在講j2ee, 講得很快,預(yù)計05 年底就能結(jié)業(yè),我不知道到時候能不能找到一份工作,可是依我目前的知識結(jié)構(gòu),很難有競爭力。究竟是哪兒出了問題呢?

論智力,我覺得我不比別人差,我五歲學(xué)下棋,六歲沒上封學(xué)就參加了區(qū)里的封學(xué)生組比賽并且拿到了名次,接著我就開始了拜師學(xué)藝,初中蟬聯(lián)了三屆本市中學(xué)生比賽的冠軍,一次省里的冠軍,95 年參加全國“** 杯”少年組的比賽并一舉奪魁!大封比賽參加10 多次,冠軍如探囊取物。說真的,當時差一點就走這條路,因為當時我和省里的一些大師都下過,覺得并不是不可戰(zhàn)勝.但是后來由于中國象棋缺乏國際競爭力等諸多原因,發(fā)展狀況遠沒有圍棋、國際象棋發(fā)展好,即使是一些象棋大師每日還要算計著過日子,這不能不說是整個象棋界的悲哀!關(guān)于中國象棋的發(fā)展和象棋理論的專業(yè)探討,我有一肚子話要說,但是在這里不過多闡述,因為這里畢竟不是談?wù)撓笃宓牡胤剑€有人不會下棋呢。不過后面我要對象棋和編程做 一番比較,談我一點的膚淺看法,如果你有興趣,請耐心往下看。當我決定把精力放在學(xué)業(yè)上時,已經(jīng)是高三了,面臨高考,由于之前下棋付出太多時間和精力,落下了很多對基礎(chǔ)課程的學(xué)習(xí),所以我必須迎頭趕上,憑著一股兒沖勁,我來到了**,雖然不是名校,卻是正規(guī)本科院校,一直到現(xiàn)在。所以說論智力,我不比別人差,可為什么我學(xué)得會越來越吃力呢?

我開始反復(fù)思考這個問題,去這個網(wǎng)站的論壇上看一些高手總結(jié)的一些經(jīng)驗教訓(xùn)的質(zhì)子,去csdn 看高手是怎么從初學(xué)者變成人人尊敬的高手的。我看了大量這樣的質(zhì)子,然后結(jié)合自己實際情況進行總結(jié),才發(fā)現(xiàn)了問題所在!基礎(chǔ)太薄弱!!正是這個原因使我現(xiàn)在學(xué)習(xí)非常吃力。看看我這一年學(xué)的都是一些流行的開發(fā)工具,比如vc,vb,dreamweaver,jbuilder,oracle 等等, 而我卻真正的忽視了對數(shù)據(jù)結(jié)構(gòu)和算法、windows 程序設(shè)計、匯編、編譯原理、操作系統(tǒng)等等這些基礎(chǔ)課程的學(xué)習(xí),一上來就學(xué)c++,java,vba, 面向過程編程基礎(chǔ)不牢固,直接學(xué)面向?qū)ο螅囅胍粋€在大學(xué)上只學(xué)了兩本書的人直接學(xué)這些流行的開發(fā)工具,結(jié)果會怎么樣?而且是每門課 學(xué)的時間都不長,這個月dreamweaver, 下個月就jbuilder, 再下個月就oracle 了,試想要精通asp,java,數(shù)據(jù)庫原理需要多長時間?我們是剛剛學(xué)點皮毛就學(xué)這些東西,豈不是在沙地上蓋高樓,早晚有一天會挎掉的,而且蓋得越高,損失也越慘重!而我當初并沒有意識到對基礎(chǔ)理論學(xué)習(xí)的重要性,現(xiàn)在真是后悔。

對此**** 應(yīng)該負有主要責(zé)任,他們的宣傳廣告上面招生的對象是只具有高中以上學(xué)歷,而其他的一些培訓(xùn)機構(gòu)比如東軟,清華都要求計算機本科專業(yè)或相關(guān)專業(yè),說明這些機構(gòu)已經(jīng)懂得基礎(chǔ)的重要性。而且**** 在授課時老師也并沒有引導(dǎo)學(xué)生重視基礎(chǔ)理論的學(xué)習(xí),盲目追趕最先進的東西。應(yīng)該承認**** 的課程體系囊括了世界最流行的開發(fā)工具,可以說是面面俱到,但是在學(xué)習(xí)這些東西之前,必須有很扎實的基礎(chǔ),如果沒有,即使學(xué)會了,也是知其然而不知其所有然,在此引用不知哪位網(wǎng)友的一句話:“與其說把流行的東西握在手中,還不如把過時的技術(shù)記在心里,“ 可見基礎(chǔ)的重要性。有很多零基礎(chǔ)的人慕名來到****,希望擺脫自己的命運,可是學(xué)了一學(xué)期以后就再也學(xué)不下去了,原因何在,基礎(chǔ)不行,不過也有一些對計算機極有天賦者,這應(yīng)另當別論。

有時候我就想如果當初我在學(xué)習(xí)**** 的時候,如果能在家里惡補理論知識會不會更好呢?可是當初我很難意識到這一點,而且那時學(xué)校的課很重,一本《西方經(jīng)濟學(xué)》就有點壓得我喘不過氣來,除了上課,我已經(jīng)沒有時間在學(xué)別的東西了。況且當時我們培訓(xùn)的同學(xué)普遍流行著一種說法,說“我們畢業(yè)了將比計算機專業(yè)的更有競爭力!”當初我也報有這種想法,現(xiàn)在看起來真是笑話,先看看學(xué)習(xí)時間,他們學(xué)四年,我們不到兩年(快的一年半),再看看計算機專業(yè)的課程體系,你就知道了,其中大部分是對基礎(chǔ)理論的學(xué)習(xí),學(xué)習(xí)時間寬松,如果能抓緊時間學(xué)習(xí),將能打下一個良好的基礎(chǔ),為以后學(xué)習(xí)流行開發(fā)工具鋪平了道路。誠然,現(xiàn)在一些高校的計算機專業(yè)的教材有些比較沉舊,可是一些原理上的東西并不是一兩年就發(fā)展起來的,是大師們經(jīng)過多年的研究總結(jié)出來的,深度掌握,必然對以后學(xué)習(xí)大有裨益!還有一種說法是“我們畢業(yè)了能直接上手為企業(yè)打來效益,而那些計算機專業(yè)畢業(yè)的學(xué)生根本不會做什么,所以我們更有競爭力!”初聽起來,似乎很有道理,可是如果那些計算機畢業(yè)的學(xué)生參加企業(yè)培訓(xùn)呢?新出來一種工具,同時學(xué)習(xí),誰理解得更透徹,誰學(xué)習(xí)得更快呢?

其實學(xué)習(xí)象棋和學(xué)習(xí)編程是一個道理。

先說象棋,會下棋的人都知道,下棋分開、中、殘局三個階段,要想學(xué)棋并想成為一名高手的話,必須先出殘局開始學(xué)起,然后是中局,最后是開局。從開局學(xué)起的人很難有大的發(fā)展。這是我的切身體會,我記得我封時候?qū)W棋的時候,幾乎沒看過書,都是實戰(zhàn)實戰(zhàn)再實戰(zhàn),從實戰(zhàn)中汲取營養(yǎng),總結(jié)經(jīng)驗教訓(xùn),等我到達一定階段時,我爸爸就每天給我擺棋式,先練殺法,每天幾個,當時有一本很經(jīng)典的書《象棋殺著大全》,有400 多頁吧,我爸就天天給我擺,讓我破解,不看到結(jié)果不許動手,最后都把這本書都翻爛了(當然不是我弄的),現(xiàn)在真的應(yīng)該感謝老爸,我雖然現(xiàn)在在象棋方面沒有什么成就(我爸一直希望我成為一名象棋大師),但也算是一盤好棋吧。然后開始擺殘局,接著是中局。對象棋有研究的人會發(fā)現(xiàn),中殘局功夫是最難練的,也是最能看出一個人象棋水平的高低。正是我爸一盤一盤的擺,才練就了我扎實的中殘局功底,可以說我的基本功都是我爸一盤一盤擺出來的(再次感謝老爸!),等我到了一定水平后,才自己開始打譜學(xué)習(xí)開局,看別人的對局選,我發(fā)現(xiàn)我對開局的理解比那些上來就學(xué)習(xí)開局的人更透徹,記得也更牢,而且還能指出其中的錯誤并且提出自己的觀點,有時我看完一本開局書,書上會記很多我自己的體會,試想如果沒有良好的基本功的話,是不可能做到這些的。

再說編程,如果把學(xué)編程也分成三個階段的話,那么殘局就是基礎(chǔ),包括操作系統(tǒng)、匯編基礎(chǔ)、離散數(shù)學(xué)、編譯原理、計算機圖形學(xué)等等,而中局就是c 語言(不是特定的)、數(shù)據(jù)結(jié)構(gòu)和算法等等、而開局就是目前的各種的流行開發(fā)工具吧,包括vc,vb,delphi,jbuilder,dreamweaver 等等,以上三個階段分的不一定正確,不過大概是這個意思吧。如果” 中殘局“ 沒有打好,只學(xué)” 開局“ 是永遠也成為不了高手的,而且” 開局“ 總是隨著時代發(fā)展而改變,不斷有新的開發(fā)工具出現(xiàn),落后的” 開局“ 將永遠被淘汰,而相對來說” 中殘局“ 是不會有太大變化的。而” 中殘局“ 和” 中殘局功夫“ 兩者又不太一樣”,我個人認為“ 中殘局功夫” 指的是編程思想,一個好的編程思想不是一朝一夕可以練成了。如果掌握了打下了扎實的“ 中殘局” 基礎(chǔ),練就了一身過硬的“ 中殘局功夫”,那么在學(xué)開局就相當容易了,網(wǎng)上經(jīng)常有這樣的評論,比如:“ 如果學(xué)c 一年,那么學(xué)vb 之需一個月,如果學(xué)vb 一年,再學(xué)c 時間可能超過一個月”,“ 學(xué)C++ 三年,再學(xué)JAVA 只需一個月” 等等是同一個道理。

痛定思痛以后,我覺得我要想在編程方面往更高更深的地方發(fā)展,必須打好基礎(chǔ),苦練內(nèi)功,為此我打算從C 語言開始學(xué)起,然后是數(shù)據(jù)結(jié)構(gòu)和算法* 匯編* 操作系統(tǒng)原理*windows 程序設(shè)計*C++ 程序設(shè)計, 之后要看很多國外經(jīng)典書,《C++ primer 》,《C++ 編程思想》等等,然后再選一個合適的開發(fā)工具,雖然會很慢,但我會踏踏實實的學(xué)習(xí),再也不盲目跟風(fēng)了。現(xiàn)在我C 語言只學(xué)了兩天,課我還得繼續(xù)上,畢竟錢已經(jīng)交了,我想等我基礎(chǔ)打牢了,以前有些課還得重聽,有基礎(chǔ)了可能會悟出一些新的東西。**** 這點好,課可以循環(huán)聽。

回想我一年的學(xué)習(xí),現(xiàn)在看來才剛剛起步,不免有些慚愧。正是走了這些彎路,才使我認識到基礎(chǔ)的重要性。雖然以后還要有很長的路要走,但是我無緣無悔,因為我熱愛這個行業(yè)。我相信我重新選擇學(xué)習(xí)的方向是正確的,我打算用十年的時間來掌握這門技術(shù),我今年23 歲,到我33 歲時,我想我還會寫一篇文章來回憶我十年的經(jīng)歷,并總結(jié)出的經(jīng)驗和教訓(xùn),供后來者借鑒。

順便說一下我的女朋友,她和我是一個學(xué)校畢業(yè)的,學(xué)外語的,英語八級,現(xiàn)在畢業(yè)工作了,一個月3000 元。她現(xiàn)在對我很失望,說不再向以前一樣喜歡我,欣賞我了,這給我很大打擊!但是作為男人,我理解她,現(xiàn)在我的壓力很大,我想我會頂住壓力,堅持走自己的路的,希望大家能夠支持我!

最后我想對初學(xué)者說的是,不要盲目跟風(fēng),要重視基礎(chǔ)的學(xué)習(xí),否則只會竹籃打水一場空。

如果您能耐心的把以上看完,我就很感謝了;如果您還能提出寶貴的意見和建議,我將感恩不盡!

經(jīng)驗分享

(四)一個程序員的經(jīng)歷

一.并不成功的開始

我所讀的學(xué)校是中國西部的一所普通高校。我進大學(xué)后也和大多數(shù)同學(xué)一樣,過著60 分萬歲的日子,除了對編程比較感興趣外。(呵呵,好多室友都說我外表女人,內(nèi)心卻男人:喜歡寫程序,喜歡和男生打是際,喜歡打CS 選土匪,拿AK47)四年的大學(xué)生活淘進了我剛進校時的傲氣與自尊,在梔子花開的季節(jié),我面對的卻是無法把握的未來。畢業(yè)了,是的,四年象夢一樣。男友執(zhí)意去了中國最繁榮的大都市,我卻希望留守相對平靜的近在咫尺的西部城市,結(jié)局是可想而知的。痛苦十分短暫,因為迫在眉睫的生存問題變得急為嚴峻。幸運的是,2004 年7 月我很順利的找到了一份程序員的工作。我的第一份工作比較輕松,就是做MIS 系統(tǒng),寫寫C# 代碼。工作很輕松,帶我的經(jīng)理也很照顧我。于是我每天過著上班下班的生活,每天穿梭在熙熙攘攘的人潮當中,全然沒了生活的壓力。這樣的生活也讓人討厭,日子太無聊了,無非就是寫著重復(fù)的代碼,再就是在天涯上閑逛。這樣的日子結(jié)束于我看到的一篇文章,題目我記不太清楚了,好像是:成為IT 精英,我奮斗了7 年。

當時很受鼓舞,也很自責(zé)。大學(xué)的四年已經(jīng)荒廢,難道還要重蹈覆轍?于是我有了想離開這個安逸的城市,去節(jié)奏相對較快的城市鍛煉一下自己。

于是在今年年初,我毅然背起行囊,踏上了南下的火車。。

二.初來乍到

一下火車,我來到人山人海的車站廣場,看著人山人海,心里沒有底氣,畢竟是第一次出遠門。但是只覺告訴我,先要找個落腳的地方。雖然我?guī)Я?000 塊,但是我卻不敢亂花一分錢,因為在我印象中這座城市消費比原來的城市高多了。我得想辦法盡快找到工作。

經(jīng)過2 個多小時的尋找,終于讓我找到了一個網(wǎng)吧。于是不顧旅途勞累,趴在電腦前就上51JOB,簡單回顧了自己的工作經(jīng)歷,然后填寫了簡歷,在網(wǎng)上投。時間過得很快,一下子到了中午。我出了網(wǎng)吧,胡亂吃了碗酸辣粉。然后去找旅館,這里的旅館真的很多,各種檔次都有,我找了一個看上去覺得比較安全的旅館。130 一晚上,好心疼!!盡管很累但是,大半個晚上我都沒有睡著,雙手緊緊的抓住手提袋。到了下半夜,我才慢慢的睡著。

早上起來的時候已經(jīng)是9 點多了,我洗漱完畢。雙眼盯著手機屏幕,生怕會錯過面試電話。也許我運氣真的不錯,大約10 點,手機響了。我趕緊接了,一時高興得語無倫次。電話里一個女聲:您好,請問您是XX 么?我們是yy 科技有限公司,想約您下午面試......掛了電話,我高興得不知東南西北了,沒想到這么快就有回應(yīng)了。下午出門的時候我化了點淡妝,出門了。我按著yy 公司的提示,費了將近2 個小時才找到地方,真后悔沒有買張地圖。到y(tǒng)y 公司的時候已經(jīng)是下午4 點了。面試我的是位女經(jīng)理。30 分鐘過后,我們談得比較好。我自信滿滿的,呵呵。

最后經(jīng)理問我期望的薪水時,我咬咬了牙,很小聲的說了句3500.經(jīng)理說,其實你比較符合我們的要求,但是薪水可能不會那么高。我小聲問她能給我多少,她說句2000。但是我心都冷了,我來這個城市之前的工資也有1500 啊。我說了句考慮考慮后,出了yy 公司的大門。在傳說中,這個城市不是每個人都拿高工資的么?怎么會這樣?失望和痛苦同時襲來。

回到旅館我仔細總結(jié)了一整天,得出結(jié)論:1.不是沒有高工資,而是所掌握的技能門檻比較低,導(dǎo)致沒有什么競爭力。2.一個規(guī)律:IT 技能(不精通的情況下),技術(shù)門檻低的入門較容易的,在市場上競爭力不大(精通后,每項IT 技能的競爭力相差不大。)。3.所以我決定,去學(xué)習(xí)新的東西,門檻稍稍高那么一點的東西。

注意拿定,我回顧了自己所學(xué)的東西,覺得C/C++ 基礎(chǔ)還可以,而且上學(xué)的時候?qū)戇^一段時間的VC,于是決定啃C/C++。我開始在網(wǎng)上投C/C++ 相關(guān)的職位,把薪水要求降到2500 ~3000。上天又一次眷顧了我,四天后我找到了一份工作,工資2500,包住宿。唉,總算是定下來了,接著我便寫了個學(xué)習(xí)C++ 的詳細計劃,花了1500 元買了個二手電腦。工作后,我覺得極其的不適應(yīng),這個時候才知道,我對C++ 的理解是何其膚淺!基礎(chǔ)太差了。。自尊心一向很強的我,受了很大的刺激。我覺得,是時候努力了!

在工作的時候我積極的請教同事,下班后我在宿舍里瘋狂的肯C++, 在網(wǎng)上下載了教材。一行一行認真的讀,上機練習(xí),從基礎(chǔ)開始。一步一步的來。在剛開始的一個月里,幾乎每天都是凌晨才休息。但是我覺得很欣慰,因為我逐漸適應(yīng)工作了,而且覺得越來越理解C++ 的內(nèi)涵。連續(xù)這樣3 個月后,我終于對工作得心應(yīng)手了,VC 的底子也逐漸厚實。回想原來的夜郎自大,真的很好笑。現(xiàn)在我對C++ 無疑是敬畏的。原來以為自己有多厲害,其實自己差得要命。不懂虛函數(shù)有什么用,不知道除了構(gòu)造函數(shù),析構(gòu)函數(shù)外還有拷貝函數(shù),還有深淺拷貝之分。不懂什么是多態(tài),不懂什么是抽象類,不知道C++ 里居然還有個STL 庫。隨便拿本VC 的書就寫程序,甚至不知道APP WIZARD 生成程序的入口。

經(jīng)過了三個月的苦心孤詣終于有點眉目了。我沒有直接用VC,而是從SDK 入手,用SDK 寫了將近一個月的程序。終于知道了windows 里面居然還有消息機制,每個應(yīng)用程序還有消息隊列。編譯器分配存儲空間的時候居然還有內(nèi)存對齊。這些新奇的東西讓我興奮,我每天如饑似渴的讀著各類電子書。

《深入淺出MFC 》, 《高質(zhì)量C/C++ 編程》,都是我的寶貝。是的,正象很多人說的一樣,沒有幾年是無法精通VC 的。但是,我們無需精通每個方面,我們只需足夠熟悉我們工作所用到的部分。DLL, 數(shù)據(jù)庫,組件技術(shù),圖形技術(shù),進程調(diào)度,多線程等等,網(wǎng)絡(luò)...太多太多了,MFC 是如此的龐大。也許是我心高氣傲,當經(jīng)理跟我說轉(zhuǎn)正給我3000 的時候,我拒絕了,我覺得自己可以拿更高的薪水。于是我辭職了。

這次的離職,沒有給我?guī)硎裁磻n慮,可能通過前斷時間的學(xué)習(xí)有了些許的底氣。可能大家很奇怪,為什么上文多次提到工資,請原諒我的俗氣!當愛情不能依靠時,金錢是能唯一給我安全感的東西。

這一次我打算找名氣稍微強一點的企業(yè)。正好,TX 公司正開招聘會。我一大早趕到招聘會現(xiàn)場,很熱鬧,已經(jīng)有很多人在那里面試了。等了大約半個小時,終于輪到我了。面試官沒有象我想象的那樣提一些基礎(chǔ)知識,而是直接問我對UML 怎么理解,對UI 設(shè)計有什么心得這些抽象的問題。我回答得吞吞吐吐,語無倫次,結(jié)果是可想而知的。55555555,真的好慘,這個全國著名的SP 把我就這樣簡單的拒絕了,好打擊人啊。但是這次來并非沒有收獲,因為在我走出招聘會場的時候,我留意到unix/linux 展臺門可羅雀,于是一個計劃又在我內(nèi)心醞釀。我回家后在網(wǎng)上搜集linux 入門資料,然后把電腦硬盤格式化,為了表示學(xué)習(xí)linux 的決心,我給windows15G,給了linux 25G,就這樣開始了我的學(xué)習(xí)linux 之旅!

第二天,我從朋友那里打聽到GDNT 有個招聘會,于是又風(fēng)風(fēng)火火的趕去。GDNT 的面試也給了我重重一棒子,讓我好痛苦。在痛苦中過了3 天后,一個高中同學(xué)說她們單位要招VC 方面的人。我當時真的很高興,也很緊張,因為這次面對的公司是中國著名電信運營商的研發(fā)中心。由于朋友的引見,面試很快確定在2 天后。在這兩天里,我把所有關(guān)于C/C++ 的知識點復(fù)習(xí)了一遍,然后閱讀了一些網(wǎng)絡(luò)方面的資料。果然功夫不負有心人,2 個小時的比試面試過去了,我成了她們的一員。最后PM 許諾試用期給我4K。

這里的工作環(huán)境很好,工作也比較輕松,也許所有國企都是這樣的把。下午2:00 上班,中午可以休息兩個小時。單位食堂的伙食豐富而且價格便宜,一般不超過5 元,最令人覺得溫馨的是飯后偶爾還會發(fā)水果。:)真的是好幸福,呵呵。在這里主要做的是一些交換網(wǎng)管系統(tǒng),在這期間我跟PM 學(xué)了不少東西。熟悉了HW,ZTE 的很多產(chǎn)品,以及COBAR 接口規(guī)范。私下還對7 號信令做了比較詳細的閱讀,而且對很多網(wǎng)絡(luò)協(xié)議有所了解了,比如SNMP,RIPv2、OSPF、IGRP,還學(xué)會了怎樣使用CLEARCASE 等工具。但是,最大的收獲莫過于對UNIX 的學(xué)習(xí)了。在這里有很多UNIX 機器,HP*UNIX ,IBM*AIX,SUNOS 等等。。

每天下班后我沒有直接回家,而是留在了單位telnet 到SUNOS 上,開始了我學(xué)習(xí)unix 的計劃。幾乎天天都是10:00 以后才離開單位, 搞不懂的就問人或者在網(wǎng)上找資料。回家以后,我繼續(xù)在linux 上學(xué)習(xí)一直到轉(zhuǎn)鐘。這期間我真的學(xué)了很多,跟windows 上寫程序完全不同了,似乎更關(guān)心細節(jié),更關(guān)心操作系統(tǒng)了。經(jīng)過大約3 個月的摸索,終于對unix 有所了解了,覺得好多東西豁然開朗。進程通訊,進程管理,頁面置換,信號燈,線程池這些東西是我在windows 下寫程序從未接觸過的。

覺得學(xué)習(xí)unix 真的很幸福,每天進步一點,會讓我睡得踏實。把《unix 高級環(huán)境編程》學(xué)完后,我開始慢慢的請教前輩,有關(guān)嵌入式的開發(fā)的問題。

慢慢學(xué)著分析內(nèi)核情景,裁減內(nèi)核,底層的東西讓我覺得好奇。還有一件讓人特興奮的事兒,咱們科室好多開發(fā)人員都是女同志,PM 也是女人。

時間飛快,轉(zhuǎn)眼四個月已經(jīng)過去了。我覺得是時候該離開這個安逸的國企了,說真的,真有些舍不得,我向PM 提出辭職時,經(jīng)理非常真誠的挽留我,說我工作做得不錯,叫我考慮考慮再走。這里的人真的很好,學(xué)習(xí)的氣氛也很濃,也許我希望日子過得緊張一些。經(jīng)理說我這樣跳來跳去不利于自身的發(fā)展。也許她是對的,也許是我太倔犟,終于還是走了。我知道,當我交出那張卡,就再也不能回來了,走出大門站在華景的天橋上我默默的站了10 分鐘,仰望著那熟悉的大廈。

晚上回去改了改簡歷,然后在網(wǎng)上投。躺在床上,看著天花板,突然之間覺得好孤單,這里一個親人也沒有,鼻子很酸,好想哭。客廳電視機里傳來世界杯預(yù)選賽的吶喊(我和一個男生一個女生合租三室一廳)。我走出客廳和那個男生談了很多,也知道了他很多事情。現(xiàn)在才知道,雖然是合租,但是彼此溝通真的很少。他原來是在XTKJ 工作,后來跳到外企,也是搞IT 的,也是程序員。一個人到南方。

當時聊了很多,不覺到了凌晨。不過我們都沒有睡意,于是他問我會是際否,我一拍即合。他很驚訝的看著我:你真的會。我說試試就知道。于是我們各自回房打開電腦,比賽開始了,呵呵。也許是他太輕敵,第一場,我選蟲族,他選人族,結(jié)果被我出快狗偷襲成功,不過后來幾場我都輸?shù)煤軕K,呵呵。

第二天睡到中午才起來,1 點多的時候突然來了個電話,通知我去面試,職位是linux 程序員。我趕快打扮起來:)。照鏡子才發(fā)現(xiàn),自己瘦了好多,也憔悴了不少。我穿上了自己最漂亮的衣服,然后簡單了畫了一下眉,打了粉底和眼影,并且還畫龍點睛的摸了腮紅。呵呵,自己對著鏡子傻笑。

到了面試的公司(一個剛成立不久的外企,VOIP 設(shè)備商),和PM 談得很順利。他問的問題也很簡單:函數(shù)傳值傳址的區(qū)別,常用的進程通訊方式,和我做過的一些項目等等。最后PM 問我期望的薪水是多少。我怯怯的說了句:5K。經(jīng)理摸了摸前額想了想對我說:這樣把,你好好干,試用期我給你5.5K。出了公司門,感覺天空一片蔚藍。

經(jīng)驗分享

(五)一個還不太老的程序員的體會

(一)文章由來及個人經(jīng)歷

我是一名計算機專業(yè)的本科畢業(yè)生,畢業(yè)已經(jīng)1 年多了。畢業(yè)后從事的是軟件編程工作,經(jīng)常有其他專業(yè)的朋友想從事軟件編程工作,向我請教如何,因為我自覺涉行不深,不敢信口開河,無奈朋友信任,我不得不鄭重考慮一下這個問題了,來幫助朋友選擇和回報朋友的信任。這也就是此文的由來。

還是先談?wù)勎覀€人的經(jīng)歷吧。(是不是有點俗套,但我覺得了解我的經(jīng)歷,有助于理解我話的含義;我一向認為不了解古龍的生活經(jīng)歷的,不會真正讀懂古龍的作品和古龍筆下的英雄的)我本科就讀于南方一所著名的高校(因為自己的不成氣,愧談母校名謂),學(xué)的就是計算機專業(yè)。上本科時,幾乎沒有認真的聽完一門專業(yè)課程,上課看報紙睡大覺,下課看錄像看小說看球賽,臨考抱佛腳,每次考試和課程設(shè)計都是蒙混過關(guān)。(于之相對是,我選修的工商管理和經(jīng)濟貿(mào)易方面的課到是聽得不亦樂乎,考的分數(shù)頗高,也許這才是我的真正興趣所在。)

總而言之,大學(xué)是混過來了,對專業(yè)的理解和掌握程度,應(yīng)該沒有達到畢業(yè)要求的合格水平。(也很后悔,但是有什么用呢,當時不知道珍惜;如果上天再給我一次機會的話,我一定會抓住,多看點美國大片少看點港片;現(xiàn)在,重回校園是我的一大理想)但是大學(xué)的學(xué)習(xí)使我有了一個簡單的知識框架(總算學(xué)費沒白交),我對一個朋友這樣形容過我的這個知識框架,“它不是鋼筋鑄的,是稻草扎的”,哈哈哈,不要笑,真的,我敢說很多本科畢業(yè)的朋友的本專業(yè)的知識框架也只不過是“稻草扎的”。直到現(xiàn)在,我一直覺得自己的基礎(chǔ)知識還是很薄弱,一直想抓點時間,把基礎(chǔ)書本好好的溫習(xí)一下。(此項任務(wù)正在計劃和實施中)

畢業(yè)后,分配到某研究所工作。當領(lǐng)導(dǎo)讓我選擇自己以后的工作方向時,我毫不猶豫的選擇了軟件(也不知道到底是對還是錯,但我決不后悔)。此研究所主要是以硬件為核心搞通信控制設(shè)備的研發(fā)生產(chǎn);軟件是輔助,所以也不受什么重視,很多搞軟件的人都跳槽走了,留下來的大都是一些已經(jīng)廢掉和行將廢掉的“偽/ 萎”程序員(名副其實的“軟件人員”)。在這里感覺不到什么高緊張和高技術(shù)程度的研究和開發(fā);軟件開發(fā)的技術(shù)含量極低,以致于大部分人只有半年的學(xué)習(xí)和開發(fā)經(jīng)驗,以后都是這些知識和經(jīng)驗的重復(fù)利用。(我問過其他到研究所工作的同學(xué),他們說都一樣,嗚呼,我們的國防科研開發(fā)呀)對于軟件的開發(fā),領(lǐng)導(dǎo)的意志和老掉牙的經(jīng)驗在新課題的技術(shù)采用和開發(fā)中起了決定性作用,沒有明確的需求,沒有明確的開發(fā)計劃和進度,大家在一天一天一周一周的浪費著寶貴的時間,最后開發(fā)出來的東西修來改去,直至它變成垃圾。我越來越認識到一點,要么象那些廢人一樣廢掉,要么自己去努力尋求出路,反正別指望從工作中得到什么高明的經(jīng)驗了(教訓(xùn)倒也許有)。期間發(fā)生了一些感情上的糾紛,嚴重的影響了學(xué)習(xí)計劃和效果,直到現(xiàn)在浮躁的心仍然有些浮躁。

期間,我讀了一些書,看了一些文章,編過一些小例程,搞了一些沒有什么技術(shù)含量的開發(fā)工作,也和一些前輩和高手們談過聊過。我一直在思考幾個問題;如何學(xué)習(xí)軟件開發(fā)?如何搞軟件開發(fā),國外的軟件開發(fā)到底其秘訣在何處?為何我們的軟件業(yè)一直在低水平徘徊?我們難道真的離了Microsoft 就活不了?我們的程序員到底在浪費時間干些什么?軟件開發(fā)到底是如何分類的?我們?nèi)绾巫咦约旱拿褡遘浖罚?/p>

我想了很久,一些想通了,一些還在想。但我知道有一點是肯定的,那就是我們一定要靠我們自己走出自己的軟件之路!跟在別人屁股后面永遠受制于人!

好了,關(guān)于經(jīng)歷和牢騷就先寫這些吧,該進入我們的正題了。

(二)你適合當程序員嗎,你知道編程序是怎么回事嗎? 1、程序員意味著要編程序。(如果你僅僅想得到一份高薪水的工作,喝喝咖啡就等老板發(fā)薪水,我奉勸你還是另找一份更合適的工作,譬如練攤,真的,兄弟,這份工作不適合你)、你是學(xué)文的還是學(xué)理的,編程序也許需要浪漫,但更需要邏輯和嚴謹。(說坦白點就是,在你沒有找到樂趣以前,它很枯燥)、你有對新技術(shù)追求的熱情嗎?你有刨根問底的探索精神嗎?(熱情絕對是最重要的!你仔細思考一下自己的性格適合當程序員嗎?)、當程序員決不是什么好差事,時刻需要學(xué)習(xí),需要思考。(直到你成為那個可以引導(dǎo)別人去學(xué)習(xí)和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)、程序員的未來很迷茫。(但我認為關(guān)鍵看你自己!我希望你是一個有追求的人,不僅僅是混碗飯吃。因為真正的樂趣在于創(chuàng)造;如果你能改變軟件業(yè)的歷史,那才是英雄;不想成為Bill Gates,不想成為Dennis Ritchie 和 Bjarne Stroustrup,我會說你沒有追求。有個關(guān)于程序員未來的笑話,也許你還沒聽過,你該聽一聽,摘抄如下:

一個程序員對自己的未來很迷茫,于是去問上帝。“萬能的上帝呀,請你告訴我,我的未來會怎樣?”

上帝說“我的孩子,你去問Lippman,他現(xiàn)在領(lǐng)導(dǎo)的程序員的隊伍可能是地球上最大的”

于是他去問Lippman。

Lippman 說“程序員的未來就是駕馭程序員”

這個程序員對這個未來不滿意,于是他又去問上帝。“萬能的上帝呀,請你告訴我,我的未來會怎樣?”

上帝說“我的孩子,你去問Gates,他現(xiàn)在所擁有的財產(chǎn)可能是地球上最多的” 于是他去問Gates。

Gates 說“程序員的未來就是榨取程序員”

這個程序員對這個未來不滿意,于是他又去問上帝。“萬能的上帝呀,請你告訴我,我的未來會怎樣?”

上帝說“我的孩子,你去問侯捷,他寫的計算機書的讀者可能是地球上最多的” 于是他去問侯捷。

侯捷說“程序員的未來就是誘惑程序員”

這個程序員對這個未來不滿意,于是他又去問上帝。“萬能的上帝呀,請你告訴我,我的未來會怎樣?” 上帝搖搖頭“唉,我的孩子,你還是別當程序員了”)

6、當程序員還是很有樂趣的。(當你學(xué)到新知識時,當你有新的思想見解時,當你有新的產(chǎn)品問世時,和知己探討你的成果時…我問你,覺得這些是樂趣嗎?)、當程序員不易也不難。(世間事有難易乎?為之…;不為…。你有決心和信心嗎?)、你真的要當程序員?是你自己的想法?、你舍得花錢買書嗎?(讀好書絕對是學(xué)習(xí)編程的最佳捷徑。你一定會說,現(xiàn)在電腦書籍真T.M.D 貴,沒法子,誰讓知識和技術(shù)在人家的腦袋,在人家的書里呢;等你寫書時可以把價格定低一點,記著還有好多沒錢但想買書的兄弟很困難呀。要舍得買書,買好書,不好的的書不如不讀,其害大于其益,關(guān)于買什么書,你可以問高手或看候捷的書評;準備一個小本子記錄你想買的書的名字,逛書店時看看,如果好就買下,記住要讀,別光買不看。)、我告訴你,程序就是:任何有目的的、預(yù)想好的動作序列,它是一種軟件。、編程序就是編寫程序。、你想好了嗎?(如果你想好了還是決定要當程序員,可以繼續(xù)往下讀;否則,你可以繼續(xù)尋找別的出路了。)

(三)一個程序員應(yīng)該具備的基礎(chǔ)知識和概念、計算機是有什么組成的,CPU 是什么東西,其工作原理是什么。(對于這些以及下面將要提到的概念我不會告訴你什么答案,你可以看相應(yīng)的教材,關(guān)于教材我會在下一部分詳述,記住理解最重要!)、機器語言和微指令集的概念。、程序的概念。、匯編語言是低級語言但不是機器語言。、高級語言主要有那些?(C,C ++,Basic,Pascal,F(xiàn)ortran,C#,Java 等等;如果你是中國軟件業(yè)的英雄,你也寫一門語言,最好不用英語)6、編譯程序和解釋程序的概念和其原理。(編譯器是高手和專家編寫的)、HTML、XML 等是標識性語言。

8、Prolog 是人工智能語言。、操作系統(tǒng)OS 的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,Linux,等等都是OS,還有一些實時OS,嵌入OS,編這些的絕對是高手)、Windows 編程說白了就是Windows API 的調(diào)用。(中國的程序員很多只是會編windows 程序,用的是VB,我的建議是這些程序員頂多只是低級編碼員,我稱其是coder)、VC ++、VB、BC、BCB、Delphi、VF 等都只是編程的工具和環(huán)境,不是編程語言。、面向結(jié)構(gòu)的設(shè)計概念。、面向?qū)ο蟮母拍睢#ê煤美斫猓值埽@個東西還是很重要的)、軟件工程的概念和原理。(如果你想當老總就需要好好研究了,系統(tǒng)分析員比編碼員要高一個等級,薪水也高喲)、數(shù)據(jù)庫的概念。(要熟悉一些著名的數(shù)據(jù)庫系統(tǒng)和語言的名字,如Orcle,SQL,DB2,DyBase等)、了解網(wǎng)絡(luò)概念。、了解多媒體概念。、熟悉和掌握數(shù)據(jù)結(jié)構(gòu)和基本算法。、是不是要求太高了,別著急慢慢來,進步在不知不覺之中。(一旦開始學(xué)習(xí),一個月以后你就會有一個基本的概念;兩個月以后你就會感覺自己有了全面的基礎(chǔ)知識;當你知道編程序是怎么回事時,說明你已經(jīng)入門了。也有很多人編了很多年程序還沒有入門呢,你不會希望自己步其后塵吧。要有信心和耐心。沉不住氣怎么能成大事?!)

(四)教材推薦

推薦的教材主要還是針對概念來的,最好選用名校的教學(xué)用書。、《計算機組成原理》(熟悉)2、《數(shù)據(jù)結(jié)構(gòu)》(掌握)3、《操作系統(tǒng)》(了解*> 熟悉)4、《The C language 》(掌握)5、《編譯原理》(了解原理)6、《匯編語言》(了解)7、《計算機網(wǎng)絡(luò)》(了解)8、《軟件工程》(了解)9、《關(guān)系數(shù)據(jù)庫》(熟悉)、《The C ++Languege 》(掌握)、《面向?qū)ο笤O(shè)計》(掌握;結(jié)合C++ 學(xué)習(xí))

(五)一些經(jīng)驗和體會

(五)一些經(jīng)驗和體會、真正的程序員用C++ ;(一位專家說的)2、動手去編程序; 3、動腦去思考;、要有良好的編程風(fēng)格;、讀書,讀好書,盡量讀原版書!(我反復(fù)強調(diào)這一點,讀書要有選擇,堅持讀好書,名家出的經(jīng)典書,不要浪費實踐在一些粗制濫造的書上面;堅持博覽群書)6、有自己的學(xué)習(xí)計劃;、總結(jié)自己的經(jīng)驗教訓(xùn);(準備一個筆記本,記錄錯誤和心得)8、不要怕學(xué)新東西; 9、要有軟件工程的思想;、善于發(fā)現(xiàn)問題,然后去尋找答案; 11、向高手請教;(要虛心直到你成為高手)12、和同行交流;(不善于交流肯定不行)、懂得軟件的實質(zhì),不要被千變?nèi)f化的表象所迷惑;、真正要學(xué)習(xí)用的是編程語言和方法,不是什么庫,什么類,什么工具;(學(xué)用那些什么庫都比較簡單,但 光會這些庫,我覺得還遠遠不夠)、學(xué)習(xí)wiodows 編程主要是學(xué)習(xí)windows OS 和win32 API ; 16、有空了解一下嵌入式開發(fā); 17、有空了解一下PDA 軟件開發(fā);、了解一下.NET 框架和C# 語言,也許它是你新的衣食父母;、要有耐心,不要作浮躁的人; 20、對程序加注釋,并保留你的老程序; 21、學(xué)到的東西越多,了解的越多,你就越接近專家; 22、有空去逛逛CSDN,那里有你很多知己; 23、要有信心成為一個優(yōu)秀的程序;

(六)一些好書的推薦、《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++ 面向?qū)ο蟾咝Ь幊獭?8、《設(shè)計模式》 9、《Thinking In C++ 》、《The Standard C++ Bible 》(一般推薦)11、《The Art of Computer Programming 》、《Programming Windows 》(Charles Petzold)13、《VC++5.0 技術(shù)內(nèi)幕》 14、《MFC 深入淺出》 15、《軟件需求》、《Advanced Windows 》 17、《C++ primer 》、《win32 程序員參考手冊》 19、《用TCP/IP 進行網(wǎng)際互連》 20、《COM 本質(zhì)論》

(七)學(xué)習(xí)計劃

這個學(xué)習(xí)計劃是我個人定的,也共享給大家參考一下,共同進步吧。、《計算機組成原理》 2、《操作系統(tǒng)》 3、《數(shù)據(jù)結(jié)構(gòu)》 4、《匯編語言》 5、《 C 》 6、《 C++ 》 7、《VC 技術(shù)內(nèi)幕》、《Programming Windows 》 9、《深入淺出MFC 》 10、《Advanced Windows 》、《Inside The C++ Object Model 》 12、《Thinking in C++ 》 13、《Effective C++ 》 14、數(shù)據(jù)庫 15、網(wǎng)絡(luò)、嵌入式OS 和編程 17、硬件單片機 18、.NET 和C# 19、軟件工程 20、UNIX 和Linux

(八)后記

一年來浪費了大量的時間去摸索,去思考,走了很多的彎路,直到現(xiàn)在我還覺得自己是個編程的門外漢。我把我的一些體會和想法說出來(當然,很多都不一定正確,歡迎大家指正和討論),也許對一些想加入程序員行列的朋友有一些建議和幫助。希望能幫助這些朋友順利走上編程之路,成為高手。

如果真能如此,我也就很高興了。歡迎有興趣的朋友給我發(fā)E_mailsjpsky@163.net);我這個人有兩大業(yè)余愛好,其一就是讀武俠小說,其二就是結(jié)交英雄俠士。

后記:此文我用analyster 的名字登錄,發(fā)表在“csdn -程序人生”上了,有很多網(wǎng)友看了,回了,還收到幾個網(wǎng)友發(fā)來郵件,和我探討,我很感謝大家對我的信任和鼓勵。

我要說明的就是我的這篇小文,主要是想給“一些想成為程序員”的朋友一些建議,幫他們尋找一條自我培訓(xùn)的捷徑,(其實世界上沒有什么捷徑的,我覺得一切都在于悟性,師傅領(lǐng)進門,修行在個人,譬如我就修行不夠)少象我一樣作大量的無用功。還有,主要就是一個程序員應(yīng)該具備的基本功(個人看法), 有人稱其為“內(nèi)功”,我覺得很對。沒有扎實的基本功,我們?nèi)绾文軌蜃龅接稳杏杏嗟木帉懜哔|(zhì)量高性能的優(yōu)秀程序呢?

經(jīng)驗分享

(六)一個程序員給初學(xué)編程人的建議!絕對的好!

想學(xué)習(xí)程序設(shè)計而又很迷惘的朋友,希望可以帶來一點幫助。

我第一次接觸電腦是在小學(xué)二年級的時候。那時純粹是因為喜歡打電子游戲,聽別人說電腦上的游戲十分好玩,于是就漫漫開始與之接觸了。在三年級時父母出于我對計算機濃厚的興趣送我去了一個BASIC 編程學(xué)習(xí)班,從那時起我才真正開始走上編程這條不歸之路。雖然說現(xiàn)在程序設(shè)計這門專業(yè)在社會上很熱,競爭十分激烈,但是這只是學(xué)習(xí)編程的人比較多而已。真正能夠掌握以至于精通的人實際上很少,畢竟中國的軟件業(yè)才剛剛起步不久。現(xiàn)在社會對優(yōu)秀的程序設(shè)計人員的需求量還是相當大的,但是前提是必須要優(yōu)秀。我自己雖然也談不上優(yōu)秀,但多少還是有些感觸。在這里想講述自己對于一般程序員和優(yōu)秀程序員之間在技術(shù)上的一些認識(什么敬業(yè)精神生活態(tài)度我就不多說了):

首先作為一個優(yōu)秀的程序員,數(shù)學(xué)是十分重要的。數(shù)學(xué)是自然科學(xué)的基礎(chǔ),計算機科學(xué)實際上是數(shù)學(xué)的一個分支。數(shù)學(xué)主要能讓人懂得一種分析問題的方法,然后再通過編程去實現(xiàn)它。計算機內(nèi)部的許多原理也都牽涉到比較復(fù)雜的數(shù)學(xué)知識。它是我們用來解決現(xiàn)實問題的最高效的工具。很多學(xué)習(xí)編程的朋友對數(shù)學(xué)覺得不屑一顧,覺得對于編程沒有什么關(guān)系。實際上優(yōu)秀程序員和一般程序員拉開檔次很大一個程度上就是取決于對數(shù)學(xué)的能力。一些項目有時需要很復(fù)雜的數(shù)學(xué)建模和利用數(shù)學(xué)對于系統(tǒng)效率進行分析,而這些項目對于一般的程序員是很困難的。正確應(yīng)用數(shù)學(xué)知識有時候能使你的程序的效率產(chǎn)生質(zhì)的飛躍。現(xiàn)在的程序員在數(shù)學(xué)上普遍是薄弱環(huán)節(jié),這點是大家應(yīng)該引起足夠重視的。當別人對于這些項目感到無從下手,而你卻能夠完成,這個時候你的價值也就表現(xiàn)出來了。真正優(yōu)秀的程序員是能夠最基本的一點就是要能夠通過自己的知識來解決一般程序員所無法完成的問題。而數(shù)學(xué)能力就是一個很重要的環(huán)節(jié)。

其次就是要對數(shù)據(jù)結(jié)構(gòu)引起足夠的重視。如果說計算機專業(yè)的學(xué)生與非計算機專業(yè)的最根本的差別絕對是數(shù)據(jù)結(jié)構(gòu)(數(shù)學(xué)大家都一樣學(xué)了,主要看你自己學(xué)得好壞)。對數(shù)據(jù)結(jié)構(gòu)的掌握與運用能力是衡量你編程能力的一個很重要的指標。有的人對于看了鏈表,棧,樹,廣義表這些東西就頭痛。然而這些東西往往能使你的程序的效率比別人高出百倍。由于一直搞信息學(xué)競賽,到了大學(xué)又搞ACM,所以我對數(shù)學(xué)和數(shù)據(jù)結(jié)構(gòu)都掌握得相對較好。這使我在應(yīng)聘與工作中明顯感到勝人一酬。記得自己大學(xué)時去一家公司應(yīng)聘的經(jīng)歷,當時去應(yīng)憑的還有3 個人,有2 個大學(xué)畢業(yè),有個也工作了一段時間了。他們幾個都在大講自己的能力如何之強,會使用的語言及編程工具如何之多,經(jīng)驗如何之豐富。按理說我應(yīng)該是資質(zhì)最淺的。當時也是初生牛X 不怕虎,也就硬著頭皮去了。當時面試的題目是一個公司的資金管理項目的一個問題,要求每個人都在思考后給出自己的設(shè)計方案。其中比較核心的一個問題就是要計算一個資金最小波動值的問題,給出的數(shù)據(jù)量相當大,對效率要求很高。對于整個程序的面向?qū)ο蠡姆治鑫覀儙讉€都是差不多的,畢竟這些東西在學(xué)校里是很重視的,而且不是真正的難點。然而到了最關(guān)鍵的問題時其余的人都卡殼了,有兩個是用簡單的雙重循環(huán),時間復(fù)雜度(N^2),慘不忍睹。還有一個在冥思苦想了好一陣以后說用樹,具體技術(shù)細節(jié)又講不清楚,效率分析也很馬虎。只有我當時很快就給出了采取AVL 樹的方案,并且利用高等數(shù)學(xué)推導(dǎo)作出了很詳細的效率分析和時空換算,并提出了引入?yún)R編的方法。很自然的我得到了這分工作。在這里大家顯然可以看到數(shù)學(xué)和數(shù)據(jù)結(jié)構(gòu)對于一個優(yōu)秀程序員是多么重要,它們是和一般的程序員打開檔次的最關(guān)鍵的地方。這樣向“棗子”碰到的那種情況應(yīng)該很輕松的就可以想到。

如果你是一位想學(xué)習(xí)編程的朋友,我經(jīng)過多年的學(xué)習(xí)總結(jié)出來了一個學(xué)習(xí)的線路希望對你有所幫助。要學(xué)習(xí)編程是要有很大恒心和毅力的,首先你要明確自己的目標,想好自己編程是為了干什么。如果你學(xué)習(xí)僅僅只是一時想編出QUAKE 和成為比爾蓋次的沖動,那么我勸你還是應(yīng)該還是不要開始學(xué)習(xí),應(yīng)為這樣的目標很難支持你日后大量的學(xué)習(xí)。而且你的年齡不能太大(最好是中學(xué)或者大學(xué)生)。如果你想好目標并決定開始奮斗,那就讓我們開始吧。如果你一開始對電腦一無所知,那么你應(yīng)該先熟悉一些電腦的一些最基本的原理和操作,這個不需要特別細致的學(xué)習(xí),只要大概知道二進制和一些基本操作就可以了。接下來你應(yīng)該先學(xué)習(xí)BASIC 語言,這個語言并不會耽誤你太多的時間,學(xué)習(xí)它完全是為了入門,讓你對電腦編程有一個比較初步的認識。這時候你應(yīng)該多編一些小的程序,知道一些最基本每條語句的功能,搞清楚一些基本的數(shù)據(jù)結(jié)構(gòu)(尤其是數(shù)組)對于一些其余用途的函數(shù)最好不要做任何學(xué)習(xí),因為這樣只會分散你的注意力。當你能夠可以熟練的運用BASIC 編出猴子選大王,以及電腦出題考試之類的程序時,你就可以開始后面的學(xué)習(xí)了。接下來如果覺得自己接受能力強的話就可以開始學(xué)C 了(注意不是C++),如果感覺有困難也可以先學(xué)Pascal 過度一下。還有很重要的一點就是千萬不要一開始就學(xué)VB,DELPHI,VC之類的東西,這些東西在一開始學(xué)會對你造成很壞的影響。有可能會把你引入另外一個錯誤的學(xué)習(xí)方向而忽略了真正應(yīng)該掌握的東西。學(xué)C 主要是學(xué)過程話的程序設(shè)計,學(xué)會把自己的程序分成許多的函數(shù)(或過程),養(yǎng)成良好的編程習(xí)慣。這時可以多看一下高人的程序,不一定要懂意思,主要是學(xué)會別人程序的格式(比如變量如何起名,怎么劃分函數(shù))。除開掌握基本的控制流語句外,應(yīng)該學(xué)習(xí)一些很簡單的I/O 函數(shù)和數(shù)學(xué)函數(shù)。C 的學(xué)習(xí)主要是你舍棄原來BASIC 程序那種把所有語句積成一大堆的風(fēng)格,要學(xué)會使用函數(shù),提高代碼重用性。對于指針之類的東西如果實在看不懂可以先不去管,到后面會有辦法。當你能夠比較自如的用C 編寫一些小的計算程序時,你就可以開始你的數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)了(數(shù)學(xué)的學(xué)習(xí)主要是在學(xué)校,自

己要多用心)。數(shù)據(jù)結(jié)構(gòu)你可以一點一點漫漫看,并不需要專門空出一段時間來專門研究,這樣的目的是讓你能夠很好的掌握它,要學(xué)會用數(shù)據(jù)結(jié)構(gòu)的知識來規(guī)范自己的程序設(shè)計和提高程序的效率。學(xué)完C 我認為接著最好學(xué)習(xí)匯編。這個或許有許多人都會反對,然而我個人認為這樣是很好的。從最基本的DOS 匯編開始,買本《IBM PC 匯編程序設(shè)計》(清華黃皮)一定要一點一點吃透,實在看不懂就跳,反復(fù)的嚴讀是一定可以看懂的。匯編是一定要掌握的,因為它涉及到很多最基本的知識。掌握了匯編和對I/O 有了個很徹底的認識后,應(yīng)該去學(xué)編譯原理。這個東西并不要精通,但是一定要知道,在大腦里要有一個這樣的概念,這對你對程序語言的控制能力都有很大的幫助。這樣最基本的學(xué)習(xí)就算完成了。一般智力正常的人前一段東西應(yīng)該都是可以掌握的。接著后面的學(xué)習(xí)就要看你自身的造化了。這個時候你應(yīng)該研究一下數(shù)據(jù)結(jié)構(gòu),不要分散自己學(xué)習(xí)的注意力,要知道數(shù)據(jù)結(jié)構(gòu)是異常重要的(相信我,絕對沒錯)如果你覺得自己已經(jīng)對于樹,連表,堆棧之類的東西和排序,遞歸之類的算法已經(jīng)十分清楚,就可以開始學(xué)習(xí)C++了。學(xué)習(xí)前一定要有個正確的認識,那就是C 和C++ 是兩個不同的東西。學(xué)習(xí)C++ 是為了學(xué)習(xí)面向?qū)ο蟮某绦蛟O(shè)計,這個時候你對于指針應(yīng)該也能夠掌握了(有匯編的基礎(chǔ)),主要抓住C++ 和C 相比的一些新特性,對于多態(tài)之類的特性要注意理解掌握,如果沒有搞懂就堅決不要往下學(xué)習(xí)。一些基本的概念掌握以后可以看一些別人設(shè)計的程序,學(xué)習(xí)別人怎么利用面向?qū)ο蟮姆?/p>

法來設(shè)計程序的。這個東西也是人之間拉開檔次的一個環(huán)節(jié),可以和數(shù)據(jù)結(jié)構(gòu)放在同等重要的地位。我就見過有的人都大學(xué)畢業(yè)了還搞不懂virtual 到底是怎么一回事情。其實我認為學(xué)到這里你已經(jīng)為你成為一個優(yōu)秀的程序員打下了很好的基礎(chǔ),你已經(jīng)能夠應(yīng)用C++,懂得面向?qū)ο蟪绦蛟O(shè)計,對數(shù)據(jù)結(jié)構(gòu)掌握很好,掌握匯編和編 譯原理。接下來的學(xué)習(xí)就是基于操作平臺的了,一般是先學(xué)windows(Microsoft 畢竟是老大),先學(xué)win32api,搞請windows 基本消息機制和原理,有匯編基礎(chǔ)基本上不會碰到什么困難。其實只要會了API,其余什么MFC,VCL 都是囊中之物了,都不過是對于API 的小裝而已。VC,C++Builder 都可輕松拿下,這只是開發(fā)工具的問題。以后的OLE(ActiveX),.NET,數(shù)據(jù)庫就要看自己的發(fā)展方向而定了。我在這里強調(diào)的是前面的基本能力的學(xué)習(xí),后面操作平臺雖然知識體系龐大,然而畢竟比較死,更好掌握。最后編程能力的高低主要還是有以下幾點決定:1。編程的習(xí)慣 2。數(shù)學(xué)能力(包括邏輯思維,分析問題的能力)3。對數(shù)據(jù)結(jié)構(gòu)的認識能力 4。經(jīng)驗的多少(包括多使用語言的掌握能力)。

經(jīng)驗分享

(七)算法的力量

算法是計算機科學(xué)領(lǐng)域最重要的基石之一,但卻受到了國內(nèi)一些程序員的冷落。許多學(xué)生看到一些公司在招聘時要求的編程語言五花八門,就產(chǎn)生了一種誤解,認為學(xué)計算機就是學(xué)各種編程語言,或者認為,學(xué)習(xí)最新的語言、技術(shù)、標準就是最好的鋪路方法。其實,大家被這些公司誤導(dǎo)了。編程語言雖然該學(xué),但是學(xué)習(xí)計算機算法和理論更重要,因為計算機語言和開發(fā)平臺日新月異,但萬變不離其宗的是那些算法和理論,例如數(shù)據(jù)結(jié)構(gòu)、算法、編譯原理、計算機體系結(jié)構(gòu)、關(guān)系型數(shù)據(jù)庫原理等等。在“開復(fù)學(xué)生網(wǎng)”上,有位同學(xué)生動地把這些基礎(chǔ)課程比擬為“內(nèi)功”,把新的語言、技術(shù)、標準比擬為“外功”。整天趕時髦的人最后只懂得招式,沒有功力,是不可能成為高手的。

算法與我

當我在1980 年轉(zhuǎn)入計算機科學(xué)系時,還沒有多少人的專業(yè)方向是計算機科學(xué)。有許多其他系的人嘲笑我們說:

“知道為什么只有你們系要加一個?科學(xué)?,而沒有?物理科學(xué)系?或?化學(xué)科學(xué)系?嗎?因為人家是真的科學(xué), 不需要畫蛇添足,而你們自己心虛,生怕不?科學(xué)?,才這樣欲蓋彌彰。” 其實,這點他們徹底弄錯了。真正學(xué)懂計算機的人(不只是“編程匠”)都對數(shù)學(xué)有相當?shù)脑煸劊饶苡每茖W(xué)家的嚴謹思維來求證,也能用工程師的務(wù)實手段來解決問題——而這種思維和手段的最佳演繹就是“算法”。

記得我讀博時寫的Othello 對弈軟件獲得了世界冠軍。當時,得第二名的人認為我是靠僥幸才打贏他,不服氣地問我的程序平均每秒能搜索多少步棋,當他發(fā)現(xiàn)我的軟件在搜索效率上比他快60 多倍時,才徹底服輸。為什么在同樣的機器上,我可以多做60 倍的工作呢?這是因為我用了一個最新的算法,能夠把一個指數(shù)函數(shù)轉(zhuǎn)換成四個近似的表,只要用常數(shù)時間就可得到近似的答案。在這個例子中,是否用對算法才是能否贏得世界冠軍的關(guān)鍵。

還記得1988 年貝爾實驗室副總裁親自來訪問我的學(xué)校,目的就是為了想了解為什么他們的語音識別系統(tǒng)比我開發(fā)的慢幾十倍,而且,在擴大至大詞匯系統(tǒng)后,速度差異更有幾百倍之多。他們雖然買了幾臺超級計算機,勉強讓系統(tǒng)跑了起來,但這么貴的計算資源讓他們的產(chǎn)品部門很反感,因為“昂貴”的技術(shù)是沒有應(yīng)用前景的。在與他們探討的過程中,我驚訝地發(fā)現(xiàn)一個O(n*m)的動態(tài)規(guī)劃(dynamic programming)居然被他們做成了O(n*n*m)。更驚訝的是,他們還為此發(fā)表了不少文章,甚至為自己的算法起了一個很特別的名字,并將算法提名到一個科學(xué)會議里,希望能得到大獎。當時,貝爾實驗室的研究員當然絕頂聰明,但他們?nèi)际菍W(xué)數(shù)學(xué)、物理或電機出身,從未學(xué)過計算機科學(xué)或算法,才犯了這么基本的錯誤。我想那些人以后再也不會嘲笑學(xué)計算機科學(xué)的人了吧!

網(wǎng)絡(luò)時代的算法

有人也許會說:“今天計算機這么快,算法還重要嗎? ”其實永遠不會有太快的計算機,因為我們總會想出新的應(yīng)用。雖然在摩爾定律的作用下,計算機的計算能力每年都在飛快增長,價格也在不斷下降。可我們不要忘記,需要處理的信息量更是呈指數(shù)級的增長。現(xiàn)在每人每天都會創(chuàng)造出大量數(shù)據(jù)(照片,視頻,語音,文本等等)。日益先進的記錄和存儲手段使我們每個人的信息量都在爆炸式的增長。互聯(lián)網(wǎng)的信息流量和日志容量也在飛快增長。在科學(xué)研究方面,隨著研究手段的進步,數(shù)據(jù)量更是達到了前所未有的程度。無論是三維圖形、海量數(shù)據(jù)處理、機器學(xué)習(xí)、語音識別,都需要極大的計算量。在網(wǎng)絡(luò)時代,越來越多的挑戰(zhàn)需要靠卓越的算法來解決。

再舉另一個網(wǎng)絡(luò)時代的例子。在互聯(lián)網(wǎng)和手機搜索上,如果要找附近的咖啡店,那么搜索引擎該怎么處理這個請求呢?

最簡單的辦法就是把整個城市的咖啡館都找出來, 然后計算出它們的所在位置與你之間的距離, 再進行排序, 然后返回最近的結(jié)果。但該如何計算距離呢?圖論里有不少算法可以解決這個問題。

這么做也許是最直觀的,但絕對不是最迅速的。如果一個城市只有為數(shù)不多的咖啡館, 那這么做應(yīng)該沒什么問題, 反正計算量不大。但如果一個城市里有很多咖啡館, 又有很多用戶都需要類似的搜索, 那么服務(wù)器所承受的壓力就大多了。在這種情況下, 我們該怎樣優(yōu)化算法呢? 首先,我們可以把整個城市的咖啡館做一次“預(yù)處理”。比如,把一個城市分成若干個“格子(grid)”, 然后根據(jù)用戶所在的位置把他放到某一個格子里,只對格子里的咖啡館進行距離排序。

問題又來了,如果格子大小一樣,那么絕大多數(shù)結(jié)果都可能出現(xiàn)在市中心的一個格子里,而郊區(qū)的格子里只有極少的結(jié)果。在這種情況下,我們應(yīng)該把市中心多分出幾個格子。更進一步,格子應(yīng)該是一個“樹結(jié)構(gòu)”,最頂層是一個大格——整個城市,然后逐層下降,格子越來越小,這樣有利于用戶進行精確搜索——如果在最底層的格子里搜索結(jié)果不多,用戶可以逐級上升,放大搜索范圍。

上述算法對咖啡館的例子很實用,但是它具有通用性嗎?答案是否定的。把咖啡館抽象一下,它是一個“點”,如果要搜索一個“面”該怎么辦呢?比如,用戶想去一個水庫玩,而一個水庫有好幾個入口,那么哪一個離用戶最近呢?這個時候,上述“樹結(jié)構(gòu)”就要改成“r*tree ”, 因為樹中間的每一個節(jié)點都是一個范圍,一個有邊界的范圍(參考:http://)。這個算法能夠在很多種計算中達到相當高的效率,而且是可擴展的(也就是說,一千臺機器就算不能達到一千倍的效果,至少也可以達到幾百倍的效果)。Map and Reduce 的另外一大特色是它可以利用大批廉價的機器組成功能強大的server farm。最后,它的容錯性能異常出色,就算一個server farm 里面的機器down 掉一半,整個farm 依然能夠運行。正是因為這個天才的認識, 才有了Map and Reduce 算法。借助該算法,Google 幾乎能無限地增加計算量,與日新月異的互聯(lián)網(wǎng)應(yīng)用一同成長。

算法并不局限于計算機和網(wǎng)絡(luò)

舉一個計算機領(lǐng)域外的例子:在高能物理研究方面,很多實驗每秒鐘都產(chǎn)生幾個TB 的數(shù)據(jù)量。但因為處理能力和存儲能力的不足,科學(xué)家不得不把絕大部分未經(jīng)處理的數(shù)據(jù)丟棄掉。可大家要知道,新元素的信息很有可能就藏在我們來不及處理的數(shù)據(jù)里面。同樣的,在其他任何領(lǐng)域里,算法都可以改變?nèi)祟惖纳睢@缛祟惢虻难芯浚涂赡芤驗樗惴ǘl(fā)明新的醫(yī)療方式。在國家安全領(lǐng)域,有效的算法可能避免下一個911 的發(fā)生。在氣象方面,算法可以更好地預(yù)測未來天災(zāi)的發(fā)生,以拯救生命。

所以,如果你把計算機的發(fā)展放到應(yīng)用和數(shù)據(jù)飛速增長的大環(huán)境下,你一定會發(fā)現(xiàn),算法的重要性不是在日益減小,而是在日益加強。

給程序員的七個建議

(1)練內(nèi)功。不要只花功夫?qū)W習(xí)各種流行的編程語言和工具,以及某些公司招聘廣告上要求的科目。要把數(shù)據(jù)結(jié)構(gòu)、算法、數(shù)據(jù)庫、操作系統(tǒng)原理、計算機體系結(jié)構(gòu)、計算機網(wǎng)絡(luò),離散數(shù)學(xué)等基礎(chǔ)課程學(xué)好。大家不妨試試高德納所著The Art of Computer Programming 里的題目,如果你能夠解決其中的大部分題目,就說明你在算法方面有一定的功力了。

(2)多實戰(zhàn)。通過編程的實戰(zhàn)積累經(jīng)驗、鞏固知識。很多中國大學(xué)畢業(yè)生缺乏編程和調(diào)試經(jīng)驗;學(xué)習(xí)C語言,考試過關(guān)就算學(xué)會了;課題項目中,只要程序能夠編譯,運行,并且輸入輸出滿足要求就算了事。這些做法是不行的。寫程序的時候,大家必須多想想如何把程序?qū)懙酶泳珶挕⒏咝А⒏哔|(zhì)量。建議大家爭取在大學(xué)四年中積累編寫十萬行代碼的經(jīng)驗。我們必須明白的是:好程序員是寫出來的,不是學(xué)出來的。

(3)求實干。不要輕視任何實際工作,比如一些看似簡單的編碼或測試。要不懈追求對細節(jié)一絲不茍的實干作風(fēng)與敬業(yè)精神。我發(fā)現(xiàn)不少程序員對于知識的掌握很膚淺,不求甚解,沒有好奇心,不會刨根問底。比如,學(xué)會了C++,是否了解一個對象在編譯后,在匯編代碼中是如何被初始化的?這個對象的各個成員在內(nèi)存中是如何存放的?當一個成員函數(shù)被調(diào)用時,編譯器在匯編代碼中加入了哪些額外的動作?虛函數(shù)的調(diào)用是如何實現(xiàn)的? 這些東西恐怕在編程語言或編譯原理中都沒有詳細提到,只有通過踏實的實干才能真正掌握。

(4)重視數(shù)學(xué)學(xué)習(xí)。數(shù)學(xué)是思維的體操,數(shù)學(xué)無處不在。學(xué)計算機至少要學(xué)習(xí)離散數(shù)學(xué)、概率論、布爾代數(shù)、集合論和數(shù)理邏輯。這些知識并不難,但是對你未來的工作幫助會很大。尤其當你對一些“數(shù)學(xué)密集型”的領(lǐng)域如視頻、圖像處理等有興趣時,這些知識將成為你手中的利器。

(5)培養(yǎng)團隊精神,學(xué)會與人合作。今天的軟件工程早已經(jīng)不是一個人可以單獨操作的,而必須靠團隊合作才能成功。不懂得合作的人是不能成大器的。大家要多去尋找可以與人一起做項目的機會。

(6)激勵創(chuàng)新意識,培養(yǎng)好奇心,不要死記硬背。沒有掌握某種算法技術(shù)的根本原理,就不會有應(yīng)變和創(chuàng)新的能力。想成為一位好程序員(其實從事任何一個行業(yè)都是如此),重要的是要養(yǎng)成鉆研,好奇,創(chuàng)新,動手,合作的優(yōu)秀習(xí)慣,不滿足于填鴨,不滿足于考試交差,不滿足于表象。這不是學(xué)幾門課能夠一蹴而就的。

(7)有策略地“打工”。在不影響學(xué)業(yè)的前提下,尋找真正有意義的暑期工作或兼職。去找一個重視技術(shù)的公司,在一個好的“老板”指導(dǎo)下完成真正會被用戶使用的程序。不要急于去一個要你做“頭”而獨擋一面的地方,因為向別人學(xué)習(xí)才是你的目的。找工作也是一樣,不要只看待遇和職銜,要挑一個你能夠?qū)W習(xí)的環(huán)境,一個愿意培養(yǎng)員工的企業(yè),一個重視你的專業(yè)的公司。最后,還要挑一個好老板。

希望大家都能把握機會,養(yǎng)成好的學(xué)習(xí)習(xí)慣,把算法學(xué)精學(xué)透;希望大家都能有一個美好的未來!

經(jīng)驗分享

(八)不要迷失在技術(shù)的海洋中

技術(shù)就好像一片汪洋大海,越深入越望不到邊際。就拿自己的體會說吧,2000 年的時候在學(xué)校搞ASP,覺得網(wǎng)頁開發(fā)就是這么簡單,把數(shù)據(jù)庫中的數(shù)據(jù)格式化一下顯示在頁面上,把用戶的輸入組裝成添加刪除和修改的SQL 提交到數(shù)據(jù)庫中去。幾年后的今天,我對自己了解或聽說過的ASP.NET 相關(guān)(注意:僅僅是ASP.NET 或者說網(wǎng)站制作相關(guān))技術(shù)列了一下:

在這些語言、技術(shù)、工具、理念中,每一項都能擴展出很多還要細化的技術(shù),每一項要達到熟悉的程度可能都會花去一年的時間,如果這些都要達到熟悉的話,大概也 就快退休了。不但如此,每一個技術(shù)都在飛速發(fā)展,今年語言到了明年就有更簡單的語法,今年的技術(shù)到了明年就有更好的技術(shù)來替代,今年的工具到明年已經(jīng)面目 全非,今年的理念到了明年已不再流行。

或許你現(xiàn)在:

在為面試而去搜索接口和抽象類的區(qū)別;

在為新技術(shù)來不及學(xué)習(xí)而煩惱;

在為看不懂高深的技術(shù)文章而煩惱;

在為項目不能提高自己的編碼水平而發(fā)愁;

????

我覺得:不管做什么,學(xué)什么,一要心態(tài)好,二要態(tài)度好。所謂心態(tài)好就是不要著急、不用擔心;所謂態(tài)度好是多分享、多討論、學(xué)出自己的心得。分享的意義是很大的,在分享之后的認知水平往往比分享之前的高,而且在很多時候分享給別人1 點,別人能回報給你2 點。有些人在團隊中不愿意分享,怕團隊中的其它人水平提升了影響到自己的地位,其實這種想法是沒有什么道理的,也是對自己不利的。有些人又在羨慕別人的技術(shù)NB,崇拜高手,為自己的技術(shù)差感到煩惱,如果你對自己信心又有什么技術(shù)是花時間學(xué)不到的那?

從學(xué)習(xí)的內(nèi)容上來說,要堅持兩個原則,如果你沒有時間的話,那么學(xué)新技術(shù)不如學(xué)基礎(chǔ)、學(xué)應(yīng)用不如學(xué)思想。舉例來說,如果你只熟悉C# 的基本語法的話,那么學(xué)好C# 這個語言比學(xué)會編寫留言本更有意義,如果你關(guān)注MVC、ORM 的話,那么學(xué)習(xí)它們的思想比學(xué)會使用MONORAIL 以及NHIBERNMATE 更好。技術(shù)雖然一直在變,但是越是基礎(chǔ)和越是抽象的技術(shù)變化越慢,越是偏向應(yīng)用越是具體的技術(shù)變化越是快,從性價比上說,學(xué)習(xí)基礎(chǔ)知識性價比更高。再舉一個直白的例子,DIY 電腦的時候,在顯示器上多花費500 元的意義一定比在顯卡上多花費500 元的意義大,而就是有些人寧可在顯卡上多花費500 元。在很多大型軟件公司,招聘的時候只看人(看人品、看聰明程度、看態(tài)度)不看技術(shù)的,因為它們需要的是能快速發(fā)展,適應(yīng)企業(yè)文化的人,而不需要你那些所謂的精通和熟悉。

不要過于專著于技術(shù),這里的技術(shù)指工作中用于開發(fā)的技術(shù)。在幾年之后,當你只有.NET 可以和你的孩子分享的話,是不是太可悲了。在軟件行業(yè),技術(shù)雖然一定程度決定了薪水、決定了職位,但是我們的生活并不是100% 是工作,有時間為技術(shù)而發(fā)愁,為何不綜合提升自己的其它能力呢?并且隨著職位的上升,往往溝通能力、經(jīng)濟知識以及文學(xué)藝術(shù)修養(yǎng)比技術(shù)顯得更重要,這個時候嘆息自己過于專著技術(shù)往往為時過晚。

雖然國內(nèi)很多公司的技術(shù)層次不同和文化也有差異,但是在大多數(shù)的時候公司或別人能教給你的東西很少,要學(xué)東西還是要靠自己主動。有的人一直覺得在公司學(xué)不到 東西,想換一個環(huán)境,往往他換了一個環(huán)境之后發(fā)現(xiàn)還是學(xué)不到什么東西。國內(nèi)的項目大多還是急功近利的,不要期望有這么多微軟研究院,空閑的時間踏踏實實學(xué) 一些東西比到處找工作強很多,做項目的時候多分享一下自己的心得給團隊成員比抱怨團隊技術(shù)實力差強很多。

在工作中,要始終提醒自己“謙恭”、“真誠”和“規(guī)矩”,謙恭真誠對別人,把規(guī)矩留給自己。技術(shù)再強也要“謙恭”,離開了“謙恭”的技術(shù)就會失去光芒,社會 再險惡也要“真誠”,一切虛偽會在“真”誠面前低頭,職位再高也要“規(guī)矩”(不遲到,不早退,以身作則),否則再大的權(quán)力也只能變成人員的流失。如果能做 到這六個子,那么無論你的技術(shù)怎么樣,無論你到哪里都會得到領(lǐng)導(dǎo)的重用,在事業(yè)上有所發(fā)展。

現(xiàn)在的你不再為面試而去搜索接口和抽象類的區(qū)別,而是在面試的時候告訴考官你并不知道它們之間的區(qū)別,但是愿意在一個月內(nèi)系統(tǒng)學(xué)習(xí)面向?qū)ο蟮闹R;為新技術(shù)來不及學(xué)習(xí)而煩惱,而是明確了自己最需要學(xué)習(xí)的技術(shù),一邊學(xué)習(xí)一邊分享;為看不懂高深的技術(shù)文章而煩惱,而是拿起《C# 高級編程》踏踏實實從頭到底邊閱讀邊做試驗;為項目不能提高自己的編碼水平而發(fā)愁,而是在進度允許的情況下盡可能讓項目變得可擴展、可維護以及高效;

????

看到身邊的一些人為技術(shù)所累,在技術(shù)的海洋中航行的很辛苦,因此有了本文。本文的主要目的是提醒大家找到方向,時不時回岸邊休息一下,思考一下新的航向,不要迷失在技術(shù)的海洋中讓自己筋疲力盡,在技術(shù)之外的有很多東西的意義遠大于技術(shù),請大家踴躍討論????

更新(本文或許過于雜亂,總結(jié)一下觀點): 學(xué)習(xí)靠自己,不要期望別人教你什么,學(xué)習(xí)要主動;

不管水平高低,不要看不起自己,也不能看不起別人,學(xué)習(xí)要心態(tài)好; 不能不思進取,也不用讓自己為技術(shù)所累,給自己多一點技術(shù)之外的時間; 如果時間不充裕,優(yōu)先考慮學(xué)習(xí)基礎(chǔ)的內(nèi)容,同時也可以多關(guān)注一些新的思想; 如果別人能從你這里學(xué)到知識的話,那么你自己也一定學(xué)到了知識,請堅持分享;

經(jīng)驗分享

(九)給所有入門程序員的建議(1)--句句是諍言 希望大家認真讀完

編了這么久的程序,一直想找機會總結(jié)下其中的心得和方法,但回想我這段編程道路,又很難說清楚,如果按照我走過的所有路來說,顯然星不可能的!當我看完了云風(fēng)的《游戲之旅**編程感悟》和梁肇新的《編程高手箴言》我突然瞄道我要從何說起,我要怎么說了!

從接觸編程到現(xiàn)在已經(jīng)至少要6年,雖然時間短,但我?guī)缀趺刻於荚诰帲幊躺贤伙w猛進的還星最近一兩年,單純編程上的進步,很簡單就星經(jīng)驗,但你要理解才可以進步的快!這就星說,你的理論課要學(xué)好,才能學(xué)好編程,操作系統(tǒng),網(wǎng)絡(luò)原理,計算機體系結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu),編譯原理,你哪個學(xué)的不好,你根本不配成為編程高手,我見過的高手,這些學(xué)的都不錯!這些都星計算機的支柱,你連它的支柱都不了解,怎么編程,即使你編寫的程序好——只有一個原因,你用的星高級語言或腳本語言,因為它們封閉大量低層語言細節(jié),讓你不用了解就可以編寫,你不了解低層細節(jié)你咋成為高手!解釋什么叫編程?

我覺得現(xiàn)在很多同學(xué),根本不瞄道什么叫編程!我現(xiàn)在告訴你,單純的編程,也就星就瞄道語法瞄識的編程,根本不叫編程,只會單純的語法的編程連低級程序員都不如!

編程不僅僅星你對語法的掌握,你還要把各種技術(shù)混合到里面,這樣才叫編程,你編程的時候,你應(yīng)該問問自己,你的程序有算法嗎?你的程序?qū)懙膲蚝唵螁幔克俣茸銐蚩靻幔空加每臻g足夠少嗎?代碼寫的規(guī)范嗎?語句寫的標準嗎?你的程序之間的結(jié)構(gòu)合理嗎?你類定義的合適嗎?方法和屬性合理嗎?接口合理嗎?等等等,包含很多東西!這就星高級程序員為什么賺這么多錢!要付出相當大的腦力勞動!

調(diào)試對你也很重要,一個程序高手,也星調(diào)試專家,其實調(diào)試很多方法,但大多數(shù)都星實踐中得到的!

指正現(xiàn)在人對學(xué)計算機誤區(qū)

現(xiàn)在我每天在和匯編,硬件指令,c和c++或一些低層API打交道,有些時候編程這個東西很難說清楚,只有你經(jīng)歷了,你才能感受到,你沒有經(jīng)歷,就永遠體驗不到!

我現(xiàn)在要更正幾個現(xiàn)在學(xué)計算機人的誤區(qū),我想回答的星,學(xué)什么才星學(xué)計算機!

學(xué)計算機的兩個方向:一個星純搞理論的,一個星搞實踐的。搞理論的無可厚非的,大家都承認星學(xué)計算機。那么實踐呢?我很難給出一個定義,但我會列出那些才星真正學(xué)計算機學(xué)的:

(1)編程,這里的編程,我要拋出FLASH,PHOTOSHOP,3DMAX等,它們雖然也有語言,但都星為了給美術(shù)人員提供的!也就星幾乎封閉了大量的低層細節(jié),對于一個學(xué)計算機的人來說,如果你努力學(xué)它們,你還星不要學(xué)計算機了,去學(xué)美術(shù)把!網(wǎng)頁編程能接觸到至少兩種類型語言,HTML和ASP或JSP(PHP),HTML說實話,不應(yīng)該星計算機人學(xué)的,你應(yīng)該學(xué)的星ASP,JSP等!

按嚴格意義上講(但實際沒有這么嚴格)如果你的主要必修語言,不星c,c++,JAVA,或者硬件指令,都不算星真正學(xué)計算機的,之所以這么說,我舉個例子,比如你用JSP,它星一個腳本語言,如果你用過這個語言,你認為你用好這門語言需要了解硬件結(jié)構(gòu)瞄識嗎?顯然不用,如果你純星JSP程序員,你需要只星,JSP語法,一些簡單的JAVA語言,SQL之類的數(shù)據(jù)庫瞄識,其余的你什么都不需要,至于分析流程,那星系統(tǒng)分析師的事,不要和編程混為一談,我學(xué)JSP學(xué)了3個月,現(xiàn)學(xué)現(xiàn)買就做出了功能齊全的網(wǎng)上書店(當時星老師布置的作業(yè)),如果再努點力,就可以投如使用!所以說,學(xué)JSP根本就不需要太多的專業(yè)瞄識,不星學(xué)計算機的也很容易就學(xué)會!

學(xué)c++,我都學(xué)了好幾年了,用它寫程序都幾十萬行,我也不敢說我學(xué)的精通!就星因為它太靈活了!不同人,用的效果就星不一樣!所以按嚴格意義上講,如果你的主要必修語言,不星c,c++,JAVA,或者硬件指令,都不算星真正學(xué)計算機的,也就星說,學(xué)那些對計算機專業(yè)瞄識不需要太多了解的語言,就不叫學(xué)計算機的!

(2)

從事軟件方法實踐研究,這個純星軟件工程方面的,如果你沒有容入一個大項目中很難體會它的重要性,想一想,一個程序,幾十萬,幾百萬行代碼,能這么好的實現(xiàn),并運行,它的功勞不封!

(3)

從事低層硬件開發(fā),這里可能和搞電子的專業(yè)有些重疊,但事實就星這樣,他們也星學(xué)計算機的!其余的,裝系統(tǒng)了,裝電腦了,用人家編好的軟件實現(xiàn)些圖片音樂等功能的,那都星計算機的門外漢,不要和真正學(xué)計算機的混為一談!

我經(jīng)常被問到:

你會盜qq不?我暈,學(xué)計算機的就要會盜qq? 你會裝電腦不?雖然我會,但不會并不可恥 你會裝系統(tǒng)不?雖然我會,但不會并不可恥 ???????? ????????

等等把,有好多,通過我上面解釋,你應(yīng)該理解學(xué)計算機的應(yīng)該會什么,不會什么也星應(yīng)該的!

正式入題,怎么學(xué)好編程!

世面上好象只有這兩本星中國人寫的關(guān)于編程心得的書,中國編程好的人很多,但寫出方法很難!第一本《游戲之旅**編程感悟》前面幾章寫的星云風(fēng)的編程經(jīng)歷,后面幾章寫的星編程經(jīng)驗!總的來說本書很容易讀懂!《編程高手箴言》書很難,尤其寫操作系統(tǒng)那章!正如作者所說,真正寫一門編程方法學(xué)的書很難!本書前幾張概括了當前中國軟件面臨的形式,我強烈建議看一下,寫的很經(jīng)典!以前我不瞄道程序和軟件的區(qū)別星什么,現(xiàn)在我瞄道了!后面幾張寫的都星編程方法和編程要具備的瞄識!

總結(jié)他們兩人所說的,我準備按照下面提綱來寫編程方法!

1。如果你感興趣,學(xué)計算機星一種光榮,如果你不感興趣,那么它星地獄!2。理論對你很重要,尤其星你一名搞技術(shù)的程序工程師!3。學(xué)會自學(xué),學(xué)會思考,學(xué)會合作與交流!

4。要想成為高手,一定要從底層學(xué)起,底層星什么?CPU,匯編等硬件指令!5。編程需要經(jīng)驗積累,學(xué)會調(diào)試對你尤其重要!

6。全局把握整個工程,具體到每個類的屬性和方法以及各個類的關(guān)系!一定確保你設(shè)計的類和類模式和類間關(guān)系能夠有效,利于修改和升級!概括說就星軟件工程。下面我就分別說一下

一.如果你感興趣,學(xué)計算機星一種光榮,如果你不感興趣,那么它星地獄!

我經(jīng)常聽很多同學(xué)說,開始他對計算機很感興趣,但隨著大學(xué)里的學(xué)習(xí),越來越感覺無聊甚至厭煩!你之所以這么想,其實一點也不怪你!從高中的應(yīng)試教育到大學(xué)里的自由學(xué)習(xí)方式上的轉(zhuǎn)變,我們幾乎都不適應(yīng),一到大學(xué),突然有一種解放的感覺,沒有老師的強硬指示學(xué)習(xí),自己根本不瞄道怎么學(xué),學(xué)什么!所以說,教育對我們很不負責(zé)任!

如果你在大學(xué)以前已經(jīng)瞄道編程怎么回事,那到?jīng)]什么事情!但好象很少有人象云風(fēng)這樣從封就接觸了編程教育!所以我們在沒有上大學(xué)前幾乎星零起步!

其實,按我的理解,剛上大學(xué)開始學(xué)編程有些晚了,之所以這么說,不星因為單純的編程很難,如果你很努力,幾年完全可以搞定,其他的你去公司的經(jīng)驗可以彌補!我這里想說的星,一個真正的程序員不單單要有強硬的編程實力,還要有強大的理論后盾!你只會編程,沒有強大的理論做后盾,你也就不會把理論轉(zhuǎn)化成實際的代碼,你也不會做出高效,高技能的程序!在計算機理論中,圖論,人工智能等等都星很難的理論,但如果你能把它們有效的用在計算機領(lǐng)域,功德無量!國人能做這點的很少,本來厲害的程序員就很少,有高尖端理論技術(shù)并把它應(yīng)用的更星鳳毛麟角!

(這里可以推薦大家一本書《游戲編程中的人工智能技術(shù)》,這本書拋開了傳統(tǒng)的自動機,產(chǎn)生式,各種規(guī)則的傳統(tǒng)的人工智能理論,而星講的更前沿的計算智能——生物遺傳算法,人工神經(jīng)網(wǎng)絡(luò)!這本書,不單純講理論,還用c++語言結(jié)合理論實現(xiàn)各種游戲程序!有時抽象的理論都星基于數(shù)學(xué)基礎(chǔ)之上,如果沒有一定數(shù)學(xué)基礎(chǔ)星很難看懂的,但正因為它有數(shù)學(xué)證明星正確的,所以它星可行的!能把它用語言實現(xiàn)更星可觀!)所以,如果你熱愛計算機,在大學(xué)以前,就應(yīng)該成為一個程序高手,而大學(xué)以后,主要專研各種技術(shù)的實現(xiàn),和各種技術(shù)的學(xué)習(xí),如果你把他留在工作里,可能很難,我的同學(xué)在參加工作后,很少有繼續(xù)看技術(shù)書籍,因為技術(shù)書籍很難,不星一下兩下就看懂的,有幾個還有這樣的耐力和精力去搞!這些怎么在編程上實現(xiàn),都在等著老外,咱們COPY,這樣我們的軟件技術(shù)能強大嗎?

可星在大學(xué)以前成為一個編程高手幾乎不可能,我們沒有良好的學(xué)習(xí)編程的環(huán)境,而且面對著中考,高考的各種壓力,幾乎沒有機會去學(xué)習(xí)編程!其實,封學(xué),初中,高學(xué),那些課程沒有必要象我們這樣反復(fù)的復(fù)習(xí),反復(fù)的作題,浪費了大量時間,我們要學(xué)會什么?學(xué)會一種技能,能夠應(yīng)付各種變化的技能,就星自學(xué),學(xué)會思考,學(xué)會自己解決問題,學(xué)會團結(jié)合作!初等教育,打的口號很好,實際上,完全壓制了這種學(xué)習(xí)方式!所以我們應(yīng)該以最快的速度,在大學(xué)里容入一個熱愛計算機的氛圍!說到這又很難,當代大學(xué)生迷茫呀!不瞄道作什么,有些瞄道自己該好好編程,但光說不做!有些人,寫了幾段代碼,出現(xiàn)了問題,不會調(diào)試,就放棄了!大家都這樣,所以以寢室為單位沒有人編程,逐漸以整個計算機學(xué)院為單位逐漸編程!確實我們的計算機老師,會編程的很少,我們應(yīng)該瞄道,中國計算機引進并發(fā)展才短短20年,正星這樣老一輩的,把這些計算機理論上確立,他們不會編程理所當然,大學(xué)的老師主要研究理論,國外的也星,因為理論太難了!

所以大學(xué)里學(xué)習(xí)編程要完全考自己,你要有信心,有意志把它學(xué)好才可以,而且這個過程星循序漸進的!以最快方式,找到你編程的愛好和興趣!我介紹幾個方法,學(xué)習(xí)方式,希望你能找到興趣,起碼我星這樣做的,記住如果跌倒了,你要站起來

1.一定要和喜歡編程的,或編程厲害的,或經(jīng)常編程的人,在一起,經(jīng)常探討問題!初學(xué)編程會有很多問題出現(xiàn),你自己很難解決

2. 我建議VB和c一起學(xué)習(xí),這個只星我的建議!我為什么這樣說呢?如果你開始只學(xué)c,你會厭煩整天在DOS下,沒有圖象的程序!如果你直接學(xué)WINDOW編程會很難,所以我建議學(xué)VB,VB這星個語法簡單,很快可以見到你編寫程序的畫面,這樣你就會逐漸喜歡編程,沒有畫面很枯燥的,你不這樣認為嗎?反正我星這樣認為的,你編寫的好壞,沒有畫面也很難用眼睛直接看出來!VB星最簡單的語言了!不存在c的復(fù)雜語法結(jié)構(gòu),程序出錯概率相對c 來說很少,因為VB封狀的很好,幫你解決了復(fù)雜的過程!其實象JAVA,MFC,c#完全可以作到VB效果,但上手相對困難!c星我們一定要學(xué)的,它星一種很接近底層的語言!如果你要成為高手,應(yīng)該學(xué)這個!C星個純面向過程的語言,它的語法不星很難,你用它大約一年半多左右,就完全可以掌握它,記住這需要你的實踐,多做程序,主要星算法程序,最好把你教科書的后的的習(xí)題都做了。大家?guī)缀鯇W(xué)的都星潭浩強的書,這本書我開始認為很好,但我看了很多國外的書,和很多國外人所打的代碼后,和國內(nèi)高級程序員所說的話,我只能說這本書,只能星你的開端,但不能 讓你更深層次了解語言。但你要問我初學(xué)者用什么書,我還會介紹這本書。C的精髓在于指針,你能靈活運用指針就幾乎等于你掌握了 C語言,這星一種高效的語法支持,快的讓你無法想象,我很有感觸,在VB下要慢的多。那么我們學(xué)VB究竟做什么,很簡單,做WINDOWS程序,控件的使用,數(shù)據(jù)庫的使用等等,還有一個很重要的星,你可以練習(xí)你學(xué)的數(shù)據(jù)結(jié)構(gòu),各種計算機算法,很快就可以用圖形的方式顯現(xiàn)出來!你現(xiàn)在瞄道這些就可以,等你以后學(xué)了真正WINDOWS編程,你會對你以前所實現(xiàn)的東西有很深的理解,究竟什么星API,什么星動態(tài)連接庫,什么星控件,象VB,MFC這樣的東西,究竟封狀了什么讓我們用起來這么簡單!

3. 如果你能作到,以上兩點,(加上你學(xué)的專業(yè),如果你很努力,課大約1年)我想你會對計算機感興趣的!你逐漸容入愛學(xué)計算機的氛圍!接下來有兩個方向你要去做,一個星努力學(xué)好其他計算機專業(yè)課,二星在鞏固c語言的基礎(chǔ)上,你可以選擇學(xué)習(xí)c++ 或者WINDWOS編程!這兩個先學(xué)哪個都無所謂。記住你大學(xué)時學(xué)的10大專業(yè)課,數(shù)學(xué),離散數(shù)學(xué),數(shù)據(jù)結(jié)構(gòu),編譯原理,匯編,數(shù)據(jù)庫,計算機體系結(jié)構(gòu),操作系統(tǒng),計算機網(wǎng)絡(luò),軟件工程,你要盡力把它們學(xué)好,這個星整個計算機系統(tǒng)的精髓,這些都星相互貫穿的,相互聯(lián)系的,你可能學(xué)某科沒學(xué)懂,但學(xué)了別的后,可能會懂的!切記,在你學(xué)好編程的同時,一定要學(xué)好這些理論,以后你會受益匪淺的。

4.在你覺的c或者VB學(xué)的沒什么問題,或者你學(xué)會WINDOWS編程,記住一定要自己有個想法,做個封的可視化程序,封游戲也好,封應(yīng)用軟件也好,都可以,這個步驟,你一定要做,你會學(xué)到很多東西!在這期間,你還會遇到很多問題,你要自己多想,多問別人,多去網(wǎng)上查資料!但你做的程序,最好不要COPY別人的,如果都星你自己做的,自己想的,你收獲最大,哪怕你星模仿別人的 程序,你用你自己的想法實現(xiàn)了,也星厲害的!其次,你可以COPY部分代碼,作為自己的。在你對你的想法,瞄道怎么實現(xiàn)后,寫代碼只星浪費時間的時候,而且你寫的效率沒有現(xiàn)成的代碼效率高,你就可以完全COPY,但如果你星初學(xué)者,你千萬不要這么做!否則 你會對它產(chǎn)生依賴,有一天真正讓你自己去寫,你會無從下手!所以開始時,你可以試著COPY,逐漸擺脫對它們的依賴,以后擺脫了,這個時候,你才可以總依賴它們。

5.大學(xué)期間,有很多程序的實驗課,你要認真做,做出來收獲星自己的,也可以作為自己的一個封項目!大學(xué)期間加上實驗課,基本上自主編程或者團隊自主編寫的總封軟件數(shù)目應(yīng)該不少于7,8個,如果你做的程序很大,可以少些!以上,我把如果學(xué)習(xí)計算機入門和提起 你興趣的方法告訴你了!我相信你按照我的去做,應(yīng)該沒有問題的!對于每個細節(jié),我會在接下來詳細為你們寫出的!

經(jīng)驗分享

(十)數(shù)學(xué)對編程的重要作用

可能有很多朋友在網(wǎng)上看過google公司早幾年的招聘廣告,它的第一題如下了:{first 10*digit prime found inconsecutive digits e}.com,e中出現(xiàn)的連續(xù)的第一個10個數(shù)字組成的質(zhì)數(shù)。據(jù)說當時這個試題在美國很多地鐵的出站口都有大幅廣告,只要正確解答了這道題,在瀏覽器的地址欄中輸入這個答案,就可以進入下一輪的測試,整個測試過程如同一個數(shù)學(xué)迷宮,直到你成為google的一員。

又如Intel某年的一道面試題目:巴拿赫病故于1945年8月31日。他的出生年份恰好是他在世時某年年齡的平方,問:他是哪年出生的?這道看似很簡單的數(shù)學(xué)問題,你能不能能快地解答呢?

下面則是一道世界第一大軟件公司微軟的招聘測試題:中間只隔一個數(shù)字的兩個素數(shù)被稱為素數(shù)對,比如5和7,17和19,證明素數(shù)對之間的數(shù)字總能被6整除(假設(shè)這兩個素數(shù)都大于6),現(xiàn)在證明沒有由三個素數(shù)組成的素數(shù)對。這樣的試題還有很多很多,這些題目乍初看上去都是一些數(shù)學(xué)問題。但是世界上一些著名的公司都把它們用于招聘測試,可見它們對新員工數(shù)學(xué)基礎(chǔ)的重視。數(shù)學(xué)試題與應(yīng)用程序試題是許多大型軟件公司面試中指向性最明顯的一類試題,這些試題就是考察應(yīng)聘者的數(shù)學(xué)能力與計算機能力。

某咨詢公司的一名高級顧問曾說:微軟是一家電腦軟件公司,當然要求其員工有一定的計算機和數(shù)學(xué)能力,面試中自然就會考察這類能力。微軟的面試題目就考察了應(yīng)聘人員對基礎(chǔ)知識的掌握程度、對基礎(chǔ)知識的應(yīng)用能力,甚至暗含了對計算機基本原理的考察。所以,這樣的面試題目的確很“毒辣”,足以篩選到合適的人。

四川大學(xué)數(shù)學(xué)學(xué)院的曹廣福教授曾說過:“一個大學(xué)生將來的作為與他的數(shù)學(xué)修養(yǎng)有很大的關(guān)系”。大學(xué)計算機專業(yè)學(xué)生都有感觸,計算機專業(yè)課程中最難的幾門課程莫過于離散數(shù)學(xué)、編譯原理、數(shù)據(jù)結(jié)構(gòu),當然像組合數(shù)學(xué)、密碼學(xué)、計算機圖形學(xué)等課程也令許多人學(xué)起來相當吃力,很多自認為數(shù)據(jù)庫學(xué)得很好的學(xué)生在范式、函數(shù)依賴、傳遞依賴等數(shù)學(xué)性比較強的概念面前感到力不從心,這些都是因為數(shù)學(xué)基礎(chǔ)或者說數(shù)學(xué)知識的缺乏所造成的。

數(shù)學(xué)是計算機的基礎(chǔ),這也是為什么考計算機專業(yè)研究生數(shù)學(xué)都采用最難試題(數(shù)學(xué)一)的原因,當然這也能促使一些新的交叉學(xué)科如數(shù)學(xué)與應(yīng)用軟件、信息與計算科學(xué)專業(yè)等飛速發(fā)展。許多天才程序員本身就是數(shù)學(xué)尖子,眾所周知,BillGates的數(shù)學(xué)成績一直都很棒,他甚至曾經(jīng)期望當一名數(shù)學(xué)教授,他的母校——湖濱中學(xué)的數(shù)學(xué)系主任弗雷福?賴特曾這樣談起過他的學(xué)生:“他能用一種最簡單的方法來解決某個代數(shù)或計算機問題,他可以用數(shù)學(xué)的方法來找到一條處理問題的捷徑,我教了這么多年的書,沒見過像他這樣天分的數(shù)學(xué)奇才。他甚至可以和我工作過多年的那些優(yōu)秀數(shù)學(xué)家媲美。當然,比爾也各方面表現(xiàn)得都很優(yōu)秀,不僅僅是數(shù)學(xué),他的知識面非常廣泛,數(shù)學(xué)僅是他眾多特長之一。”。影響一代中國程序人的金山軟件股份有限公司董事長求伯君當年高考數(shù)學(xué)成績滿分進一步說明了問題。很多數(shù)學(xué)基礎(chǔ)很好的人,一旦熟悉了某種計算機語言,他可以很快地理解一些算法的精髓,使之能夠運用自如,并可能寫出時間與空間復(fù)雜度都有明顯改善的算法。

程序設(shè)計當中解決的相當一部分問題都會涉及各種各樣的科學(xué)計算,這需要程序員具有什么樣的基礎(chǔ)呢?實際問題轉(zhuǎn)換為程序,要經(jīng)過一個對問題抽象的過程,建立起完善的數(shù)學(xué)模型,只有這樣,我們才能建立一個設(shè)計良好的程序。從中我們不難看出數(shù)學(xué)在程序設(shè)計領(lǐng)域的重要性。算法與計算理論是計算機程序設(shè)計領(lǐng)域的靈魂所在,是發(fā)揮程序設(shè)計者嚴謹,敏銳思維的有效工具,任何的程序設(shè)計語言都試圖將之發(fā)揮得淋漓盡致。

程序員需要一定的數(shù)學(xué)修養(yǎng),不但是編程本身的需要,同時也是培養(yǎng)邏輯思維以及嚴謹?shù)木幊套黠L(fēng)的需要。數(shù)學(xué)可以鍛煉我們的思維能力,可以幫助我們解決現(xiàn)實中的問題。可以幫助我們更高的學(xué)習(xí)哲學(xué)。為什么經(jīng)常有人對一些科學(xué)計算程序一籌莫展,他可以讀懂每一行代碼,但是卻無法預(yù)測程序的預(yù)測結(jié)果,甚至對程序的結(jié)構(gòu)與功能也一知半解,給他一個稍微復(fù)雜點的數(shù)學(xué)公式,他可能就不知道怎么把它變成計算機程序。很多程序員還停留在做做簡單的MIS,設(shè)計一下MDI,寫寫簡單的Class或用SQL語句實現(xiàn)查詢等基礎(chǔ)的編程工作上,對于一些需要用到數(shù)學(xué)知識的編程工作就避而遠之,當然實現(xiàn)一個累加程序或者一個稅率的換算程序還是很容易的,因為它們并不需要什么高深的數(shù)學(xué)知識。

一名有過10多年開發(fā)經(jīng)驗的老程序員曾說過:“所有程序的本質(zhì)就是邏輯。技術(shù)你已經(jīng)較好地掌握了,但只有完成邏輯能力的提高,你才能成為一名職業(yè)程序員。打一個比方吧,你會XXXXX般武藝,刀槍棍棒都很精通,但就是力氣不夠,所以永遠都上不了戰(zhàn)場,這個力氣對程序員而言就是邏輯能力(其本質(zhì)是一個人的數(shù)學(xué)修養(yǎng),注意,不是數(shù)學(xué)知識)。”

程序員的數(shù)學(xué)修養(yǎng)不是一朝一夕就可以培養(yǎng)的。數(shù)學(xué)修養(yǎng)與數(shù)學(xué)知識不一樣,修養(yǎng)需要一個長期的過程,而知識的學(xué)習(xí)可能只是一段短暫的時間。下面是一些我個人對于程序員怎么樣提高與培養(yǎng)自己的數(shù)學(xué)修養(yǎng)的基本看法

首先,應(yīng)該意識到數(shù)學(xué)修養(yǎng)的重要性。作為一個優(yōu)秀的程序員,一定的數(shù)學(xué)修養(yǎng)是十分重要也是必要的。數(shù)學(xué)是自然科學(xué)的基礎(chǔ),計算機科學(xué)實際上是數(shù)學(xué)的一個分支。計算機理論其實是很多數(shù)學(xué)知識的融合,軟件工程需要圖論,密碼學(xué)需要數(shù)論,軟件測試需要組合數(shù)學(xué),計算機程序的編制更需要很多的數(shù)學(xué)知識,如集合論、排隊論、離散數(shù)學(xué)、統(tǒng)計學(xué),當然還有微積分。計算機科學(xué)一個最大的特征是信息與知識更新速度很快,隨著數(shù)學(xué)知識與計算機理論的進一步結(jié)合,數(shù)據(jù)挖掘、模式識別、神經(jīng)網(wǎng)絡(luò)等分支科學(xué)得到了迅速發(fā)展,控制論、模糊數(shù)學(xué)、耗散理論、分形科學(xué)都促進了計算機軟件理論、信息管理技術(shù)的發(fā)展。嚴格的說,一個數(shù)學(xué)基礎(chǔ)不扎實的程序不能算一個合格的程序員,很多介紹計算機算法的書籍本身也就是數(shù)學(xué)知識的應(yīng)用與計算機實現(xiàn)手冊。

其次,自身數(shù)學(xué)知識的積累,培養(yǎng)自己的空間思維能力和邏輯判斷能力。數(shù)學(xué)是一門分支眾多的學(xué)科,我們無法在短暫的一生中學(xué)會所有的數(shù)學(xué)知識,像泛函理論、混沌理論以及一些非線性數(shù)學(xué)問題不是三五幾天就可以掌握的。數(shù)學(xué)修養(yǎng)的培養(yǎng)并不在與數(shù)學(xué)知識的多少,但要求程序員有良好的數(shù)學(xué)學(xué)習(xí)能力,能夠很快地把一些數(shù)學(xué)知識和自己正在解決的問題聯(lián)系起來,很多理學(xué)大師雖然不是數(shù)學(xué)出身,但是他們對數(shù)學(xué)有很強的理解能力和敏銳的觀察力,于是一系列新的學(xué)科誕生了,如計算化學(xué)、計算生物學(xué)、生物信息學(xué)、化學(xué)信息學(xué)、計算物理學(xué),計算材料學(xué)等等。數(shù)學(xué)是自然學(xué)科的基礎(chǔ),計算機技術(shù)作為理論與實踐的結(jié)合,更需要把數(shù)學(xué)的一些精髓融入其中。從計算機的誕生來看它就是在數(shù)學(xué)的基礎(chǔ)上產(chǎn)生的,最簡單的0、1進制就是一個古老的數(shù)學(xué)問題。程序設(shè)計作為一項創(chuàng)造性很強的職業(yè),它需要程序員有一定的數(shù)學(xué)修養(yǎng),也具有一定的數(shù)學(xué)知識的積累,可以更好地把一些數(shù)學(xué)原理與思想應(yīng)用于實際的編程工作中去。學(xué)無止境,不斷的學(xué)習(xí)是提高修養(yǎng)的必經(jīng)之路。第三,多在實踐中運用數(shù)學(xué)。有些高等學(xué)校開設(shè)了一門這樣的課程——《數(shù)學(xué)建模》。我在大學(xué)時期也曾學(xué)過,這是一門內(nèi)容很豐富的課程。它把很多相關(guān)的學(xué)科與數(shù)學(xué)都聯(lián)系在一起,通過很多數(shù)學(xué)模型來解決實際的生產(chǎn)生活問題,很多問題的解決需要計算機程序來實現(xiàn)。我在大學(xué)和研究生階段都參加過數(shù)學(xué)建模競賽,獲得了不少的經(jīng)驗,同時也進一步提高了自己的數(shù)學(xué)修養(yǎng)。實際上,現(xiàn)在的程序設(shè)計從某些角度來看就是一個數(shù)學(xué)建模的過程,模型的好壞關(guān)系到系統(tǒng)的成敗,現(xiàn)在數(shù)學(xué)建模的思想已經(jīng)用于計算機的許多相關(guān)學(xué)科中,不單只是計算機程序設(shè)計與算法分析。應(yīng)該知道,數(shù)學(xué)是一門需要在實踐中展示其魅力的科學(xué),而計算機程序也是為幫助解決實際問題而編制的,因此,應(yīng)該盡量使它們結(jié)合起來,在這個方面,計算機密碼學(xué)是我認為運用數(shù)學(xué)知識最深最廣泛的,每一個好的加密算法后面都有一個數(shù)學(xué)理論的支持,如橢圓曲線、背包問題、素數(shù)理論等。作為一名優(yōu)秀的程序員,應(yīng)該在實際工作中根據(jù)需要靈活運用數(shù)學(xué)知識,培養(yǎng)一定的數(shù)學(xué)建模能力,善于歸納總結(jié),慢慢使自己的數(shù)學(xué)知識更加全面,數(shù)學(xué)修養(yǎng)得到進一步提高。

第四,程序員培養(yǎng)制度與教學(xué)的改革。許多程序員培養(yǎng)體制存在很多缺陷,一開始就要求學(xué)員能夠快速精通某種語言,以語言為中心,對算法的核心思想與相關(guān)的數(shù)學(xué)知識都一筆帶過,講得很少,這造成很多程序員成為背程序的機器,這樣不利于程序員自身的快速成長,也不利于程序員解決新問題。我在長期的程序員培訓(xùn)與計算機教學(xué)工作采用了一些與傳統(tǒng)方式不一致的方法,收到了一定的效果。很多初學(xué)程序的人往往寫程序時有時候會有思維中斷,或者對一些稍難的程序覺得無法下手,我采用了一些課前解決數(shù)學(xué)小問題的方法來激勵大家的學(xué)習(xí)興趣,這些小問題不單單是腦筋急轉(zhuǎn)彎,其中不少是很有代表意義的數(shù)學(xué)思考題。通過數(shù)學(xué)問題來做編程的熱身運動,讓學(xué)員在數(shù)學(xué)試題中激發(fā)自己的思維能力,記得有位專家曾經(jīng)說過,經(jīng)常做做數(shù)學(xué)題目會使自己變聰明,很長時間不去接觸數(shù)學(xué)問題會使自己思維遲鈍。通過一些經(jīng)典的數(shù)學(xué)問題來培養(yǎng)學(xué)員的思維的嚴謹性和跳躍性。很多人可能不以為然,其實有些看似簡單的問題并不一定能夠快速給出答案,大腦也在不斷的運用中變更加靈活的。不信嗎?大家有興趣可以做做下面這道題目,看看能不能在1分鐘之內(nèi)想到答案,這只是一道小學(xué)數(shù)學(xué)課后習(xí)題。很多人認為自己的數(shù)學(xué)基礎(chǔ)很好,但是據(jù)說這道題目90%以上的人不能在一個小時內(nèi)給出正確答案。

證明:AB+AC>DB+DC(D為三角形ABC的一個內(nèi)點)。

最后,多學(xué)多問,多看好書,看經(jīng)典。我在這里向大家推薦兩部可能大家已經(jīng)很熟悉的經(jīng)典的計算機算法教材,它們中間很多內(nèi)容其實就是數(shù)學(xué)知識的介紹。第一部是《算法導(dǎo)論》,英文名稱:Introduction toAlgorithms,作者:Thomas H.Cormen,Charles E.Leiserson,RonaldL.Rivest,Clifford Stein。本書的主要作者來自麻省理工大學(xué)計算機,作者之一Ronald L.Rivest由于其在公開秘鑰密碼算法RSA上的貢獻獲得了圖靈獎。這本書目前是算法的標準教材,美國許多名校的計算機系都使用它,國內(nèi)有些院校也將本書作為算法課程的教材。另外許多專業(yè)人員也經(jīng)常引用它。本書基本包含了所有的經(jīng)典算法,程序全部由偽代碼實現(xiàn),這更增添了本書的通用性,使得利用各種程序設(shè)計語言進行程序開發(fā)的程序員都可以作為參考。語言方面通俗,很適合作為算法教材和自學(xué)算法之用。另一部是很多人都應(yīng)該知道的Donald.E.Knuth所著《計算機程序設(shè)計藝術(shù)》,英文名稱:The Art ofComputer Programming。

Donald.E.Knuth人生最輝煌的時刻在斯坦福大學(xué)計算機系渡過,美國計算機協(xié)會圖靈獎的獲得者,是本領(lǐng)域內(nèi)當之無愧的泰斗。有戲言稱搞計算機程序設(shè)計的不認識Knuth就等于搞物理的不知道愛因斯坦,搞數(shù)學(xué)的不知道歐拉,搞化學(xué)的不知道道爾頓。被簡稱為TAOCP的這本巨著內(nèi)容博大精深,幾乎涵蓋了計算機程序設(shè)計算法與理論最重要的內(nèi)容。現(xiàn)在發(fā)行的只有三卷,分別為基礎(chǔ)運算法則,半數(shù)值算法,以及排序和搜索(在寫本文之際,第四卷已經(jīng)出來了,我也在第一時間搶購了一本)。本書結(jié)合大量數(shù)學(xué)知識,分析不同應(yīng)用領(lǐng)域中的各種算法,研究算法的復(fù)雜性,即算法的時間、空間效率,探討各種適用算法等,其理論和實踐價值得到了全世界計算機工作者的公認。書中引入的許多術(shù)語、得到的許多結(jié)論都變成了計算機領(lǐng)域的標準術(shù)語和被廣泛引用的結(jié)果。另外,作者對有關(guān)領(lǐng)域的科學(xué)發(fā)展史也有深入研究,因此本書介紹眾多研究成果的同時,也對其歷史淵源和發(fā)展過程做了很好的介紹,這種特色在全球科學(xué)著作中是不多見的。至于本書的價值我覺得BillGates先生的話足以說明問題:“如果你認為你是一名真正優(yōu)秀的程序員讀Knuth的《計算機程序設(shè)計藝術(shù)》,如果你能讀懂整套書的話,請給我發(fā)一份你的簡歷”。作者數(shù)學(xué)方面的功底造就了本書嚴謹?shù)娘L(fēng)格,雖然本書不是用當今流行的程序設(shè)計語言描述的,但這絲毫不損傷它“程序設(shè)計史詩”的地位。道理很簡單,它內(nèi)涵的設(shè)計思想是永遠不會過時的。除非英語實在有困難,否則建議讀者選用英文版。

經(jīng)驗分享

(十一)給學(xué)習(xí)計算機的同僚們(初學(xué)者,進階者,包括Linux愛好者)的學(xué)習(xí)建議

為什么我們要學(xué)習(xí)計算機,為什么我們要學(xué)習(xí)編程,有很多很多的原因,但當我們踏進計算機的世界里的時候,我們找到了可以任由我們發(fā)揮,任由我們施展拳腳的天地,我們有了一種對學(xué)習(xí)計算機,甚至是學(xué)好計算機的渴望,但是任何一門學(xué)科都不是那么容易學(xué)的好的,計算機更是如此,我想我們大多數(shù)人都是從編程開始學(xué)習(xí)的,逐漸形成了對學(xué)習(xí)編程的興趣,但是如果想真正的學(xué)好計算機,單單學(xué)習(xí)高級語言是不能達到效果的,就算你說我只想學(xué)好一門高級語言,把它學(xué)的精通就可以了,但問題就是那么的簡單么,我想不是吧。

計算機是一個整體,學(xué)習(xí)任何一門計算機課都是和其他課程聯(lián)系在一起的,要學(xué)習(xí)就要有足夠的深度和廣度,不然不可能有深入的了解就像學(xué)習(xí)c語言一樣,如果你想知道他是怎樣在計算機的內(nèi)存中分布的,具體是怎么運行的,就要學(xué)習(xí)匯編語言,當然計算機體系結(jié)構(gòu),計算機組成原理,是你理解計算機的基礎(chǔ),計算機大師knuth都非常重視匯編語言(匯編語言和機器語言是一一對應(yīng)的),要想學(xué)好軟件,脫離硬件是不可能,因為軟件最終要靠硬件來運轉(zhuǎn)的。當然了如果是初學(xué)者還是要一步步學(xué)的,如果你想知道c語言是怎么運行的,想了解指針和數(shù)組的真正區(qū)別,那多學(xué)一門語言匯編語言吧,人們都說匯編語言是與機器相關(guān)的,不能移植的,但想在的pc機上用的幾乎都是AMD,和intel的處理器,他們有都是互相兼容的,所以指令集的體系結(jié)構(gòu)都是IA*32當然了現(xiàn)在都有64位的處理器了,但是這并沒有什么很大的區(qū)別,僅僅是位數(shù)變多了,所能表達的數(shù)字變大了,精度也變的更長了等等。就像學(xué)習(xí)高級語言一樣學(xué)習(xí)匯編語言也是相通的,因為他們的功能都差不多,而且更加簡單,你會發(fā)現(xiàn)在高級語言中的語法會在匯編語言中消失,僅存的就只是指令的書寫格式(相當如詞法吧,當然了我可能也說的不太對,因為對匯編語言學(xué)的不是很深入,所以現(xiàn)在也正在有計劃的去學(xué)習(xí))。如果你學(xué)習(xí)的java,vb,c#等等那么就請您多多看看c和c++吧,我們常常聽說某種語言實現(xiàn)了垃圾回收機制,用某種算法不定期的把你程序中不再使用的內(nèi)存回收掉,最好的例子就是JAVA了(關(guān)于它的一句話說的挺好,一次編譯到處運行,非常適用于嵌入式計算機程序的編寫),不過你能用JAVA語言寫出內(nèi)存回收的程序么我想應(yīng)該是不可能,JAVA對于這方面做了太多的限制,但在c/c++中卻沒有,你可以用庫函數(shù)malloc等等去分配內(nèi)存,free去釋放內(nèi)存,c++中對應(yīng)的是(new,delete)實現(xiàn)的跟方便些,你也可以用系統(tǒng)調(diào)用brk(其實庫函數(shù)也是調(diào)用了他,只不過做了一些更加完善的工作而已)去分配,而且他可以直接去操作數(shù)據(jù)到位(&,|,~),如果說高級語言是匯編語言的一個子集的話,那么JAVA在這方面就是C/C++的一個子集,我并沒有說java不用學(xué),不好,而是在學(xué)習(xí)他之前應(yīng)該多去學(xué)學(xué)C/C++,(注意語法不是特別的重要,重要的是你怎么能在學(xué)完語言以后去靈活的運用他),計算機體系結(jié)構(gòu)對于你理解。

軟硬件非常的重要給大家推薦一本書,書名 :計算機組成與設(shè)計——硬件/軟件接口作者:DavidA.Patterson John L.hennessy 出版社:機械工業(yè)出版社,這本書很不錯,能夠很好的把軟硬件的關(guān)系數(shù)清楚,而且不像一些國內(nèi)的體系結(jié)構(gòu)教材,看的非常的費勁誰然講的都是很清楚,但不能從讀者的角度去考慮問題,這本書會讓你看的愛不釋手的,恩,對于我來說卻是如此,不適合初學(xué)c語言的,要有一定的c語言基礎(chǔ)。我想還有一點要和大家分享一下,就是學(xué)習(xí)計算機切忌浮躁,不要像追是族一樣,看到一項新出的技術(shù)就去學(xué)習(xí),新技術(shù)會不斷的變的,而且很容易讓你迷失方向,一定要打好基礎(chǔ),關(guān)于計算機基礎(chǔ)的書一定要多看,不要死記硬背,但你發(fā)現(xiàn)你需要死記硬背去記住書中的知識的時候,那么我可以給你個建議把此書放在書架里,去看一些能夠引導(dǎo)你一步步的從本質(zhì)上理解知識的書,首選一些計算機科學(xué)叢書,圖靈叢書(機械工業(yè)出版社,人民郵電出版社,電子工業(yè)出版社),我們學(xué)校用的是清華大學(xué)自己出版的計算機書籍,雖說清華大學(xué)在工科方面很不錯,但是出版的計算機書籍就我個人來說真的不怎么好,相對于國外的計算機書籍來說差的真是太遠了,我很不明白為什么要用清華出的,有一本關(guān)于Linux/unix內(nèi)核的書我覺得挺好的,書名是Linux內(nèi)核源代碼情景分析浙江大學(xué)出版的,我目前正在潛心學(xué)習(xí)這本書,雖然很難,但真的不錯,很少有由我們自己寫的關(guān)于Linux內(nèi)核這方面的好書,這本就是不可多得的好書。說了太多關(guān)于計算機書籍的話題了,但我認為一本好的書籍真的能給我們很大的幫助還能從中得到快樂。如果你只想學(xué)習(xí)計算機去賺錢的話,那么你大可以不必去學(xué)習(xí)很多東西,對于你也沒有用處,如果你是對計算機有著非常濃厚的興趣的話,那么就塌下心來,一步一步去在計算機的海洋里傲游吧,真是一件美妙的事情。

現(xiàn)在我告訴大家自己認為的關(guān)于學(xué)習(xí)計算機的路程

(1)

c語言(可以去學(xué)譚浩強寫的c語言的書,如果能找到K&R C 那就更好,自己是沒有找到,要想進一步去學(xué)習(xí)的話去看 c缺陷與陷阱,c專家編程,這兩本書很經(jīng)典的)

(2)

c++語言(c和c++其實并不一樣,可以說c++是繼承了c,增加了面向?qū)ο蟮乃枷耄绻苷业絚++program languagec++之父寫的就很好,不過自己沒有找到,要想進一步去學(xué)習(xí)的話去看effective c++ more effective c++,挺不容易懂的,因為自己要看Linux內(nèi)核所以沒有多少時間去看,c++沉思錄(c缺陷與陷阱 的作者與他的妻子)也非常的不錯,還是沒有時間去看,只看了200多頁,講的太好了,有時間自己一定會去看完的,這本書講的主要是教你怎么運用C++語言去寫出好的文章)算法和數(shù)據(jù)之間的結(jié)構(gòu)的理解也很重要,我想如果你有了c++的學(xué)習(xí)經(jīng)驗學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)應(yīng)該不太困難,一直以來我都不是很明白抽象的數(shù)據(jù)結(jié)構(gòu)(abstract data type ADT)的抽象是怎么回事是什么意思,之后看了c++沉思錄才恍然大悟,抽象就是把想關(guān)注事務(wù)的部分拿出來,不關(guān)心的不去考慮,就像我們?nèi)祟悾擞泻芏鄬傩裕彰挲g,體重等等,當我們研究具體問題是也許只關(guān)心人的屬性的某些方面,例如姓名,年齡,那么就把它拿出來也就是術(shù)語抽象,在c/c++語言就用用戶自定義的數(shù)據(jù)類型來去定義人:struct people{charname[10];int age;};struct 是structure(結(jié)構(gòu))的縮寫,這樣理解就非常簡單了么,所以c++沉思錄非常的好。

(3)

算法與數(shù)據(jù)結(jié)構(gòu)(有很多好的書籍,大家可以去找找,反正清華出的不敢恭維)

(4)

匯編語言,計算機組成原理,計算機體系結(jié)構(gòu) 微機原理(我認為剛才我說計算機組成與設(shè)計——硬件/軟件接口就很好的包含了這些內(nèi)容挺不錯的,當然了學(xué)習(xí)是無止境的。)之后才能開始os的學(xué)習(xí),我認為OS是讓你在學(xué)習(xí)計算機上有一個質(zhì)的飛躍,因為現(xiàn)代的程序設(shè)計一般都是基于OS的,如果不了解OS,那么就不可能學(xué)好程序設(shè)計,就像建造房子一樣,房子要建在地上,如果你不了解當?shù)氐沫h(huán)境,地質(zhì),這么怎么能建造好的房子呢?

(5)

操作系統(tǒng)原理的學(xué)習(xí),數(shù)據(jù)庫原理的學(xué)習(xí)(有一本挺好的書,自己是看完了一遍,電子工業(yè)出版社的操作系統(tǒng)設(shè)計與精髓作者 stalling 忘了具體怎么拼了,理論性很強,不過是一本好書,要理解性的看)。

至于網(wǎng)絡(luò)原理,軟件工程,通信安全,鑒于尚在學(xué)習(xí)中,就不說了。哦,還有編譯原理,是一門教你怎么把語言翻譯成匯編語言,機器語言的一門課,有很多很難的算法,LR算法就很不好理解,至于要什么時候?qū)W那就在學(xué)好語言和算法的基礎(chǔ)上去學(xué)習(xí)吧。記住千萬不要趕時髦去學(xué)什么VC,BC,包括MFC之類的,他們只是開發(fā)程序的工具而已幫你做了一些輔助性的工作,所以好好學(xué)習(xí)語言吧!還有就是對于什么等級考試一點作用都沒有,如果要是我說現(xiàn)在的等級考試只是人家賺錢的一種方式,已經(jīng)變質(zhì)了,我不知道為什么不跟上時代的腳步,把它們給取消了,不止是計算機等級考試,英語等級考試也沒有用,不管怎么說他都是一門紙上的考試,對于提高自己沒有作用,反而會有反作用。如果你只是為了拿一個計算機考試的憑證,那我勸你還是止步吧,我們是為了學(xué)習(xí)計算機而學(xué)習(xí)計算機而不是為了學(xué)習(xí)計算機而去拿那個一文不值得證,不然我真不知道你學(xué)習(xí)計算機還有什么意思。如果真的是對計算機感興趣那就塌下心來,一步一個腳印的去探索計算機世界的奧秘,多么美好的事情呀。很多人開始學(xué)習(xí)的人都是夢想成為黑客,用幾個程序去攻擊別人的漏洞,但什么是黑客,天才的程序員才能配的上,就像Linus等一樣,我們的目的是去建造宏偉的建筑,而不是去炸毀他那是駭客所做的事情,如果你認為別人的建筑有不足之處大可以指出來。這只是我個人的意見,有不足之處請指出,謝謝了!

還有就是談?wù)勛约簩τ贚inux學(xué)習(xí)的看法。學(xué)完os以后自己就覺得應(yīng)該去學(xué)習(xí)os的內(nèi)核了,其實當自己剛學(xué)os的時候就特別特別特別的想去自己寫一個os,看了很多東西還是一無所獲,當然了這是必然的,因為自己連os有什么功能,進程線程,進程調(diào)度,虛擬內(nèi)存,進程間的通信,文件系統(tǒng),系統(tǒng)調(diào)用與中斷,都是不知所云,所以當時很是郁悶,很是茫然,在學(xué)完os之后才對操作系統(tǒng)有一個感性的認識,但是還是太理論了,沒有任何源代碼的分析,沒有任何設(shè)計os的細節(jié),所以自己只好去看linux源代碼了,但是還有一件重要的事沒有做,寫源代碼我要在一個環(huán)境中去寫在哪去寫呢,那就是在類UNIX操作系統(tǒng)上(我用的是fedora 9.0的發(fā)行版,內(nèi)核是2.6版的),怎樣去編譯源代碼呢用的是一種特殊的格式(其實這種特殊的格式就是在寫make命令時,所規(guī)定的make認識的文件)書寫去告訴編譯器編譯的過程是什么,也就是用make命令去解釋,在windows上我們所用的幾乎都是IDE(集成的開發(fā)環(huán)境,編輯器,編譯器,調(diào)試器等都組裝在一個程序中)的開發(fā)環(huán)境所以想,對于編譯的

過程一無所知,所以當初自己看linux內(nèi)核書籍的時候很是不理解,為什么每個文件目錄下都會有一個Makefile文件,原來但你輸入make命令的時候他會自動在當前的目錄下按照makefile,Makefile的順序去查找是否有此文件名,然后就讀取文件進行解釋,并告訴gcc編譯器怎樣編譯按照什么樣的順序編譯這些源文件。之后就是去熟悉linux操作系統(tǒng),編寫Linux上的c程序(unix環(huán)境高級編程第二版是在類unix上學(xué)習(xí)的很好的書籍,因為這些開放源代碼的os都是按照POSIX(開放的操作系統(tǒng)接口標準)標準寫的,所提供的API(通用的應(yīng)用程序編程接口,就是人們把各個方面常用的函數(shù)用某種語言編寫出來供程序員使用,減少了程序員的負

第二篇:室內(nèi)設(shè)計程序?qū)W習(xí)心得

室內(nèi)設(shè)計程序?qū)W習(xí)心得

指導(dǎo)老師:向陽班級:藝設(shè)六班姓名:李陟學(xué)號:20092468

藝術(shù),在人類文明的知識體系中與科學(xué)并駕齊驅(qū)。藝術(shù),具有完全不可代替的學(xué)科系統(tǒng)。藝術(shù)與科學(xué)的理論研究是以藝術(shù)理論為基礎(chǔ)向科學(xué)領(lǐng)域擴展的交融;藝術(shù)與科學(xué)的研究成果則通過設(shè)計與創(chuàng)作的實踐活動得以體現(xiàn)。

設(shè)計藝術(shù)學(xué)科是橫跨于藝術(shù)與學(xué)科之間的綜合性邊緣性學(xué)科。藝術(shù)設(shè)計專業(yè)產(chǎn)生于工業(yè)文明高度發(fā)展的20世紀。具有獨立知識產(chǎn)權(quán)的各類設(shè)計產(chǎn)品,以其藝術(shù)與科學(xué)的內(nèi)涵成為藝術(shù)設(shè)計成果象征。設(shè)計藝術(shù)的學(xué)科的每個專業(yè)方向在國民經(jīng)濟中都對應(yīng)著一個龐大的產(chǎn)業(yè),如建筑室內(nèi)裝飾行業(yè)、服裝行業(yè)、廣告與包裝行業(yè)等等。每個專業(yè)方向在自己的發(fā)展過程中無不形成極強的個性,并通過這種個性創(chuàng)造以產(chǎn)品的形式實現(xiàn)其自身社會價值。其中室內(nèi)設(shè)計是最獨特最具個性的一個產(chǎn)業(yè),我有幸學(xué)習(xí)了這門課程--室內(nèi)設(shè)計程序。室內(nèi)設(shè)計師建立在四維時空蓋簾基礎(chǔ)上的藝術(shù)設(shè)計門類,從屬于環(huán)境藝術(shù)設(shè)計的范疇,作為現(xiàn)代藝術(shù)設(shè)計中的綜合門類,其包含的內(nèi)容遠遠超出的傳統(tǒng)的概念。由于室內(nèi)設(shè)計是一個相對復(fù)雜的設(shè)計系統(tǒng),本身具有科學(xué)、藝術(shù)、功能、審美等多元化要素。在理論體系與設(shè)計實踐中涉及到相當多的技術(shù)與藝術(shù)門類,因此在具體的設(shè)計運作過程中必須遵循嚴格的科學(xué)程序。

通過6周的學(xué)習(xí),我對門課有了一些感觸和體會,下面我就一一列舉。

住所就是在人類和環(huán)境之間建立一個意義長遠的關(guān)系。換而言之,住所就是由生活環(huán)境決定的。

因此,住宅環(huán)境反映了人們基于彼此關(guān)系上所表現(xiàn)出的個性和品位。

住房和內(nèi)部結(jié)構(gòu)的選擇就是通過改變墻壁和入口的位置,反映出對獨立居住空間的需要性。因此,獨立的生活方式已經(jīng)成為最值得重視的問題,而住所也不再是簡單的居住空間了,而成了一種新型的住宅文化。

另一方面,由于家庭人數(shù)的減少和夫妻均工作的家庭及獨身人群的增加,家庭觀念漸漸的弱化,家庭成員之間的聯(lián)系漸漸疏遠,立刻建立一種新型的家庭觀念就很有必要了。因此,家庭成員的快樂與親情這樣一種情緒面貌也更為強調(diào)了。所以,空間的情感取向正日趨強化,并加入了一些象征性的意義,即對于一個空間而言,情感以更甚于使用功能一樣。由于社會變化,價值觀、家庭模式、新增設(shè)施及建筑技術(shù)的改變,住所的功能應(yīng)該多元化,這都需要建立新型的住宅文化和風(fēng)格,將提供前沿性對策,并用于解決多種問題。居住空間的分類

住宅建筑的風(fēng)格不是單一的,是依照群體水平、建造風(fēng)格、樓層布局而定的。典型的住宅類型包括住宅、公寓、家庭房屋和經(jīng)濟住宅。然而現(xiàn)代人想要一種符合他們品位的個性化的住宅風(fēng)格,以次取代那種只強調(diào)功能的單一風(fēng)格。工作室式公寓有最新的附屬設(shè)施,吸引了學(xué)生和單身人群。由于單身人的住宅需求量正在不斷上升,這種趨勢還在持續(xù)。這種住宅風(fēng)格是基于生活方式的分析、價值觀、偏向的變化上的。考慮到不同文化層次和生活方式,為了適應(yīng)用戶的行為和對環(huán)境的偏好,在建筑基本完工后,決定材料、顏色、分割空間,布置照明,家具的一項工作。實際上,必須提供一個適當?shù)脑O(shè)計方案。居住空間的室內(nèi)設(shè)計程序

人們都把室內(nèi)設(shè)計說成是在建筑基本完工后,決定材料、顏色、分割空間、布置照明、布置家具的一項工作。實際上,在室內(nèi)設(shè)計開展前,準備階段是必要的,這樣可以便于一些不確定的因素系統(tǒng)化并指導(dǎo)設(shè)計進程的開展。

設(shè)計階段可以詮釋為一種過程,設(shè)計師則和設(shè)計方向的決定可以說成是基礎(chǔ)于這一階段的。

居住空間的室內(nèi)設(shè)計程序是由五方面組成:計劃(規(guī)劃)、基礎(chǔ)計劃(目的和系列設(shè)計)、基礎(chǔ)設(shè)計(設(shè)計)、履行設(shè)計(總體協(xié)調(diào))、施工和指導(dǎo)(完成和評估)。

1.計劃(規(guī)劃)

計劃是一個收集信息階段,以便了解用戶的需求和特性,并會考慮到室內(nèi)裝飾中的預(yù)算和經(jīng)濟能力。而在美學(xué)志趣上,設(shè)計者和客戶應(yīng)改為特定的空間去確定一個統(tǒng)一的主題,所以設(shè)計者的作用就應(yīng)該是客戶的預(yù)算中去調(diào)整需求。因此,這個階段需要設(shè)計者和客戶進行充分溝通。

2.基礎(chǔ)階段(目的和系列設(shè)計)

這個階段,是通過了解需求上的設(shè)計方向和受限因素,來決定單位空間的設(shè)計主題和設(shè)計氣氛的時期。它表明了概念上的空間設(shè)計觀念,通過結(jié)構(gòu)、布置、照明、色彩、通道的圖示去滿足功能和美學(xué)上的需求。

3.基礎(chǔ)設(shè)計(設(shè)計)

這一階段在上一階段的基礎(chǔ)上,進行詳細的布置和繪圖(地毯、天花板、照明、家具、立面、剖面)。而對于家具安排,照明設(shè)備、材料和顏色的是黨選擇,都有必要和客戶協(xié)商后再進行調(diào)整。只有對設(shè)計方向和內(nèi)容滿意,客戶才會對設(shè)計充滿信心。

4.實現(xiàn)設(shè)計(總體協(xié)調(diào))

這一階段產(chǎn)生的所謂的施工圖,用來指導(dǎo)施工,是基礎(chǔ)設(shè)計的最后決定。這是一個明確的施工方案,包括施工方法、裝飾材料的決定、家具的挑選和布置、照明和色彩的選擇,以及其他設(shè)備的陳列。這樣一個詳細地說明為的是實現(xiàn)正常的施工。

5.施工和指導(dǎo)(完成和評估)

這個階段,設(shè)計者按已形成的施工圖進行現(xiàn)場的指導(dǎo)。設(shè)計者應(yīng)核對設(shè)計是否落實,是否準確反映用戶的詳細要求,家具的數(shù)量和尺寸也應(yīng)該與空間大小對應(yīng)。若發(fā)現(xiàn)了不足和遺漏處,設(shè)計者應(yīng)該當場告訴施工者。

居住空間的構(gòu)造和安排

關(guān)于居住空間的構(gòu)造和安排,應(yīng)該通過空間的數(shù)量和類型來了解空間的構(gòu)造,通過空間之間的聯(lián)系來了解空間的安排。并按照住宅活動的內(nèi)容來給生活空間分類,在通過這種分類來劃分居住空間。居住空間的構(gòu)造有一個一體化的計劃,這個空間計劃始于空間的構(gòu)造和分析的結(jié)果,并在同類活動中進行必要的裝備和連接。所以,居住空間可以劃分為公共空間、私人空間和服務(wù)空間。當這些空間被有機的連接后,有效的活動也就得以保障。如果空間被過度的重復(fù),生活效率也就降低了。考慮到建筑方向、建筑尺寸和空間功能,各部分空間都應(yīng)該以入口為中心來安排。因此,空間的結(jié)構(gòu)和安排的風(fēng)格成為了空間計劃的基礎(chǔ)。

由此我們已經(jīng)知道科學(xué)的設(shè)計程序?qū)τ谑覂?nèi)設(shè)計的重要性。要在設(shè)計的實踐中嚴格遵守,首先必須在室內(nèi)設(shè)計的教育中貫穿系統(tǒng)與程序的概念。雖然目前所有的室內(nèi)設(shè)計專業(yè)課程都體現(xiàn)這樣的概念,但是在進入專業(yè)學(xué)習(xí)之前先進行室內(nèi)設(shè)計程序的專門教學(xué),無疑能取得事半功倍的效果,這就是我們設(shè)立“室內(nèi)設(shè)計程序”課程的意義。

第三篇:實質(zhì)性程序?qū)W習(xí)心得

實質(zhì)性程序總結(jié)心得

———趙彩虹

一、總體心得

(一)每張表頭均包含客戶名稱、財務(wù)報表日、編制人及日期、復(fù)核人及日期以及索引號和頁次。

(二)會計科目的審計目標通常包括存在或發(fā)生、完整、權(quán)利和義務(wù)、計價與分攤/準確性、截止、分類以及恰當?shù)呐丁?/p>

(三)各個會計科目均要有審定表、明細表和檢查表。

通常根據(jù)企業(yè)提供的科目余額表、序時賬編制審定表和明細表;對于各科目通常選擇不包含損益結(jié)轉(zhuǎn)的10個左右分錄,選擇原則通常是大額和異常的。

(四)各個科目的索引號是既定的,對其后附資料按照類別順序編號;整本裝訂后加入歸檔目錄以顯示本冊內(nèi)容,對所有資料順序編制頁碼并填于歸檔目錄。

(五)各個企業(yè)審計均需獲取營業(yè)執(zhí)照、稅務(wù)登記證、組織機構(gòu)代碼證;董事會決議、會議記錄等。

(六)從企業(yè)獲取的各項資料均需企業(yè)蓋章,合同之類可以蓋騎縫章。(七)復(fù)印重要科目大額、復(fù)雜、異常憑證。

(八)審計結(jié)論通常為:經(jīng)查,未見重大、異常事項,期末余額(發(fā)生額)可以確認。對于特殊事項的處理過程也應(yīng)記錄于審計說明中。

二、對各科目的認識(一)貨幣資金

1.需企業(yè)提供存款及借款銀行的全稱、帳號、金額、地址、郵碼以編制銀行詢證函。2.提供銀行對帳單(全年12個月的),如有未達賬項需提供銀行存款余額調(diào)節(jié)表。3.存折、支票存根。

4.對庫存現(xiàn)金進行監(jiān)盤,通常是突擊檢查,填制現(xiàn)金監(jiān)盤表并讓相關(guān)人員簽字確認。(二)應(yīng)收票據(jù)

1.從企業(yè)取得應(yīng)收票據(jù)明細表,包含出票日期、出票人、付款行、到期日等基本信息。2.復(fù)印全部票據(jù)并與明細表內(nèi)容核對。對于某些票據(jù)明細的內(nèi)容有缺失的應(yīng)重點檢查。

3.詢問并檢查票據(jù)權(quán)利是否完整,存在質(zhì)押抵押貼現(xiàn)的需獲取相關(guān)文件。(三)應(yīng)收賬款、預(yù)付賬款、其他應(yīng)收款

1.獲取包含有客戶名稱、地址、電話、郵編的客戶清單。

2.選擇大額、異常、交易頻繁的客戶進行函證,函證金額需要達到期末總金額的80%左右。回函需直接寄至事務(wù)所。

3.對于未回函的部分可二次致函也可實施替代性測試,檢查銷售單、銷售發(fā)票銷售合同、出庫單等證實應(yīng)收賬款的存在性。

4.對于發(fā)函客戶編制回函確認表以控制所發(fā)函證的收回情況。5.復(fù)核賬齡及壞賬準備的計提并與資產(chǎn)減值損失明細核對。對賬齡超過一年的需要分析不能收回的原因。

6.期末余額存在負數(shù)的需要重分類并填寫調(diào)整分錄。(四)存貨

1.獲取企業(yè)12月31日存貨盤點表,對存貨監(jiān)盤并填制監(jiān)盤表,相關(guān)人員簽字確認。對于賬實不符的查明原因并提前被審單位處理形成審計意見。2.對于制造業(yè)企業(yè),填制存貨倒扎表以核對營業(yè)成本。3.詢問存貨是否存在抵押,獲取證明文件。

4.監(jiān)盤時對存貨的狀態(tài)進行檢查,復(fù)核是否應(yīng)計提減值準備及金額多少。5.實施存貨的計價測試。(五)固定資產(chǎn)

1.獲取企業(yè)12月31日的固定資產(chǎn)盤點表,本期固定資產(chǎn)增加、減少明細表。必要時檢查重要及本期新增固定資產(chǎn)。

2.獲取電子版折舊計算表與自行核算的折舊核對是否相符,如不符,查明原因并提請管理層,出具審計結(jié)論。

3.各產(chǎn)權(quán)復(fù)印件(房屋需產(chǎn)權(quán)證;車輛行駛證;船舶需國籍證明),大額固定資產(chǎn)購置發(fā)票。

(六)在建工程

1.獲取立項審批文件,竣工決算報告,本期轉(zhuǎn)入固定資產(chǎn)明細。2.必要時實地檢查在建工程。

3.已經(jīng)資本化的利息確認方式說明(包括依據(jù)、計算方法、列支項目等,電子版)。(七)長期股權(quán)投資

1.獲取被投資單位的審計報告。2.對核算方法正確性獲取充分證據(jù)。(八)無形資產(chǎn)

1.土地取得土地使用權(quán)證,其他無形資產(chǎn)取得相關(guān)證明文件。2.無形資產(chǎn)攤銷明細表。

3.土地使用權(quán)證及相關(guān)抵押擔保情況的說明。(九)應(yīng)付帳款、預(yù)收帳款、其他應(yīng)付款

1.3年以上應(yīng)付帳款、預(yù)收帳款、其他應(yīng)付款未付原因及金額。2.選擇部分供應(yīng)商進行函證。(十)預(yù)計負債

1.預(yù)計負債計提的條件是否滿足。(十一)長、短期借款

1.對銀行借款函證。

2.獲取借款合同及相應(yīng)擔保、保證、質(zhì)押等合同。

3.根據(jù)借款合同信息計算本期計提利息費用金額及入賬科目并與財務(wù)費用核對。(十二)應(yīng)付職工薪酬

1.企業(yè)各月職工薪酬明細及對方入帳科目。

2.職工福利費、教育經(jīng)費及五險一金計提比例及基數(shù)。3.較職工薪酬本年發(fā)生額與對方入賬科目是否相符。(十三)應(yīng)付利息

1.根據(jù)企業(yè)借款合同計算核對利息是否與企業(yè)計提相符。(十四)應(yīng)付股利

1.取得企業(yè)股利發(fā)放批復(fù)文件。(十五)應(yīng)交稅費

1.獲取全年各稅種納稅申報表。

2.根據(jù)全年收入額及增值稅稅率或營業(yè)稅稅率測算應(yīng)交增值稅本期發(fā)生額是否正確。

3.測算城建稅、教育費附加等是否和本期計提一致。

4.填制增值稅計算表和應(yīng)交增值稅期末余額核對是否相符。(十六)遞延稅得稅資產(chǎn)、負債

1.企業(yè)存在暫時性差異的說明并加蓋公章。

2.計算金額是否正確。(十七)實收資本

1.如存在資本增減變化,查閱董事會決議、記錄等資料。(十八)未分配利潤

1.獲取利潤分配的董事會決議或上級通知文件。檢查未分配利潤會計處理是否正確。(十九)營業(yè)收入、營業(yè)成本

1.取得企業(yè)大額銷售、采購合同。

2.獲取收入及成本各月份分產(chǎn)品的明細表。

3.比較本期和上期收入成本及毛利率并填制明細表。

4.對收入進行截止性測試,比較銷售發(fā)票、出庫單、明細賬日期相符情況。

5.對收入真實性和完整性分別從逆向和正向兩個方面測試。(二十)營業(yè)稅金及附加

1.按照各自計稅基數(shù)和稅率計算營業(yè)稅金及附加的對應(yīng)科目之和與本科目是否相等。(二十一)管理費用、銷售費用、財務(wù)費用

1.獲取期間費用各月分項目本期發(fā)生額。

2.分明細與上期發(fā)生額比較,分析異常變動情況。

3.選取資產(chǎn)負債表日前后10天的發(fā)生額進行截止性測試。(二十二)營業(yè)外收入、營業(yè)外支出

1.對于政府補助的營業(yè)外收入獲取政府文件。

2.核查收支明細分類是否正確。(二十三)所得稅費用

1.根據(jù)本年利潤總額和稅率重新計算所得稅費用的正確性。

第四篇:程序文件學(xué)習(xí)心得2

學(xué)習(xí)心得

根據(jù)質(zhì)保體系會議要求及學(xué)習(xí)計劃,本周重點學(xué)習(xí)了《質(zhì)量體系程序文件》的“無損檢測系統(tǒng)質(zhì)量管理程序”、“理化檢驗系統(tǒng)質(zhì)量管理程序”、“熱處理系統(tǒng)質(zhì)量管理程序”和“質(zhì)量記錄控制程序”。

“無損檢測”方面的學(xué)習(xí);使我對無損檢測工藝實施的條件、時機和過程控制更加清晰;在以后編制生產(chǎn)工藝過程中,對無損檢測方面的考慮也會更加全面和謹慎。

“理化檢驗”方面的學(xué)習(xí);讓我感覺自己在這方面還有很多需要學(xué)習(xí)的地方;理化相關(guān)標準眾多,實驗條件和過程要求嚴格,實驗的結(jié)論更是判定產(chǎn)品是否合格的重要依據(jù),使我深感理化檢驗的重要性。

“熱處理”方面的學(xué)習(xí);由于之前是熱處理負責(zé)人,所以對熱處理方面學(xué)的比較多,通過本次學(xué)習(xí),加深了對本控制程序的認識。以后要在特材的加熱和熱處理方面重點學(xué)習(xí)。“質(zhì)量記錄控制”方面的學(xué)習(xí);其中有一句是:“質(zhì)量記錄要求完整、及時、正確、清晰且具有可追溯性”,我覺的這個很重要,而且是我們努力要做到的;不論是以后的體系審核、技術(shù)總結(jié)、還是責(zé)任劃分都是重要的文字依據(jù)。

XXX

2012年5月13日

第五篇:程序文件學(xué)習(xí)心得1

學(xué)習(xí)心得

本公司《質(zhì)量體系程序文件》共有22個控制程序,作為工藝員及理化負責(zé)人,主要涉及到其中的12個控制程序,并計劃利用3周時間對其進行重點學(xué)習(xí)。

程序文件就是為了完成管理體系要素所規(guī)定的方法,用于支持管理手冊的相關(guān)要求。通常包括活動的目的和范圍,做什么和誰來做;何時、何地以及如何做;應(yīng)采用什么材料、設(shè)備和文件;如何對活動進行控制和記錄。其內(nèi)容是描述實施管理體系要素所涉及到的各職能部門的活動。程序文件詳細的規(guī)定了公司各個部門的過程職責(zé),并指導(dǎo)各項管理工作的實際運行步驟和方法。

本周重點學(xué)習(xí)了“文件控制程序”、“顧客提供產(chǎn)品管理程序”、“工藝質(zhì)量管理程序”和“焊接系統(tǒng)質(zhì)量管理程序”;對“合同控制程序”和“采購與原材料控制程序”進行了了解性學(xué)習(xí)。通過一周的程序文件學(xué)習(xí),受益非淺。這樣的學(xué)習(xí)很有必要,不但要對程序文件學(xué)以致用,更重要的是通過這次學(xué)習(xí),讓我對自己的崗位過程職責(zé)、步驟、方法有了一個新的認識,意識上有了進一步的提高。嚴格的貫徹執(zhí)行每個程序要求,必然會使我們的管理水平和產(chǎn)品質(zhì)量提高一個臺階。

XXX

2012年4月29日

下載程序?qū)W習(xí)心得word格式文檔
下載程序?qū)W習(xí)心得.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

主站蜘蛛池模板: 亚洲精品国产精品乱码视色| 欧美日韩色另类综合| 亚洲精品无码午夜福利中文字幕| 亚洲av无码专区首页| 久久婷婷五月综合色精品| 久久久久人妻一区精品果冻| 欧美孕妇xxxx做受欧美88| 国产麻豆 9l 精品三级站| 国产精品色婷婷亚洲综合看片| 少妇高潮不断出白浆av| 播放灌醉水嫩大学生国内精品| 欧美精品偷自拍另类在线观看| 中国精品无码免费专区午夜| 99这里有精品视频视频| 浪荡女天天不停挨cao日常视频| 日韩欧美亚洲综合久久| 国产精品无码人妻在线| 亚洲成a人片在线不卡一二三区| 四川少妇被弄到高潮| 午夜夜伦鲁鲁片免费无码| 国内精品伊人久久久久av| 亚洲一区在线观看尤物| 在线无码免费网站永久| 娇妻在交换中哭喊着高潮| 国产精品特黄aaaa片在线观看| 国产内射xxxxx在线| 又粗又粗又黄又硬又深色的| 久久综合av免费观看| 国产人与zoxxxx另类| 麻豆av久久无码精品九九| 国产毛a片久久久久无码| 国产精品无码av在线一区| 又色又爽又黄的视频软件app| 国产亚洲午夜高清国产拍精品| av无码人妻无码男人的天堂| 天天澡天天添天天摸97影院| 蜜臀色欲av在线播放国产日韩| 久久人人爽人人爽人人片dvd| 狂猛欧美激情性xxxx大豆行情| 欧美午夜精品一区二区三区电影| 艳妇臀荡乳欲伦69调教视频|