1. 自學程序員的學習順序和課程都是什麼
展開全部
基礎課程包括:計算機硬體基礎、計算機網路基礎、操作系統、計算機組成原理、計算機體系結構、資料庫原理、軟體工程、離散數學、演算法設計與分析、數據結構、編譯原理
編程語言可以根據需要選擇,底層開發人員必學:匯編語言、c、c++;web應用表示層開發人員:html、xml、javascript、jsp(或asp,php)等;普通應用程序開發:c++、vb、.net(其中包括多種語言,可根據現有基礎選擇)、java等。
如果你是學生,或者如果你有充足的時間。我建議你仔細的掌握下面的知識。我的建議是針對那些希望在IT技術上有所成就的初學者。同時我還列出了一些書目,這些書應該都還可以在書店買到。說實在的,我在讀其他人的文章時最大的心願就是希望作者列出一個書單。
大學英語——不要覺得好笑。我極力推薦這門課程是因為沒有專業文檔的閱讀能力是不可想像的。中文的翻譯往往在猴年馬月才會出來,而現在的許多出版社乾脆就直接把E文印刷上去。學習的方法是強迫自己看原版的教材,開始會看不懂,用多了自然熟練。吃得苦下得狠心絕對是任何行業都需要的品質。
計算機體系結構和匯編語言——關於體系結構的書遍地都是,而且也大同小異,倒是匯編有一本非常好的書。《80x86匯編語言程序設計教程》(清華大學出版社,黑色封面,楊季文著)。你需要著重學習386後保護模式的程序設計。否則你在學習現代操作系統底層的一些東西的時候會覺得是在看天書。
計算機操作系統原理——我們的開發總是在特定的操作系統上進行,如果不是,只有一種可能:你在自己實現一個操作系統。無論如何,操作系統原理是必讀的。這就象我們為一個晶元製作外圍設備時,晶元基本的工作時序是必需了解的。這一類書也很多,我沒有發現哪一本書非常出眾。只是覺得在看完了這些書後如果有空就應該看看《Inside Windows 2000》(微軟出版社,我看的是E文版的,中文的書名想必是Windows 2000 技術內幕之類吧)。
數據結構和演算法——這門課程能夠決定一個人程序設計水平的高低,是一門核心課程。我首選的是清華版的(朱戰立,劉天時)。很多人喜歡買C#版的,但我覺得沒有必要。C#的語法讓演算法實現過程變得復雜多了,而且許多老師喜歡用模塊這一東西讓演算法變得更復雜。倒是在學完了C版的書以後再來瀏覽一下C#的版的書是最好的。
軟體工程——這門課程是越到後來就越發現它的重要,雖然剛開始看時就象看馬哲一樣不知所雲。我的建議是看《實用軟體工程》(黃色,清華)。不要花太多的時間去記條條框框,看不懂就跳過去。在每次自己完成了一個軟體設計任務(不管是練習還是工作)以後再來回顧回顧,每次都會有收獲。
Windows 程序設計——《北京大學出版社,Petzold著》我建議任何企圖設計Windows 程序的人在學習VC以前仔細的學完它。而且前面的那本《Inside Windows 2000》也最好放到這本書的後面讀。
在這本書中,沒有C++,沒有GUI,沒有控制項。有的就是如何用原始的C語言來完成Windows 程序設計。在學完了它以後,你才會發現VC其實是很容易學的。千萬不要在沒有看完這本書以前提前學習VC,你最好碰都不要碰。我知道的許多名校甚至都已經用它作為教材進行授課。可見其重要。
上面的幾門課程我認為是必學的重要課程(如果你想做Windows 程序員)。
對於其它的課程有這樣簡單的選擇方法:如果你是計算機系的,請學好你所有的專業基礎課。如果不是,請參照計算機系的課程表。如果你發現自己看一本書時無法看下去了,請翻到書的最後,看看它的參考文獻,找到它們並學習它們,再回頭看這本書。如果一本書的書名中帶有「原理」兩個字,你一定不要去記憶它其中的細節,你應該以一天至少50頁的速度掌握其要領。盡可能多的在計算機上實踐一種理論或者演算法。
你還可以在CSDN上閱讀到許多書評。這些書評能夠幫助你決定讀什麼樣的書。
2. 零基礎的人怎麼才能成為一名程序員呢很難嗎
零基礎的人怎麼才能成為一名程序員呢?很難嗎?因為如果你只會一門語言的話,那也是程序員,只要這門語言你學得精通,能夠從事這方面的工作那你就是一個程序員了。所以我覺得題主應該首先搞清楚自己想要從事的方向,然後再找突破口去學習對應的課程。
總之,只要自己確定好目標,朝著目標一路向前,持之以恆的堅持下來,再加上多練習,多去問,相信未來的你不只是入門程序,還會成為更高級的It工作者。
3. 如何成為一名程序員
成為程序員的具體步驟:
第一步:
掌握一種編程語言。學習任意一種主流的編程語言,例如C++語言。熟練掌握一種語言的語法和基本的編程技巧。
學習時間:
3個月左右
注意事項:
編程語言和編程工具是兩回事情,編程語言是指C++、Basic、Object Pascal等。程序設計語言,它們是像漢語、英語一樣的抽象的語法規則,編程工具是指Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代碼編輯器、程序編譯器 在內的集成化、可視化的軟體開發工具。C++源程序可以在Visual C++ 6.0里編寫,也可以在記事本里編寫,而同一個C++源程序可以用Visual C++ 6.0編譯、執行,也可以用C++ Builder 5.0
編譯、執行,所以: C++ 不等於 Visual C++ 6.0。
第二步:
掌握一種編程工具,學習任意一種主流的編程工具。注意編程工具要和第一階段學習的編程語言一致,例如你學習的編程語言是C++,那麼編程工具要選Visual C++ 6.0或者C++ Builder 5.0。熟練掌握這種編程工具基本用法,例如:菜單、組件、程序跟蹤調試、編寫Windows程序等。
學習時間:
3個月左右
注意事項:
這個階段側重編程工具的使用,同時進一步熟習編程語言,最後達到能熟練編寫各種基本的Windows程序。
第三步:
掌握「演算法與數據結構」這門課程,推薦許卓群的《數據結構》,熟練掌握各種常用的演算法與數據結構。
學習時間:
4個月左右
注意事項:
這是一門不可或缺的軟體開發課程,曾經有一本經典計算機專業書籍叫做《數據結構+演算法=程序》,這說明了數據結構和演算法的重要性。它能幫我們建立良好的程序分析與設計能力。
第四步:
實現一個模擬的小型軟體項目,掌握軟體項目的基本開發過程和方法。
學習時間:
4個月左右
注意事項:
自己完成一個模擬的小型軟體項目,強烈推薦做一個MIS(管理信息系統)軟體,參考用書推「中小型信息管理系統開發實例系列叢書」,人民郵電出版社,它的例子詳實有效, 以它為基礎再加以擴展,就可以做出實用的MIS軟體來。
4. 程序員的軟技能書籍有哪些值得推薦
軟技能,代碼之外的生存指南
這是一本真正從「人」(而非技術也非管理)的角度關注軟體開發人員自身發展的書。書中論述的內容既涉及生活習慣,又包括思維方式,凸顯技術中「人」的因素,全面講解軟體行業從業人員所需知道的所有「軟技能」。 讓你成為一名優秀的軟體開發人員。
其中講「十步學習法」的章節值得閱讀
「十步學習法」的基本思想就是:要對自己要學的內容有個基本的了解——了解自己不知道什麼就足矣。然後,利用這些信息勾勒出學習的范圍,即需要學哪些內容,以及學成之後又會獲得什麼。依靠這些知識,你可以找出各種資源(不局限於書)來幫助自己學習。最後,你可以創建自己的學習計劃,列出要去學習哪些相關課程,篩選學習材料,只保留能幫助自己達成目標的優質內容。
一旦完成這些工作,你對自己要學什麼和怎樣學都瞭然於胸,你就可以把控自己的學習計劃中的每個關鍵點,通過「學習—實踐—掌握—教授」(Learning, Doing, Learning and Teaching,LDLT)的過程,獲得對該學科的深刻理解,同時你也向著自己的目標前進。
「十步學習法」的第一部分是研究,它是一次性完成的。但是從第7步到第10步則是重復的過程,貫穿於你的學習計劃的各個模塊。這個方法非常奏效,因為它迫使你提前明確自己的學習目標,也持續不斷的激勵你通過實踐(而不僅僅是讀書或聽講座)向著目標前進。
認請自己,讓你知道自己是哪類軟體開發人員。
作為成長期的程序員可以學會:
如何管理職業生涯,如何在職業生涯中做出正確選擇;
如何以更好、更有效的方式學習,以及如何盡可能富有成效,以及在缺乏動力而心灰意冷的時候該如何去做;
有關理財的基礎知識,有關身心健康的基礎知識,以及——作為一個軟體開發人員,乃至於作為生活在這個星球上的一個「人」,這些事情會如何影響到我。
5. 怎麼成為一名程序員,要從哪裡開始學起,先學什麼在學什麼
答:
首先你要清楚程序員也分很多種,從語言分,有C,C++,C#,JAVA,Delphi等等,你要考慮好弄自己向哪部分發展。
一般如果沒什麼理解可以從C語言學起,因為C語言比較貼切於機器語言,大學裡面一般也都是先學C的,學好了C語言,可以觸類旁通,更容易學其他的語言。
2.Java據說是現在最熱門的(所有程序員都覺得自己用的那個語言最牛逼),IOS或者android學了可以做手機軟體哦,Delphi和C#是用控制項拖出自己想要的結果,然後在後台寫代碼的,不過有人說Delphi相對落伍了,但好些大公司還是在用Delphi來搭框架的。
3.選定好語言後,如果覺得自己理解能力動手能力超強的話,自己買本入門的書,或者網上看些教學視頻,邊看邊實踐。不過這個對於初學者來說真的挺難的,因為第一次的話,可能連環境都搭不好,用來編程的軟體對初學者來說還是蠻麻煩的一種軟體,不是這個不行,就是那個設置錯了,或者連一些基礎的窗口啊工程啊項目啊的概念都沒有,網路起來又要答案一個一個看,浪費時間。而且還要自己搭資料庫啊什麼的,真的很難。有老師教的時候,還能掛科一大片的。不過入門了,之後就簡單了,自己隨便找本書,學學代碼用法啊,照著打就可以了。
拓展資料:
程序員(英文Programmer)是從事程序開發、程序維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。
崗位職責:
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
網路詞條 程序員
6. 作為一個程序員,你有沒有想過如果不做程序員了你還能做什麼
首先扒出網上的一張圖,表明程序員工作的路線圖。雖然只是笑資,但也依舊部分真實。
大多數在一線城市的程序員根本買不起房,特別是北京,當然對比其他薪資更低的其他崗位更是如此。所以基本分為兩大塊,一直留在大城市和後期回到二線甚至三線城市,求個輕松安穩的生活。
管理 :大多程序員在沒有怎麼敲代碼後,都是走管理路線,管理項目,統籌兼顧,這也算是沒有脫離程序員的行業,但也不能算是敲代碼的程序員了。不過管理崗位就那麼多,也只會有少數人能夠晉升。
程序行業的獵頭 :現在很多大公司都需要hrbp等崗位,需要懂得編程的人幫忙招聘真正有本事,能夠聊技術的hr,不過hr更多要有資源,能夠會說話,有大概的判斷,因此程序員行業很多人並不能勝任,但總會有人適合,不是么。
培訓老師 :懂的知識,能夠系統理解就能教書育人。同時也是對自己知識體系的梳理過程。無論你是內向還是外向,都可以做講師,因為每個人都有自己的講課風格,但這需要你做一定的適應,最大的難度就是從自己動手做項目到用語言准確表述自己的經驗與技術。
做自媒體 :現在的自媒體已進入成熟期,如果你的技術已經十分嫻熟,可以把專業技能放在自媒體平台上,把你的編程經驗、目經驗寫一寫,以文章、視頻形式展現出來。名氣大了,自然會有人找上你,請教問題或者打廣告,一切都水到渠成。
接私活 :現在也有很多地方可以接私活,自己賺錢,趁著年輕多賺錢,至少被年輕人淘汰時候,手上也有很多錢可以任由自己揮霍。
很多人在做程序員後,都會想有更輕松的人生,錢少點無所謂,但不能委屈自己。那能幹啥呢?
在老家開一個小店鋪,天天刷刷視頻,看看電視,日子也很悠閑愜意。
甚至在老家開滴滴,自由職業,想上班就上班,手頭缺錢就加油跑,
有一點自己愛好的,開個小餐館做作 美食 ,彈彈吉他教教學生。
修修電腦, 游戲 陪玩。或者自己寫一個伺服器,做個網站玩玩。
只有一份工作,並且還是給別人打工,擔心永遠都不會少,有一份副業才是正道。不要等到年紀到了,發現只能依賴一份死工資,變得唯唯諾諾,一點底氣都沒有,從而變成被公司壓榨的理由。
而對於大多數人而言,要多想想除了現在這份工作,我還能幹什麼賺錢,同時,也要加強自己的不可替代性。而程序員的不可替代性依舊是想法和技術。可以關注私聊我發送「 項目 」獲取很多項目的學習視頻哦,當然覺得沒有你想要的可以私聊說說想要什麼資源,大部分都能給你找到。
作為一名從業多年的程序員,或者說作為一名大齡程序員,肯定都會考慮,中年職業危機的事情,達到一定年齡後,自己該何去何從,中年程序員的焦慮隨著年紀增大而增大。
項目管理,軟體經理
很多公司沒有技術專家的崗位,所以很多人都會考慮轉管理,比如項目管理,軟體經理,因為技術沉澱,可以對軟體開發進行管理,這種職業轉換,相對與研發經理會比較簡單,壓力沒有那麼大。
轉換做技術支持,做FAE
假如你之前從事的工作,是做嵌入式軟體開發,寫C語言編程,那麼對於單片機一般會比較熟悉,那麼可以找一些mcu晶元原廠或者大的代理公司,做技術支持FAE,利用自己的技術經驗,幫客戶解決問題,然後有些公司的FAE的工資也會與銷售額掛鉤,有一定提成。
轉換做銷售
轉換做銷售是很多程序員的考慮,但現實是很多公司不會招沒有銷售經驗和資源,且年紀偏大的人做銷售,主要是培養時間長,穩定性差,沒有資源,當然賣房不需要經驗。
跑滴滴,跑美團送外賣
估計很多人也會想,如果真的失業了,就去跑滴滴,送外賣,肯定也是一個門路,肯定是一定收入,但收入肯定沒有做程序員高。
創業自己做點小生意
做程序員,工資相對於其他一些行業工資要高,或許有點積蓄,就考慮開一個小賣部,或者開餐館,做燒烤,做早餐等等,再或者是不是開一個快遞網點也是一個不錯的選擇。
還可以利用自己的專業知識,給別人做產品,方案開發等工作。這種我覺得是程序員重點考慮的方向。
說實話,確實沒想過,作為一個已經在程序員崗位上幹了10年的老鳥,目前還沒想過不做程序員了還能做什麼,做個小生意,不知道從何做起。合夥開公司,也找不到合適的人,而且最重要的是要有人跑市場,天天面對電腦,感覺已經喪失了和人打交道的能力了。
30多歲了,已然變成了00後口中的中年大叔,面對上有老,下有小的窘境,你想不做老本行,辭職去做其他的事情?除非有十足的把握,不然還是勸下自己,不如將現金投放到余額寶,或者買一些基金定投產品來的靠譜。畢竟那個一人吃飽,全家不愁的時代已經過去了。每天睜眼面對的就是父母妻兒,車貸房貸,以及其他的消費生活壓力,想給自己解解壓,還是拋棄不切實際的創業夢想吧。
但是,別忘了,雖然人在江湖,身不由己,對於自己還是要投資的,不論是身體方面,還是職業方面,健身房沒錢去,就到小區路邊多走走,鍛煉好身體,至少用一個強壯的身軀來撐起家庭。編碼之餘,多看下前沿的最新技術,程序員是最喜新厭舊的行業,你所比年輕人多的,不是身份證上的年齡,而是寶貴的項目資歷,不過在層出不窮的新技術面前,保持一顆善學不斷的心,總歸是沒錯的。
就算你要干別的行業,也請你把現在的程序員做好,既然要當斜杠青年,抑或是斜杠中年,也得腳踏實地,一步步的來不是?分享與大家共勉!
都說程序員吃的是年輕飯,過了30歲以後的程序基本上都是行不通的。然而好像事實也是如此,一旦上了年紀的程序員,真的沒辦法和年輕的相比。
三四十歲的年紀,論技術沒有年輕人的跟得上時代,論體力你也拼不過年輕人,我老程序員唯一擁有的話就是經驗。那誰說做程序員就得干一輩子,沒有這種說法。如果說你不做程序員以後的話,其實你可以將你自己的這一身經驗,傳授給別人。
說白點就是直接去當老師吧,當老師待遇也不錯,工資而且還挺高的。如果你有教師資格證的話,可以直接去正規的學校應聘,老師如果說你沒有教師資格證的話,現如今有很多的那種私密的培訓機構,他們都會招收很多的講師。不管是學校還是公立的培訓機構,各自有各自的好處,但整體來說待遇都是非常不錯的。
就以普通的培訓機構為例吧,他們非常需要人才,需要講師,有的培訓機構甚至直接聘請一些在校的大學生去作為他們的講師,但可想而知這些大學生的話,他們也只是學生,真要論起實戰,是遠遠不如退休下來的程序員。
但當老師也不是程序員唯一的屈辱,其實還有很多方向可以去發展,如果你覺得你這個行業做膩了,想換點新鮮的去做一下其他,那你就可以勇敢的去嘗試。不管是各行各業,只要自己喜歡都可以去做,能勝任程序員這個職位的人,我相信都是非常的聰明,去做其他職業只是時間的問題,我相信都能夠勝任。
因為程序員,吃的是一種技術活,頭腦必須靈光。太笨的人真的當不了程序員,所以說那麼聰明的一個人轉行去做其他職業,一點問題都沒有。
有時候我也在想如果有一天我不做程序員了,接下來應該去做什麼。
再回鐵路行業,從鐵路行業出來的我,再去應聘個地鐵公司或者廠家應該不是什麼問題。
去工廠企業做維護,我的專業是自動化專業,做個電務的維護也還算可以,畢竟還記得PLC,DCS編程語言,我還是一個擁有高壓電工證的程序員。
去輔導機構,去做個英語老師,大學英語六級,以後准備考個雅思,教小孩英語,應該綽綽有餘了。
或者回老家包地,再把畢業以後扔下的單片機,FPGA拾起來,做一些農業自動化的東西,再結合我現在的web編程,創造一些農業新生態。
或者開一家燒烤,開一家有情調,有技術氛圍的燒烤,程序員可以憑工作證獲得優惠的燒烤,因為這個世界上太多的程序員需要安慰。
只要你想活下去,總會活下去。
我想每一個程序員都應該想過這個問題吧
首先,程序員行業普遍加班較多,年輕力壯還好,加班身體也扛得住,年紀大了就不一定了。
其次,步入中年後,你的責任可就不止工作了,你是家裡的頂樑柱,你是家裡的一份子,你要抽時間來陪伴你的她或他,陪同孩子老人吧。
第三,程序員行業技術日新月異,新技術層出不窮,你不可能跟小年輕拼記憶里,拼學習能力,所以你需要考慮轉型。
談談出路:一是堅持一個行業,精通業務,轉行做管理;二是年輕時做好技術積累,可以出書,寫博客做技術專欄,也可以做培訓老師;三是轉行自己創業或是轉移到一個對年紀要求不那麼大的行業
最後,祝所有即將步入中年或已入中年的程序員順利找到滿意的發財之路
1、轉產品經理、cto、管理層,如果往這些方向轉的話,建議平時工作中多管一些「閑事」,除了變成之外,例如產品同事的討論也多參與,多思考從產品上怎麼發展這個產品,對於轉型有很大的幫助。
2、未來編程肯定會往中小學生教育方面發展,可以考慮轉型做編程的教師。
推薦一本對我自己影響比較大的書:《軟技能-代碼之外的生存指南》,裡面涉及生活習慣養成、思維方式等等,凸現技術中人的因素,閱讀這本書可以全面了解軟體從業人員所需要知道的所有「軟技能」
7. 零基礎小白如何成為程序員需要學習哪些內容
自學編程沒那麼難。只要是理工科學生,邏輯思維好的朋友,都可以開始編程。這里有六種方法可以和你的朋友分享自學編程。這些方法足以幫助您入門和進階:0.書籍+視頻可能是學習編程最好的方式,對於初學者來說,可以通過視頻+書籍來學習。這兩種方式形成互補關系。編程教學視頻可以幫助你快速掌握編程,但通常比較生動,簡單,不系統。書是系統的,透徹的,枯燥的,所以最好的方法就是把書和視頻結合起來。
5.反復練習。編程是一門手藝,需要反復練習。沒有書和視頻能獨立實現嗎?學習的最終狀態無非就是:我沒有他,但是我的手很熟悉。近年來,IT行業變化很快。我們可以大致感受到我們使用的手機和互聯網產品的變化。我們從原來的非智能手機遷移到iPhone和安卓手機。我們從去網吧買電腦變成了6G內存2GHz的智能手機(已經超過了2010年的電腦配置)。
我們從大型PC游戲轉到了手機游戲。我們的每部手機都有將近100個應用。我們用過很多微信官方賬號,微店,mini 程序和mini游戲。我們從5元3000萬變成了隨時隨地刷小視頻,直播。我們很少用現金,因為我們不得不拿錢包取錢,有時我們想拿出10元錢,但我們真的沒有……豐富的互聯網產品(應用程序、H5、小程序、游戲等)背後。),IT其實是由日新月異的IT技術支撐的。
所以作為程序,你必須不斷學習,學習公司需要的任何技術。工作幾年,堅持學習也不算太累。畢竟經歷了幾年,很多東西都很熟悉。零基礎如何自學編程?成為/kloc-0成員需要具備哪些技能?這些年來,我開發了各種東西,做了各種編程工作。伺服器後端程序已經開發出來,需要幾種編程語言:JAVA、PHP、Node.js、Python、SQL等。已經開發了PC網頁和H5,需要Javascript,CSS3,HTML5等。開發了一個App,你需要用JAVA,SQL,HTML5。
我們開發了微信small 程序,需要CSS,Javascript,HTML等等。開發過計算機軟體,需要用到C#、Javascript、C++等。為什麼要學那麼多技術?因為不同的編程語言有不同的長處。比如玩游戲,Unity很成熟很快,很多知名游戲都是用它開發的,所以開發游戲的時候幾乎很多公司都在用它,程序會員一定要學。移動APP的開發主要使用JAVA、Swift、OC等編程語言,開發App必須學習這些編程語言。零基礎如何自學編程?成為/kloc-0成員需要具備哪些技能?
沒有接觸過技術開發的人還是不知道為什麼需要這么多編程語言。這么說吧:翻譯跟英國人說話要說英語,跟西班牙人說話要說西班牙語,跟我們說話要說中文。IT技術的編程語言和我們說的語言類似,不同的領域需要不同的語言。說了這么多,大家都知道程序員工在工作中需要的技能,以及會發展什麼。
我再簡單總結一下::程序工作人員必須掌握自己崗位的編程語言。比如做安卓APP,一定要掌握JAVA。一般掌握編程語言是不夠的。為了提高開發速度,還必須了解各種框架和庫。程序員工將發展什麼?會開發APP,網站,電腦軟體,微信程序等等。不過應該說,行業是有特長的,並不是所有的程序工作人員都能開發應用、網站、小程序…有些人只能懂一門技術,但可以是專家,比如資料庫專家。而且這些年我也只是個打雜的,但是各種發展都會...更多的雜工,僅此而已。
8. 小白,想入門程序員,應該從什麼開始學,順序是什麼
小白想要成為程序員,首選是選擇一門合適的語言,比如說:Python、Java、C、C++、GO語言等;其次,選擇合適的學習方式,比如培訓,周末班、脫產班還是網路班。
如果完全沒有編程基礎,建議大家學習Python,Python入門簡單、語法清晰、通俗易懂,非常適合零基礎人員。
9. 如果,我想當一名程序員,如何從零開始
1、 程序員意味著要編程序。(如果你僅僅想得到一份高薪水的工作,喝喝咖啡就等老闆發薪水,我奉勸你還是另找一份更合適的工作,譬如練攤,真的,兄弟,這份工作不適合你)
2、你是學文的還是學理的,編程序也許需要浪漫,但更需要邏輯和嚴謹。(說坦白點就是,在你沒有找到樂趣以前,它很枯燥)
3、你有對新技術追求的熱情嗎?你有刨根問底的探索精神嗎?(熱情絕對是最重要的!你仔細思考一下自己的性格適合當程序員嗎?)
4、當程序員決不是什麼好差事,時刻需要學習,需要思考。(直到你成為那個可以引導別人去學習和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)
5、程序員的未來很迷茫。(但我認為關鍵看你自己!我希望你是一個有追求的人,不僅僅是混碗飯吃。因為真正的樂趣在於創造;如果你能改變軟體業的歷史,那才是英雄;不想成為Bill Gates,不想成為Dennis Ritchie和 Bjarne Stroustrup,我會說你沒有追求。有個關於程序員未來的笑話,也許你還沒聽過,你該聽一聽,摘抄如下:
一個程序員對自己的未來很迷茫,於是去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問Lippman,他現在領導的程序員的隊伍可能是地球上最大的」
於是他去問Lippman。
Lippman說「程序員的未來就是駕馭程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問Gates,他現在所擁有的財產可能是地球上最多的」
於是他去問Gates。
Gates說「程序員的未來就是榨取程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問侯捷,他寫的計算機書的讀者可能是地球上最多的」
於是他去問侯捷。
侯捷說「程序員的未來就是誘惑程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝搖搖頭「唉,我的孩子,你還是別當程序員了」)
6、當程序員還是很有樂趣的。(當你學到新知識時,當你有新的思想見解時,當你有新的產品問世時,和知己探討你的成果時…我問你,覺得這些是樂趣嗎?)
7、當程序員不易也不難。(世間事有難易乎?為之…;不為…。你有決心和信心嗎?)
8、你真的要當程序員?是你自己的想法?
9、你捨得花錢買書嗎?(讀好書絕對是學習編程的最佳捷徑。你一定會說,現在電腦書籍真他XX的貴,沒法子,誰讓知識和技術在人家的腦袋,在人家的書里呢;等你寫書時可以把價格定低一點,記著還有好多沒錢但想買書的兄弟很困難呀。要捨得買書,買好書,不好的的書不如不讀,其害大於其益,關於買什麼書,你可以問高手或看候捷的書評;准備一個小本子記錄你想買的書的名字,逛書店時看看,如果好就買下,記住要讀,別光買不看。) 10、我告訴你,程序就是:任何有目的的、預想好的動作序列,它是一種軟體。
11、編程序就是編寫程序。
12、你想好了嗎?(如果你想好了還是決定要當程序員,可以繼續往下讀;否則,你可以繼續尋找別的出路了。)
(三) 一個程序員應該具備的基礎知識和概念
1、計算機是有什麼組成的,CPU是什麼東西,其工作原理是什麼。(對於這些以及下面將要提到的概念我不會告訴你什麼答案,你可以看相應的教材,關於教材我會在下一部分詳述,記住理解最重要!)
2、機器語言和微指令集的概念。
3、程序的概念。
4、匯編語言是低級語言但不是機器語言。
5、高級語言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等;如果你是中國軟體業的英雄,你也寫一門語言,最好不用英語) 6、編譯程序和解釋程序的概念和其原理。(編譯器是高手和專家編寫的)
7、HTML、XML等是標識性語言。
8、Prolog是人工智慧語言。
9、操作系統OS的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,Linux,等等都是OS,還有一些實時OS,嵌入OS,編這些的絕對是高手)
10、Windows編程說白了就是Windows API的調用。(中國的程序員很多隻是會編windows程序,用的是VB,我的建議是這些程序員頂多隻是低級編碼員,我稱其是coder)
11、VC++、VB、BC、BCB、Delphi、VF等都只是編程的工具和環境,不是編程語言。
12、面向結構的設計概念。
13、面向對象的概念。(好好理解,兄弟,這個東西還是很重要的)
14、軟體工程的概念和原理。(如果你想當老總就需要好好研究了,系統分析員比編碼員要高一個等級,薪水也高喲)
15、資料庫的概念。(要熟悉一些著名的資料庫系統和語言的名字,如Orcle,SQL,DB2,DyBase等)
16、了解網路概念。
17、了解多媒體概念。
18、熟悉和掌握數據結構和基本演算法。
19、是不是要求太高了,別著急慢慢來,進步在不知不覺之中。(一旦開始學習,一個月以後你就會有一個基本的概念;兩個月以後你就會感覺自己有了全面的基礎知識;當你知道編程序是怎麼回事時,說明你已經入門了。也有很多人編了很多年程序還沒有入門呢,你不會希望自己步其後塵吧。要有信心和耐心。沉不住氣怎麼能成大事?!)
(四) 教材推薦
――-推薦的教材主要還是針對概念來的,最好選用名校的教學用書。
1、《計算機組成原理》(熟悉)
2、《數據結構》(掌握)
3、《操作系統》(了解->熟悉)
4、《The C language》(掌握)
5、《編譯原理》(了解原理)
6、《匯編語言》(了解)
7、《計算機網路》(了解)
8、《軟體工程》(了解)
9、《關系資料庫》(熟悉)
10、《The C++Languege 》(掌握)
11、《面向對象設計》(掌握;結合C++學習)
(五)一些經驗和體會
1、真正的程序員用C++;(一位專家說的)
2、動手去編程序;
3、動腦去思考;
4、要有良好的編程風格;
5、讀書,讀好書,盡量讀原版書!(我反復強調這一點,讀書要有選擇,堅持讀好書,名家出的經典書,不要浪費實踐在一些粗製濫造的書上面;堅持博覽群書)
6、有自己的學習計劃;
7、總結自己的經驗教訓;(准備一個筆記本,記錄錯誤和心得)
8、不要怕學新東西;
9、要有軟體工程的思想;
10、善於發現問題,然後去尋找答案;
11、向高手請教;(要虛心直到你成為高手)
12、和同行交流;(不善於交流肯定不行)
13、懂得軟體的實質,不要被千變萬化的表象所迷惑;
14、真正要學慣用的是編程語言和方法,不是什麼庫,什麼類,什麼工具;(學用那些什麼庫都比較簡單,但光會這些庫,我覺得還遠遠不夠)
15、學習wiodows編程主要是學習windows OS和win32 API;
16、有空了解一下嵌入式開發;
17、有空了解一下PDA軟體開發;
18、了解一下.NET框架和C#語言,也許它是你新的衣食父母;
19、要有耐心,不要作浮躁的人; 20、對程序加註釋,並保留你的老程序;
21、學到的東西越多,了解的越多,你就越接近專家;
22、有空去逛逛CSDN,那裡有你很多知己;
23、要有信心成為一個優秀的程序;
(六)一些好書的推薦
1、《The C Programming language》 (Keinighan & Dennis Ritchie 1988)
2、《The C++ Programming Languague》(Bjarne Stroustrup 1997)
3、《Inside The C++ Object Model》 (lippmans)
4、《Effective C++》 (同上)
5、《More Effective C++》 (同上)
6、《Exceptional c++》
7、《C++面向對象高效編程》
8、《設計模式》
9、《Thinking In C++》
10、《The Standard C++ Bible》(一般推薦)
11、《The Art of Computer Programming 》
12、《Programming Windows》 (Charles Petzold)
13、《VC++5.0技術內幕》
14、《MFC 深入淺出》
15、《軟體需求》
16、《Advanced Windows》
17、《C++ primer》
18、《win32程序員參考手冊》
19、《用TCP/IP進行網際互連》
20、《COM 本質論》
(七)學習計劃
――-這個學習計劃是我個人定的,也共享給大家參考一下,共同進步吧。 1、《計算機組成原理》
2、《操作系統》
3、《數據結構》
4、《匯編語言》
5、《 C 》
6、《 C++ 》
7、《VC 技術內幕》
8、《Programming Windows》
9、《深入淺出MFC》
10、《Advanced Windows》
11、《Inside The C++ Object Model》
12、《Thinking in C++》
13、《Effective C++》
14、資料庫
15、網路
16、嵌入式OS和編程
17、硬體單片機
18、.NET和C#
19、軟體工程
20、UNIX和Linux