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