最近很多人都在問(wèn)如何學(xué)習編程。我覺(jué)得學(xué)習編程最重要的是入門(mén),如果你入門(mén)的時(shí)候有一個(gè)好的方法和思路,打下比較扎實(shí)的基礎,對今后的編程工作是很有益處的。即使在學(xué)習新的編程語(yǔ)言也無(wú)所謂,因為它們有很多相通之處,可以相互借鑒。
我認為可以先學(xué)習一下pascal,這個(gè)語(yǔ)言比較嚴謹,適合初學(xué)者。pascal它被稱(chēng)為教學(xué)語(yǔ)言,結構嚴謹,不像C語(yǔ)言那么靈活,易于理解和學(xué)習。 然后可以繼續學(xué)習C語(yǔ)言,這個(gè)語(yǔ)言比較靈活。有了pascal的基礎,在進(jìn)行C語(yǔ)言編程就不會(huì )因為C語(yǔ)言的靈活而有問(wèn)題 。后面的就可以學(xué)習VC什么的了。
C語(yǔ)言的書(shū)推薦譚浩強的,比較好。
我當時(shí)學(xué)習pascal和C語(yǔ)言的時(shí)候是將書(shū)后的習題都做了一遍,感覺(jué)效果很好。
當然了,學(xué)習什么語(yǔ)言也要看你具體準備從事什么行業(yè)。例如你要進(jìn)行嵌入式開(kāi)發(fā),C就是很好的選擇,如果是Windows開(kāi)發(fā),那么VC就不錯。還有數據庫方面的開(kāi)發(fā)、網(wǎng)絡(luò )開(kāi)發(fā)等等。不同的語(yǔ)言適合不同的方面。要看自己的選擇的,呵呵 。
還有很多人說(shuō)自己的基礎很差,甚至中學(xué)畢業(yè)什么的。其實(shí)這個(gè)并不重要,比較說(shuō)英語(yǔ),在計算機語(yǔ)言里所用到的單詞量很少,而且都是常用詞,經(jīng)常使用就記住了。當然,如果你要看原文資料或者幫助的話(huà),專(zhuān)業(yè)詞匯比較多,不過(guò)在金山詞霸的幫助下,經(jīng)常看,也是沒(méi)什么大的問(wèn)題的。至于數學(xué)什么的,其實(shí)數學(xué)只是培養你一個(gè)邏輯思維能力,在初學(xué)編程的時(shí)候影響不是很大。況且,作為一個(gè)基礎編程人員來(lái)說(shuō),上面還有系統分析師、項目經(jīng)理,他們會(huì )把需求分析、概要設計和詳細設計做好的,你只要按照文檔寫(xiě)代碼就OK了。不過(guò),要上更上一步的話(huà),其他基礎知識就非常重要了,畢竟你不能寫(xiě)一輩子代碼。
在你學(xué)習好C語(yǔ)言以后,個(gè)人建議好好學(xué)習一下數據結構和軟件工程。這兩門(mén)對你的水平提高都是很有幫助的。特別是軟件工程,它能夠使你按照科學(xué)的工程方法進(jìn)行軟件開(kāi)發(fā),對今后的發(fā)展很有好處。
只是一家之言,有不到之處,還望見(jiàn)諒!
參考資料:
我覺(jué)得應該根據你的工作需要或者說(shuō)你的發(fā)展方向而定。
基本上兩大類(lèi)吧:C/C++和Java。比如,如果你要做企業(yè)級應用的你應該學(xué)習Java和C#;如果你想做嵌入式,那么應該學(xué)好C語(yǔ)言;其他情況下,在你不知道要做什么之前你可以選擇學(xué)習C/C++。
學(xué)會(huì )這兩大類(lèi)中的一類(lèi),對于你學(xué)習其他語(yǔ)言都將是比較輕松,包括腳本語(yǔ)言,動(dòng)態(tài)語(yǔ)言…… 1、我的入門(mén)是從學(xué)習C語(yǔ)言開(kāi)始的(其實(shí)課程是C++),這是我們學(xué)校的公共課,我上課比較認真(雖然老師講得很差,而且一段時(shí)間后,我就發(fā)現自己的基礎掌握比她好,當然理解深度沒(méi)她好),因此,我認為對于完全沒(méi)有基礎的人而言,聽(tīng)別人講比較容易入門(mén)。當時(shí)的教材是學(xué)校自己編的,挺爛的。
建議一(以C/C++為例),對于剛想進(jìn)入編程的人(就是從來(lái)都沒(méi)有接觸過(guò)編程的人),最好是聽(tīng)課的方式(自己看的話(huà)估計要很慢,而且很痛苦),可以找視頻或者培訓等。C語(yǔ)言推薦入門(mén)教材:譚浩強的C語(yǔ)言,最新版是第三版,不過(guò)第二版應該也可以了(藍色的)。
說(shuō)明一下:堅決不同意直接看K&R的《The C programming language》,這本書(shū)絕對不是初學(xué)者可以看懂的,里面講語(yǔ)法的并不多,語(yǔ)法都是合在程序里面講。不過(guò)這本書(shū)非常好,入門(mén)以后一定要看的一本書(shū)。
當然可以從C++直接入門(mén),C++之父強烈推薦從C++直接入手。C++推薦入門(mén)教材:錢(qián)能的C++(紅色的,清華大學(xué)出版),這本書(shū)第一版不是ISO C++,不過(guò)比較經(jīng)典,作者現在也出了第二版了,第二版好像不是太好。
國外的最好的入門(mén)教材據說(shuō)是:《Acclerated C++》作者是Koenig和Moo夫婦,非常厲害。他們的著(zhù)作還有《c陷阱與缺陷》《c++沉思錄》。
《Acclerated C++》這本入門(mén)的書(shū)我沒(méi)有看過(guò),我覺(jué)得還是先找本國內的書(shū)好好看,看的差不多了,國外的經(jīng)典書(shū)籍隨便看就會(huì )覺(jué)得很有味道,否則你可能會(huì )很受打擊。入門(mén)的書(shū)至少要看兩三遍(要徹底理解哦 ):)。
如果是C++,我建議后面類(lèi)的部分至少要理解三到五遍。說(shuō)明一下,c++模板的部分可以先不用看,如果有興趣的話(huà),等把c++學(xué)的差不多了,我覺(jué)得可以把模板、STL、泛型編程結合起來(lái)學(xué)習,這個(gè)又是一個(gè)很大的工作量了,又得下很大的功夫。
所以說(shuō),C++博大精深啊。建議二、學(xué)習過(guò)程中要結合簡(jiǎn)單的算法,像冒泡還有類(lèi)似c語(yǔ)言程序百例這樣的小例子做做;更進(jìn)一步應該做點(diǎn)大一點(diǎn)的項目,最好是控制臺程序。
或者你已經(jīng)著(zhù)手學(xué)習win32、MFC或linux,你也可以結合平臺做點(diǎn)小的項目。那時(shí)我其實(shí)并沒(méi)有考慮那么多,因為我不是學(xué)計算機的,因此我就把參加一些計算機之類(lèi)的考試當作學(xué)習目標。
我當時(shí)其實(shí)C++語(yǔ)言基礎已經(jīng)很不錯了,但是上機實(shí)踐很少(那時(shí)我沒(méi)有電腦),因此參加省計算機二級,全國計算機三級和全國計算機四級考試,結果上機都沒(méi)有通過(guò)。我很郁悶,二級的時(shí)候是我不知道怎么樣進(jìn)那個(gè)DOS界面把題目調出來(lái),三級的時(shí)候是很快就編好了,也通過(guò)運行了,可是成績(jì)出來(lái)卻不及格,四級的時(shí)候是編好了,可能是我那題目比較難,好像用了兩次循環(huán),結果那破機器竟然承受不了。
后來(lái)一亂就毀了(當然主要是上機太少了)。不過(guò)我那些上機都沒(méi)有去補考。
二級和三級的時(shí)候是自恃水平已經(jīng)遠遠超過(guò)考試要求了(^_^,見(jiàn)笑了,可能是因為等級考試還是比較簡(jiǎn)單的),四級的時(shí)候則因為自己已經(jīng)通過(guò)高級程序員考試,覺(jué)得補考上機好像沒(méi)必要。(我高程和四級都是在2003年考的)。
建議三:定位學(xué)習方向(見(jiàn)附錄一)并好好學(xué)習計算機基礎知識。在你還不確定學(xué)習方向,或者你還在大學(xué)本科期間,那么我認為應該先把計算機的基礎知識好好學(xué)習一下。
我認為計算機必學(xué)的基礎課程而且要精學(xué)——首先是數據結構,其次是操作系統、軟件工程,數據庫。這四門(mén)課不管你將來(lái)想從事哪個(gè)方向的基本上都會(huì )用到。
當然,有時(shí)間的話(huà),其他基礎課都是應該掌握的,離散數學(xué)、組成原理、體系結構、網(wǎng)絡(luò )、編譯原理甚至跨學(xué)科的。方向是很重要的,因為知識其實(shí)是無(wú)限的,一個(gè)小小的領(lǐng)域就夠你研究很久了。
本科生可能還沒(méi)有什么方向的感覺(jué),但是到了研究生你一定要清楚自己到底想要做什么,要往哪個(gè)方面發(fā)展,不要盲目學(xué),瞎學(xué)亂學(xué),否則最后可能看似什么都會(huì ),其實(shí)什么都不會(huì )。我也曾經(jīng)學(xué)習過(guò)Java一段時(shí)間,這篇文章既然是談編程語(yǔ)言的入門(mén)學(xué)習,我也簡(jiǎn)單說(shuō)一說(shuō)。
因為有了比較C++扎實(shí)的語(yǔ)言基礎,所以Java學(xué)起來(lái)比較輕松。我先找了國內一本薄薄的教材很快看了一遍(幾乎都理解,但是只看了一遍),空閑的時(shí)間配合清華張孝詳老師的java視頻。
以后其實(shí)才算我真正要開(kāi)始入門(mén)JAVA的學(xué)習,我用了是《core java》中文第六版(本來(lái)想用候捷翻譯的第二版的《Thinking in Java》,發(fā)現被同學(xué)弄丟了),這本書(shū)我差不多用了20天才把里面的知識都搞懂,當然包括程序風(fēng)格的模擬,最重要的時(shí)我把有關(guān)GUI編程的那三章里面的程序例子幾乎可以默寫(xiě)出來(lái)(當然,那是因為我理解了,其實(shí)這樣就變成了我的知識了),里面的API我也記得差不多了。(說(shuō)明:Java里面的GUI編程沒(méi)什么用處了,建議大家先跳過(guò),GUI不是Java的長(cháng)處,如果以后需要的話(huà)再查手冊或者再。
數學(xué)基礎(高中夠了) 英語(yǔ)基礎(初中夠了) 計算機常識 操作系統:windows dos Lilx 原理(不是簡(jiǎn)單的復制粘貼"原理") 計算機語(yǔ)言:匯編和C/C 軟件方向 或 java網(wǎng)絡(luò )方向之一 再加上其他語(yǔ)言如Pascal或Visual Basic。
軟件工程`知識產(chǎn)權`安全知識`計算機原理`數據庫`多媒體常識`這都是軟件設計師的考綱(上午題)此證由國家人事部發(fā),比重點(diǎn)本科證值錢(qián)(注意:等級上比不上,但在現在的現實(shí)社會(huì )足以)。 若是普通程序員,至少在深圳人才市場(chǎng)看來(lái)都是直接T(踢),除非你是高級程序員。
建議去參考一下北大青鳥(niǎo)集團的培訓,有基礎的一年半即可拿到此證(呵呵~有基礎~但是中國還是不多)。祝你成功。
我認為學(xué)習編程是一件好事,不要認為編程很難,其實(shí)它并不難,不過(guò)之前你得先了解你學(xué)習編程的目的是什么?這個(gè)很重要,因為目的決定你的發(fā)展方向。目前對于編程有很多種編程語(yǔ)言以及相對應的開(kāi)發(fā)軟件,根據你的情況選一種語(yǔ)言進(jìn)行專(zhuān)業(yè)學(xué)習,不要盲亂學(xué)習。編程是一種融匯貫通的東西,學(xué)會(huì )基礎到后邊就越來(lái)越簡(jiǎn)單了。而且可以向多種語(yǔ)言發(fā)展。因為畢竟世上沒(méi)有永遠不過(guò)時(shí)的東西嘛!下面說(shuō)明一些常用的編程語(yǔ)言。
C語(yǔ)言 是一種可移植性和多系統平臺的編程語(yǔ)言
JAVA 是一種功能強大可移植性強的開(kāi)發(fā)語(yǔ)言
HTML 是一種超文本標記語(yǔ)言
Java Script 是一種基于客戶(hù)端的腳本語(yǔ)言
程序語(yǔ)言,顧名思義就是一種語(yǔ)言,是用于交流的,程序就是計算機的語(yǔ)言和人類(lèi)語(yǔ)言的翻譯者,做一個(gè)程序員就是要把人類(lèi)世界的問(wèn)題用計算機的方法去解決和展現,可是因為種種原因,大多數人在如何學(xué)好語(yǔ)言,如何學(xué)好開(kāi)發(fā)平臺上疲于奔命,到頭來(lái)你只會(huì )敲寫(xiě)代碼。如果想做一個(gè)合格的程序員,C++、JAVA、sql、都是一定要學(xué)的,另外,不要去學(xué)你喜歡的,也不要去費勁腦子想該學(xué)什么,看看IT界,IT市場(chǎng)需要什么,你就學(xué)什么。
新手學(xué)編程要從根本出發(fā)
從理論上來(lái)說(shuō),需要廣泛的閱讀,了解算法的博大精深和計算機的基本理論。
從實(shí)踐上來(lái)說(shuō),需要有廣泛的練習,練習的廣泛在于練習不同的內容。
然后就是創(chuàng )新精神和數學(xué)思維能力,這些都是需要培養的。
基礎要打好
學(xué)編程要具備一定的基礎,總結之有以下幾方面:
(1)數學(xué)基礎 、從計算機發(fā)展和應用的歷史來(lái)看計算機的數學(xué)模型和體系結構等都是有數學(xué)家提出的,最早的計算機也是為數值計算而設計的。因此,要學(xué)好計算機就要有一定的數學(xué)基礎,出學(xué)者有高中水平就差不多了。
(2)邏輯思維能力的培養 、學(xué)程序設計要有一定的邏輯思維能力,“思維能力”的培養要長(cháng)時(shí)間的實(shí)踐鍛煉。要想成為一名優(yōu)秀的程序員,最重要的是掌握編程思想。要做到這一點(diǎn)必須在反復的實(shí)踐、觀(guān)察、分析、比較、總結中逐漸地積累。因此在學(xué)習編程的過(guò)程中,我們不必等到什么都完全明白了才去動(dòng)手實(shí)踐,只要明白了大概,就要敢于自己動(dòng)手去體驗。誰(shuí)都有第一次。有些問(wèn)題只有通過(guò)實(shí)踐后才能明白,也只有實(shí)踐才能把老師和書(shū)上的知識變成自己的,高手都是這樣成材的。
(3)選擇一種合適的入門(mén)語(yǔ)言、面對各種各樣的語(yǔ)言,應按什么樣的順序學(xué)呢?程序設計工具不外乎如下幾類(lèi):
1.本地開(kāi)發(fā)應用軟件開(kāi)發(fā)的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;數據庫開(kāi)發(fā)工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。
2.跨平臺開(kāi)發(fā)開(kāi)發(fā)工具如 Java 等。
3.網(wǎng)絡(luò )開(kāi)發(fā)對客戶(hù)端開(kāi)發(fā)工具如:Java Script 等;對服務(wù)器開(kāi)發(fā)工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。以上不同的環(huán)境下幾種開(kāi)發(fā)工具中 VB 法簡(jiǎn)單并容易理解,界面設計是可設化的,易學(xué)、易用。選 VB 作為入門(mén)的方向對出學(xué)者是較為適合的。 (但現在已經(jīng)過(guò)時(shí))
苦逼的工程師,為了設計出性能最好的產(chǎn)品,不停學(xué)習電子通信計算機物理數學(xué)等多門(mén)專(zhuān)業(yè)高難度知識,不斷加班畫(huà)板子寫(xiě)代碼,調試,測試,眼睛累的不停流淚,付出高腦力,高毅力,忍受常人不能忍受的痛苦,拿的卻是最少的報酬。
加班加的什么頭發(fā)白,脫發(fā),頸椎疼,肩周炎,感冒,失眠,視力下降全來(lái)了。國內技術(shù)人地位低啊。
你要想做就去國外留學(xué),找工作不回來(lái)了。國內很多技術(shù)人都改做管理了,當官賺得多,人還舒服。
你想來(lái),可以啊,非常簡(jiǎn)單,先學(xué)好一門(mén)編程技術(shù),入行后沒(méi)本事就做一輩碼農,打工到老還是房奴。有本事就積累點(diǎn)資金自己拉人合伙做老板。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:2.776秒