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