1. 如何快速優秀程序員(指:學習方法)
很多人對學習C語言感到無從下手,經常問我同一個問題:究竟怎樣學習C語言?我是一個教師,已經開發了很多年的程序,和很多剛剛起步的人一樣,學習的第一個計算機語言就是C語言。經過這些年的開發,我深深的體會到C語言對於一個程序設計人員多麼的重要,如果不懂C語言,你想寫底層程序這幾乎聽起來很可笑,不懂C語言,你想寫出優秀高效的程序,這簡直就是天方夜譚。為什麼C語言如此重要呢? 第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,很便於描述演算法,大多數的程序員願意使用C語言去描述演算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。第二:C語言能夠讓你深入系統底層,你知道的操作系統,哪一個不是C語言寫的?所有的windows,Unix,Linux,Mac,os/2,沒有一個里外的,如果你不懂C語言,怎麼可能深入到這些操作系統當中去呢?更不要說你去寫它們的內核程序了。第三:很多新型的語言都是衍生自C語言,C++,java,C#,J#,perl...哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經過簡單的學習,你就可以用這些新型的語言去開發了,這個再一次驗證了C語言是程序設計的重要基礎。還有啊,多說一點:即使現在招聘程序員,考試都是考C語言,你想加入it行業,那麼就一定要掌握好C語言。那麼究竟怎樣學習C語言呢?1:工欲善其事,必先利其器這里介紹幾個學習C語言必備的東東:一個開發環境,例如turbo C 2.0,這個曾經占據了DOS時代開發程序的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程序起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。一本學習教程,現在C語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,並且內容也很精到。除此以外,現在有很多輔助學習的軟體,畢竟現在是Window時代了,學習軟體多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個「集成學習環境(C語言)」,里邊的知識點總結和常式講解都非常好,還有題庫測試環境,據說有好幾千題,甚至還有一個windows下的trubo C,初學者甚至不用裝其它的編譯器,就可以練習編程了,非常適合初學者。還有一個「C語言學習系統」軟體,不過感覺只是一個題庫系統,如果你覺得題做的不夠,不妨也可以試試。 2:葵花寶典學習計算機語言最好的方法是什麼?答曰:讀程序。沒錯,讀程序是學習C語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的常式。當然,對於沒有學過任何計算機語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然後不放過這一章中提到的所有常式,然後仔細研讀程序,直到每一行都理解了,然後找幾個編程題目,最好是和常式類似的或一樣的,自己試圖寫出這段已經讀懂的程序,不要以為常式你已經讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續研究常式,想想自己為什麼寫不出來,然後再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。3:登峰造極寫程序的最高境界其實就是掌握各種解決問題的手段(數據結構)和解決問題的方法(演算法)。是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬體的結構,況且硬體和硬體還不一樣,要給一個晶元寫驅動程序,無非就是掌握這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這不過是熟悉一些io函數罷了。那麼怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?舉個例子:你面前有10個人,找出一個叫「張三」的人,你該怎麼辦?第一種方法:直接對這10個人問:「誰叫張三」。第2種方法:你挨個去問「你是不是張三?」,直到問到的這個人就是張三。第三種方法:你去挨個問一個人「你認不認識張三,指給我看」。不要小看這個問題,你說當然會選第一種方法,沒錯恭喜你答對了,因為這個方法最快,效率最高,但是在程序設計中找到解決問題的最優方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。剛才這個問題類似於數據結構和演算法中的:Map數據結構,窮舉查找和折半查找。所以掌握好數據結構和一些常用演算法,是登峰造極的必然之路。最後給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程序設計高手的人研讀此書
2. 程序員自學編程的6種方法,高效學習
1、最好的學習方式
對干初學者來說,可以採用視頻+書籍的方式進行學習。這兩種方式形成互補關系。另外閱讀代碼也可以幫助你解決問題,了解最佳做法,這里的閱讀代碼是指書籍,指芹皮博客文章,開源代碼等等。編程教學視頻可以讓你迅速掌握編程語法等等,但通常比較生動、淺顯,不成系統。而書本是比較系統,深入,但是枯燥,所以最好的方法是書和視頻結合。
但在閱讀代碼後,你需要自己實際去寫代碼。可以是任何東西。可以是小的編碼任務或者是一個小模塊,必須確保你能將之付諸干實踐,並用某種方式使用你學到的東西。如果你不這樣做,你會發現自己面對編輯器會無從下手。知識等待使用的時間越長,知識這把斧頭就越鈍。等待學習新知識的時間越久,你就越難以將其融入到代碼中。
2、入門期堅持學習
自學編程難免遇到這種現象:學了一兩個月,發現自己會的不多。編程在一開始不會有那麼大的反饋,這種現象非常正常!關鍵是你要堅持個三個月到半年的時間,熬過這個艱難的入門期。推薦三件事情以避免僵局。第一是試著閱讀更多關干技術的文章,並總體掌握正在發生什麼。通常,當你陷入困境時,意味著你對需要澄清的事情做出了不正確的假設。
第二是咨詢互聯網。這一點很顯然是值得一提。在網上查找並詢問有過這個問題的人是一個非常重要的技能。Stackoverflow可以說是互聯網上最好的網站。不要害怕在那裡問自己的問題。通常,只要盡力正確地闡述你的問題就OK7。小編的第三個建議是向你認識的人請求幫助。
3、初學者盡量不要鑽牛角尖
對幹人生來說,其中任何目標的實現都離不開耐心。編程學習就如其它任何學習任務一樣,都需要反復努力並投入大量時間。如果遇到難題,耗了半天時間還是沒弄懂,可以暫時跳過,知識積累到一定程度,回頭再進行解決你會發現簡單多了。不要一味的去鑽牛角尖,一定要解決,這樣會耗費大量的時間與精力。
4、尋找良師益友
學習編程的一個很好的方法就是和其他的程序員交談。不必談論任何特定的內容。可以是你正在學習的東西,也可以是你認為很酷的東西,更可以是你正在工作的東西,皆可。你會發現很多程序員並不喜歡只是聊編程。這樣做可能會讓你學到很多關干庫,伺服器,編程語言和模式方面的知識。
但是,最重要的是,你將了解到其他人是如何看待編程的。你會發現,你認為理所當然或從來沒有考慮的事情在人與人之間是非常不同的。還有你遇到的那些小問題,已經有無數前輩也曾遇到過,他們總結了並分享在互聯網上了,前人的經驗是你的寶貴資源,要善干利用谷歌等軟體。
5、有目的的練習
不要想著學習完就可以賺1W+這樣很容易放棄編程,編程語言是一個很大的知識庫,需要你不斷的學習。最好是奔著一個小項目而學習編程,當你把作品做出來了,有7成就感,同時基本上具備找工作的能力,就找個初級的開發崗位,再進階,你的自學之路功與名都有了。沒有什麼可以與工作干自己的項目以學習編程更有用的了。
有了一個點子並試圖實現這個點子是非常具有挑戰性的。它需要很強的自律心及耐心。但是,通過嘗試實際做一件事情,你可以學到如何分解問題並應用技術。你面對的各種問題,以及你如何解決它們才真正是唯差所謂的編程。此外,想要完成項目的驅動力首毀是繼續學習的動力。從業余項目獲得的滿足感遠遠超過你在抽象中學習東西的滿足感。
6、完美主義者和搬運工的區別
編程是一門手藝,需要反復練習,脫離書本和視頻看是否能獨立實現?學到最後的境界無非就是:我亦無他,惟手熟爾。有兩種類型的程序員,完美主義者和搬運工。有些人希望一切都是正確的,他們希望完美,他們希望遵循所有的最佳實踐,並寫出漂亮的優雅的代碼。
他們想要理解每一行代碼。有別干那些不管三七二十一,只要自己的代碼能工作即可,即使對代碼庫有損害的人。平衡這兩種技能是非常重要的。有時你應該深入鑽研一個問題或項目,看看發生了什麼。有時你應該讓它工作即可,即使你不知道發生了什麼。
3. 電腦程序員怎麼學
計算機編程的學習過程雖然具有一定的難度,但是只要有一個系統的學習規劃,大部分人都能學得會。對於初學者來說,可以按照以下步驟完成編程入門:
第一:選擇一門編程語言。雖然目前編程語言有600種左右,但是比較流行的編程語言只有幾十種,所以盡量選擇流行程度比較高的編程語言來入門編程。對於沒有明確編程場景的初學者來說,盡量選擇全場景編程語言,比如Java、Python、C#等就是不錯的選擇,不僅應用范圍廣泛,而且也有大量的開發案例可以參考學習。
第二:建立基本的編程思想。編程語言本身的難度並不高,只要掌握了相應的編程規則就能逐漸建立起自己的編程思想。建立編程思想的第一步是了解編程語言的基本語法規則,以Java語言為例,要掌握各種抽象概念,比如類、對象、屬性、方法等;第二步是了解基本的編程過程,比如類的定義、對象的創建、方法的調用;第三步是學習經典的編程模式。
第三:注重實驗。學習編程語言一定要重視實驗,實驗不僅能夠幫助理解各種抽象概念,也能在一定程度上積累編程經驗。
最後,在學習編程語言的過程中,也需要同時學習計算機網路、資料庫等相關知識,在當前的雲計算和大數據時代背景下,還需要掌握如何通過雲計算(PaaS)來輔助開發,以及如何利用大數據平台的各種資源。
4. 怎樣做一名高效率程序員
1、理解編程語言的原理
三流的人才懂應用,二流的人才懂開發,一流的人才懂原理。各種語言之間存在著相似的地方,掌握語言的原理是必不可少的。最重要的,讓語言去適應項目,反之亦然。
2、向優秀程序員學習
你有一個蘋果,我也有一個蘋果,我們交換蘋果,你我還是有一個蘋果;你有一種思想,我也有一種思想,我們交換思想,你我就有了兩種思想。
與優秀的程序員為伍,你將吸收的最實用的經驗,這遠比你一個人自學、死磕編程來的快一些。有一句話說到好,與臭棋佬下棋,棋會越下越臭。不可否認這樣一個事實:和什麼樣的人在一起,就有什麼樣的格局,就會有什麼樣的人生。
3、了解數據結構和演算法
如果你要成為一個高效的開發者,就必須學會快速排序、學會辨認O(n2)程序、學會編寫遞歸函數。
學會多種語言,你便會更清楚不同的框架是相同問題的是如何解決的。盡可能去了解底層命令(plumbing),以便能夠作出明智的決定(Web框架是怎麼存儲session狀態的?Cookie到底是什麼?)。
4、精通一個編輯器
高效開發者通常是用IDE編輯器嗎?其實不是的,他們更常用的文本編輯器,因為這樣更會學到東西。
如果使用編輯器選擇通用的Emacs或Vim,自然是最好的。其次,挑選你的首選平台最支持的。使用宏,不斷地寫代碼;使用Visual Studio或SublimeText的自動補齊功能。
5、整潔的代碼勝過巧妙的代碼
如果想讓別人可以輕松讀懂你編寫的代碼,請盡量使用最少的代碼來完成任務。在編寫代碼過程中,遵循DRY(Don』t repeat yourself)的原則,使用明確定義的對象和庫,將任務分解成小而簡單的代碼段。
6、掌握代碼調試技巧
現如今市場和需求變化相當快,項目的周期有時就會縮短。一個月的工作計劃,會縮短到2個星期。項目的壓力難免會導致程序員的代碼質量會有所下降!
因此,調試技巧在這樣的環境下就顯得尤為重要。高級程序員會在函數的開始和結束輸出Log,把所有的參數和返回值列印到日誌系統,便於追蹤。在解決問題的過程中,使用開發工具一行一行進行調試,實時觀看參數的變化。
7、重新回顧代碼
重新去回顧和審視自己寫過的代碼,通常會有兩種體驗,一種是我怎麼寫了這么爛的代碼;另外一種則是對自己寫過的代碼充滿了成就感。回顧代碼有時可以觸發我們新的想法,甚至還能對編碼有一個更深層次的思考。
5. 一直覺得計算機編程很難,有什麼好的學習方法
最好是邊學邊練,遇到問題有人解答,程序員主要就是敲代碼,多做項目比較好,有問題遇到了先自己解決,不行了再問老師。自學的話自己找一些資料,最好全套,帶項目,可以到尚學堂官網下載免費的資料。
很多人剛開始接觸計算機編程時,覺得編程很難!其實計算機編程並沒有你們想像中的那麼難,之所以你們覺得很難,是因為你們剛開始接觸一門比較抽象且枯燥無味的新鮮學科,一時無法理解它,說實話,計算機編程入門還是比較容易的,但是想要精通,成為編程高手就沒那麼容易了。
下面分享一些學習經驗及技巧吧:
(1)計算機編程語言有很多,C語言、C++、C#、java、Python、php、VB以及資料庫開發語言SQL、VisualBasic等,根據個人喜愛及學習目的進行選擇吧。學習嵌入式系統開發軟體、硬體底層編程著重以C語言為主,比如單片機、DSP、ARM、PowerPC等編程都是以C語言為主;若想學習安卓系統程序開發,則學習java;若想學習人工智慧、爬蟲、數據分析、Web開發等,建議學習Python。java、Python以及php是目前最流行的語言,若想學習計算機編程,可從其中一門學起,只有好處沒有壞處,可以用得到的地方很多。
(2)學習計算機編程,不要光看書,要多動手!計算機編程屬於一門技能,只有多動手敲代碼才能熟能生巧。遇到想不明白的地方不要氣餒,要有一種求知慾,可以網上多查閱資料,看得多了慢慢就掌握了。看不懂可以到一些比較知名的計算機編程論壇學習,論壇上會有很多編程技術以及相關經驗分享,或者網上找一些免費的教學視頻,跟著視頻學習,比如網路傳課、網易雲課堂、騰訊課堂等,有很多免費的視頻教學。
(3)感覺自己理解得差不多了之後,最好找一些相對比較簡單項目,自己變成開發一個系統,實現相應的功能,不但能夠檢驗自己的水平,還能提高自己對編程的興趣。
總結:計算機編程就是一門計算機語言,多看、多動手、多練習,慢慢就會覺得編程其實並沒有想像中的那麼難了。學習一門技術可不是三兩天就能學會的,只要自己能夠沉得住氣,靜下心來學習,其實並不難。
以上是本人的回答,答題不易,如果覺得還可以別忘了點個贊哦!若還有什麼不明白的地方請評論區下方留言,若想了解更多相關知識,請關注本頭條號,會持續更新內容,謝謝支持!
1、興趣是最好的老師
建議先找個老師,帶你看下編程實現的一些案例之美,不要太復雜的例子。簡單點就行,比如:從1000個Excel中提取特定字元串列、實現某些自動化任務。這些如果是人工手工去做,可能要多個人要花好幾天才能完成,完成的結果可能因人為疏告清陪忽,還存在遺漏錯誤等情況。用程序實現結果准確無誤,可能幾個小時就完成了。從而發現編程的強大之處,感覺編程解決了某個問題好有成就感,興趣爆增^_^。
2、跟著案例學習
首先,認識下語言的基礎語法、關鍵詞,變數、流程式控制制語句之類的。這些知識做下筆記,因為比較枯燥乏味。要常用才會越用越熟悉,否則這周你記得,一個月後就忘記差不多了。
其次,了解案例的實現思路。具體代碼如何實現的,進而理解代碼模仿代碼。從而調試代碼的執行流程,數據流向等。
再次,根據自己的思想,改寫代碼以實現自己想要的另一個功能。這點很重要,編程不是一味的模仿,需要有自己的思想。能實現自己的功能,基本上你已經算入門了,恭喜恭喜(^_^)。
3、保持耐心
不建議初學者按照填鴨式的一張一張的學習編程基礎,如數據結構、離散數據進制轉換等,這些知識非常的枯燥,不需要全部學習。了解其含義認識就行。後面學習案例的時候,遇到了在回到基礎教程中學習就行。這樣印象更深刻,而且深刻認識到這個知識點的應用。而且書本上基礎知識基本講的非常全面,你所在領域編程可能只用到其中的40%知識,好的可能你用不到。初學者填鴨式的學習很容易失去信心而放棄。襪蠢
學習過程當持之以恆,切忌三天打魚。當然在這個過程肯定有高潮與低谷,要喜歡適當放鬆解壓,勞逸結合。
4、其他建議
廣交良師益友,你能獲得更多的思維方式,擴展你的眼界與人脈。
寫技術文章、博客等,人的記憶力是有限的,很多我們非常熟悉的知識,長期不用就會進入慢慢的遺忘區,查看筆記我們能很快的恢復記憶。
多閱讀別人的代碼,從而借鑒優化自己的代碼,多參與開源項目,編程實現自己的一些想法,提高自己解決問題的能力。
樹立一個觀念,在人使用正租的語言和機器使用的語言之間做對比,機器語言很死板很簡單。
首先:凡事覺得編程麻煩的基本都是因為基礎不好,靜下心來,把所有的基礎打扎實,從最基礎的語句、演算法、結構等牢牢抓住。
第二:任何復雜的程序都是由基礎的演算法構成,在做大的工程之前懂得把框架設計好,每一個模塊功能話,久而久之,你腦子里就會形成一種概念,但凡再遇到類似的東西,瞬間就有了思路,至於邊邊角角的語法和是否美觀,也要在一次次編程中養成良好的代碼習慣
計算機編程有很多方面,你最好簡單了解下編程的方向(這個可以上網了解下),在決定學習哪方面的編程,一般方向確定後,你可以選擇自學(這個時間成本還是很高的,而且你要能管住你自己):也可以找個好的培訓機構。
6. 怎麼學習編程
學編程會有以下逐步學習的過程:
1.熟練掌握Java Web程序開發
2.熟練掌握MVC框架的企業級開發
3.熟練掌握資料庫面向對象的開發
4.Linux系統原理、常用命令、Shell腳本編程/Unix系統原理
5.熟練掌握軟體大型化,切面化,多視圖技術。
6.企業級軟體標准化作業流程
建議樓主找一家好的電腦培訓學校學習,這樣才可能比較好的學到你想學的知識。我覺得新華電腦不錯,我在裡面進行過短期培訓。我認為學校最好的地方在於都是從基礎開始授課,這樣也不用擔心自己基礎不好而跟不上了。你可以去了解下,希望能幫到你。
7. 程序員應該怎麼學習
如果是想通過自學的方式、而不是上外面的各種培訓班的方式來學習編寫程序的話(在這里以 C 語言為例),那麼最、最簡單易行的方法就是:在自己的 WINDOWS XP 系統下面,安裝一個 Microsoft Visual Studio C++ V6.0 編程環境。然後再購買一本豎謹難度適合自己的 C 語言教材,按照教材上面的每一章例題、以及每一章後面的練鎮帆習題,親御纖雹自把書上的每一個源程序輸入到電腦中,親自上機編譯、體會、調試通過、並運行每一個源程序。只有這樣,你的編程水平才能夠在一個較短的時間內,有一個較大的提高。
但是在這里有一個問題必須要注意的就是:任何一種高級語言(C、C++、Python、JAVA等)都只不過是一種編程工具而已,如果將來希望能夠勝任大型軟體開發工作,那麼還必須要學習計算機軟體專業的相關課程,例如:計算機操作系統、數據結構(各種排序演算法、以及查找演算法)