A. 如果,我想當一名程序員,如何從零開始
1、程序員意味著要編程序。(如果你僅僅想得到一份高薪水的工作,喝喝咖啡就等老闆發薪水,我奉勸你還是另找一份更合適的工作,譬如練兄核灶攤,真的,兄弟,這份工作不適合你)
2、你是學文的還是學理的,編程序也許需要浪漫,但更需要邏輯和嚴謹。(說坦白點就是,在你沒有找到樂趣以前,它很枯燥)
3、你有對新技術追求的熱情嗎?你有刨根問底的探索精神嗎?(熱情絕對是最重要的!你仔細思考一下自己的性格適合當程序員嗎?)
4、當程序員決不是什麼好差事,時刻需要學習,需要思考。(直到你成為那氏棗個可以引導別人去學習和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)
5、程序員的未來很迷茫。(但我認為關鍵看你自己!我希望你是一個有追求的人,不僅僅是混碗飯吃。因為真正的樂趣在於創造;如果你能改變軟體業的歷史,那才是英雄;不想成為BillGates,不想成為DennisRitchie和BjarneStroustrup,我會說你沒有追求。有個關於程序員未來的笑話,也許你還沒聽過,你該聽一聽,摘抄如下:
一個程序員對自己的未來很迷羨扮茫,於是去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問Lippman,他現在領導的程序員的隊伍可能是地球上最大的」
於是他去問Lippman。
Lippman說「程序員的未來就是駕馭程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問Gates,他現在所擁有的財產可能是地球上最多的」
於是他去問Gates。
Gates說「程序員的未來就是榨取程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問侯捷,他寫的計算機書的讀者可能是地球上最多的」
於是他去問侯捷。
侯捷說「程序員的未來就是誘惑程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝搖搖頭「唉,我的孩子,你還是別當程序員了」)
6、當程序員還是很有樂趣的。(當你學到新知識時,當你有新的思想見解時,當你有新的產品問世時,和知己探討你的成果時我問你,覺得這些是樂趣嗎?)
7、當程序員不易也不難。(世間事有難易乎?為之;不為。你有決心和信心嗎?)
8、你真的要當程序員?是你自己的想法?
9、你捨得花錢買書嗎?(讀好書絕對是學習編程的最佳捷徑。你一定會說,現在電腦書籍真他XX的貴,沒法子,誰讓知識和技術在人家的腦袋,在人家的書里呢;等你寫書時可以把價格定低一點,記著還有好多沒錢但想買書的兄弟很困難呀。要捨得買書,買好書,不好的的書不如不讀,其害大於其益,關於買什麼書,你可以問高手或看候捷的書評;准備一個小本子記錄你想買的書的名字,逛書店時看看,如果好就買下,記住要讀,別光買不看。)10、我告訴你,程序就是:任何有目的的、預想好的動作序列,它是一種軟體。
11、編程序就是編寫程序。
12、你想好了嗎?(如果你想好了還是決定要當程序員,可以繼續往下讀;否則,你可以繼續尋找別的出路了。)
(三)一個程序員應該具備的基礎知識和概念
1、計算機是有什麼組成的,CPU是什麼東西,其工作原理是什麼。(對於這些以及下面將要提到的概念我不會告訴你什麼答案,你可以看相應的教材,關於教材我會在下一部分詳述,記住理解最重要!)
2、機器語言和微指令集的概念。
3、程序的概念。
4、匯編語言是低級語言但不是機器語言。
5、高級語言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等;如果你是中國軟體業的英雄,你也寫一門語言,最好不用英語)6、編譯程序和解釋程序的概念和其原理。(編譯器是高手和專家編寫的)
7、HTML、XML等是標識性語言。
8、Prolog是人工智慧語言。
9、操作系統OS的概念和原理。(Windows98,Windows2000,WindowsNT,UNIX,Linux,等等都是OS,還有一些實時OS,嵌入OS,編這些的絕對是高手)
10、Windows編程說白了就是WindowsAPI的調用。(中國的程序員很多隻是會編windows程序,用的是VB,我的建議是這些程序員頂多隻是低級編碼員,我稱其是coder)
11、VC++、VB、BC、BCB、Delphi、VF等都只是編程的工具和環境,不是編程語言。
12、面向結構的設計概念。
13、面向對象的概念。(好好理解,兄弟,這個東西還是很重要的)
14、軟體工程的概念和原理。(如果你想當老總就需要好好研究了,系統分析員比編碼員要高一個等級,薪水也高喲)
15、資料庫的概念。(要熟悉一些著名的資料庫系統和語言的名字,如Orcle,SQL,DB2,DyBase等)
16、了解網路概念。
17、了解多媒體概念。
18、熟悉和掌握數據結構和基本演算法。
19、是不是要求太高了,別著急慢慢來,進步在不知不覺之中。(一旦開始學習,一個月以後你就會有一個基本的概念;兩個月以後你就會感覺自己有了全面的基礎知識;當你知道編程序是怎麼回事時,說明你已經入門了。也有很多人編了很多年程序還沒有入門呢,你不會希望自己步其後塵吧。要有信心和耐心。沉不住氣怎麼能成大事?!)
(四)教材推薦
——-推薦的教材主要還是針對概念來的,最好選用名校的教學用書。
1、《計算機組成原理》(熟悉)
2、《數據結構》(掌握)
3、《操作系統》(了解->熟悉)
4、《TheClanguage》(掌握)
5、《編譯原理》(了解原理)
6、《匯編語言》(了解)
7、《計算機網路》(了解)
8、《軟體工程》(了解)
9、《關系資料庫》(熟悉)
10、《TheC++Languege》(掌握)
11、《面向對象設計》(掌握;結合C學習)
(五)一些經驗和體會
1、真正的程序員用C;(一位專家說的)
2、動手去編程序;
3、動腦去思考;
4、要有良好的編程風格;
5、讀書,讀好書,盡量讀原版書!(我反復強調這一點,讀書要有選擇,堅持讀好書,名家出的經典書,不要浪費實踐在一些粗製濫造的書上面;堅持博覽群書)
6、有自己的學習計劃;
7、總結自己的經驗教訓;(准備一個筆記本,記錄錯誤和心得)
8、不要怕學新東西;
9、要有軟體工程的思想;
10、善於發現問題,然後去尋找答案;
11、向高手請教;(要虛心直到你成為高手)
12、和同行交流;(不善於交流肯定不行)
13、懂得軟體的實質,不要被千變萬化的表象所迷惑;
14、真正要學慣用的是編程語言和方法,不是什麼庫,什麼類,什麼工具;(學用那些什麼庫都比較簡單,但光會這些庫,我覺得還遠遠不夠)
15、學習wiodows編程主要是學習windowsOS和win32API;
16、有空了解一下嵌入式開發;
17、有空了解一下PDA軟體開發;
18、了解一下.NET框架和C#語言,也許它是你新的衣食父母;
19、要有耐心,不要作浮躁的人;20、對程序加註釋,並保留你的老程序;
21、學到的東西越多,了解的越多,你就越接近專家;
22、有空去逛逛CSDN,那裡有你很多知己;
23、要有信心成為一個優秀的程序;
(六)一些好書的推薦
1、《TheCProgramminglanguage》(Keinighan&DennisRitchie1988)
2、《TheCProgrammingLanguague》(BjarneStroustrup1997)
3、《InsideTheCObjectModel》(lippmans)
4、《EffectiveC》(同上)
5、《MoreEffectiveC》(同上)
6、《Exceptionalc》
7、《C面向對象高效編程》
8、《設計模式》
9、《ThinkingInC》
10、《TheStandardCBible》(一般推薦)
11、《TheArtofComputerProgramming》
12、《ProgrammingWindows》(CharlesPetzold)
13、《VC5.0技術內幕》
14、《MFC深入淺出》
15、《軟體需求》
16、《AdvancedWindows》
17、《Cprimer》
18、《win32程序員參考手冊》
19、《用TCP/IP進行網際互連》
20、《COM本質論》
(七)學習計劃
——-這個學習計劃是我個人定的,也共享給大家參考一下,共同進步吧。1、《計算機組成原理》
2、《操作系統》
3、《數據結構》
4、《匯編語言》
5、《C》
6、《C》
7、《VC技術內幕》
8、《ProgrammingWindows》
9、《深入淺出MFC》
10、《AdvancedWindows》
11、《InsideTheCObjectModel》
12、《ThinkinginC》
13、《EffectiveC》
14、資料庫
15、網路
16、嵌入式OS和編程
17、硬體單片機
18、.NET和C#
19、軟體工程
20、UNIX和Linux
B. 想學程序,做一個程序員入門該做什麼
程序員:
程序員是從事程序開發、程序維護的專業人員。程序員一般需要會做:確認通過審查方戚拆銷案的目標,輸入數據,分析師,監事,和客戶的輸出要求的項目要求。
通常情況下將程序員分為程序設計人員和程序編碼人員,軟體御爛從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。
程序:
程序是一組計算機能識別和執行的指令,運行於電子計算機上,滿足人們某種需求的信息化工具。以某些程序設計語言編寫,運行於某種目標結構高游體繫上。
程序就如同以英語(程序設計語言)寫作的文章,要讓一個懂得英語的人(編譯器)同時也會閱讀這篇文章的人(結構體系)來閱讀、理解、標記這篇文章。
(2)初級學程序員怎麼辦擴展閱讀:
程序員的日常工作:
1、確認通過審查方案的目標,輸入數據,分析師,監事,和客戶的輸出要求的項目要求。
2、安排項目要求在編程序列分析要求;准備工作流程圖和使用計算機知識的能力,題材,編程語言和邏輯圖。
3、編碼工作流程的信息轉換成計算機語言的項目要求。
4、通過輸入編碼信息的計算機程序。
5、確認程序操作進行測試,修改程序序列和/或代碼。
6、准備寫操作指令供用戶參考。
7、保持歷史記錄,通過記錄方案的制定和修訂。
參考鏈接:網路-程序員
網路-程序
C. 新手如何學習編程
剛開始學習編程語言,要怎麼去做,動手編寫一個編譯器,學習一下較為底層的編程方式,是一種學習計算機到底是如何工作的非常有效方法。編譯器通常被看作是十分復雜的工程。事實上,編寫一個產品級的編譯器也確實是一個龐大的任務。但是寫一個小巧可用的編譯器卻不是這么困難。
這個秘密是,首先介紹編程入門教程,找到盡可能小的項目,然後想要的功能加入。這種方法也意味著在他那篇著名的文章中提到的「一個編譯器構造的快捷方式」阿卜杜勒阿齊茲Ghuloum說。但是這種方法確實工作。只需要按照第一步操作本文中,可以得到一個真正可用的編譯器。當然,它只能被編譯的編程語言是非常小的子集,但它確實是一個真正的編譯器可用。你可以自由地擴展這個編譯器,然後了解更多,更深的了解。
從某種意義上來說這比寫一個scheme的編譯器要困難一些(因為必須去解析C那復雜的語法),但是在某些方面又很便利(不需要去處理運行時類型)。要寫這樣一個編譯器,只需要從那個可用的最小的編譯器開始。沒有變數,沒有函數調用,沒有額外的依賴,甚至連if語句,循環語句都沒有,一切看起來是那麼簡單。
踏出了編程入門教程第一步,接下去怎麼做就全看自己了。可以按照文章所指導的全部做一遍,然後製作一個更加復雜的編譯器。需要去寫一個更加精巧的語法樹來生成匯編代碼。接下去的幾步分別是:(1)允許返回任意的值(比如,return3; 一些可執行代碼);(2)添加對「非」的支持(比如,return ~1; 一些可執行代碼)。每一個額外的特性都可以教你關於C語言的更多知識,編譯器到底是怎麼執行的,以及世界上其他編寫編譯器的人是如何想的。這是構建 babyc 的方法。Babyc 現在已經擁有了if語句,循環,變數以及最基礎的數據結構。
下面給大家展示一下國內最權威的.net訓練營學習路線圖:
D. IT培訓分享剛入行的程序員小白如何才能快速成長
每個大牛都是從小白成長過來的,對於剛剛步入職場的程序員來講,面對身份的轉變和還未熟悉的工作,都難免會有不適應,對自己未來的成長也會比較迷茫。
No.1
大部分的程序員從小白到大牛都是要經歷一個循序漸進的過程,沒有一蹴而就的成功,程序員的成長也是分階段的,而每個階段的側重點又都不一樣。
很多人總想一口吃成胖子,可往往就是這種急躁的心理,反而使得自己更難靜下心來夯實基本功,適得其反。
要知道,成長從來就不是一件簡單的事情。那麼對於IT小白來說,IT培訓http://www.kmbdqn.com/介紹怎樣才能在更短的時間內成長為一名優秀的程序員呢?
No.2
首先,要制定詳細而明確的階段性目標。工作時如果有一個目標,會幫助你找到努力的方向,對自己的事業發展也很有幫助。而越詳細、越明確的目標,其可實施性就越高,這也能使你找到短期奮斗的動力。
其次,要利用空閑時間多學習。技術實力始終是一個程序員能否往前走的關鍵,沒事的時候多看代碼,保持對代碼的敏感度。只有看的多了,琢磨的多了,才能培養出好的代碼審美感。
除了要保持對代碼的敏感度以外,還要讓這種敏感度成為你寫代碼中的利器。因此,你需要勤寫代碼,多做總結,不斷優化自己寫的代碼。
最重要的是,要注重在項目中去鍛煉自己。項目開發是幫助程序員快速成長的一個有效途徑。實踐出真知,只有多實踐,才能發現自己在實際的項目開發中存在的缺點和不足,找出來並及時改正,將為自己積累下十分寶貴的經驗。
No.3
不知道大家有沒有聽說過「空杯心態」?
「空杯心態」簡單來說就是:如果你的杯子是空的,新東西就比較容易進去;反之,如果你的杯子已經滿了,新東西就進不去。
舉例來說,可能會有一小部分自以為是的同學,他們在剛從學校出來時思維較為固化,自己的東西太多,頑固又不肯放棄,新東西自然難以學進去,成長自然就慢。而具有空杯心態的同學,他們會適時清空自己,甚至有意識清除腦中頑固區域,虛心主動學習,渴望更多知識,學到的自然就會多。
因此,要想快速成長為一名優秀的程序員,就要學會保持空杯心態。
隨著技術更迭速度的不斷加快,IT行業對程序員的學習能力要求也變得更高。只有時刻保持對學習的熱忱,保持空杯心態,才能早日成長為一名優秀的程序員。同時,要堅持自律,懂得自我約束。越是在特殊時期,保持學習的自律能力就越重要!
E. 小白,想入門程序員,應該從什麼開始學,順序是什麼
小白想要成為程序員,首選是選擇一門合適的語言,比如說:Python、Java、C、C++、GO語言等;其次,選擇合適的學習方式,比如培訓,周末班、脫產班還是網路班。
如果完全沒有編程基礎,建議大家學習Python,Python入門簡單、語法清晰、通俗易懂,非常適合零基礎人員。