下面這個可以參考一下,具體還要看個人的情況。
我覺得應(yīng)該根據(jù)你的工作需要或者說你的發(fā)展方向而定?;旧蟽纱箢惏桑篊/C++和Java。比如,如果你要做企業(yè)級應(yīng)用的你應(yīng)該學(xué)習(xí)Java和C#;如果你想做嵌入式,那么應(yīng)該學(xué)好C語言;其他情況下,在你不知道要做什么之前你可以選擇學(xué)習(xí)C/C++。學(xué)會這兩大類中的一類,對于你學(xué)習(xí)其他語言都將是比較輕松,包括腳本語言,動態(tài)語言??呵呵,這里想就自己的學(xué)習(xí)經(jīng)歷和情況給大家一個建議,僅供參考。
1、我的入門是從學(xué)習(xí)C語言開始的(其實(shí)課程是C++),這是我們學(xué)校的公共課,我上課比較認(rèn)真(雖然老師講得很差,而且一段時間后,我就發(fā)現(xiàn)自己的基礎(chǔ)掌握比她好,當(dāng)然理解深度沒她好),因此,我認(rèn)為對于完全沒有基礎(chǔ)的人而言,聽別人講比較容易入門。當(dāng)時的教材是學(xué)校自己編的,挺爛的。
建議一(以C/C++為例),對于剛想進(jìn)入編程的人(就是從來都沒有接觸過編程的人),最好是聽課的方式(自己看的話估計(jì)要很慢,而且很痛苦),可以找視頻或者培訓(xùn)等。C語言推薦入門教材:譚浩強(qiáng)的C語言,最新版是第三版,不過第二版應(yīng)該也可以了(藍(lán)色的)。說明一下:堅(jiā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)該做點(diǎn)大一點(diǎn)的項(xiàng)目,最好是控制臺程序?;蛘吣阋呀?jīng)著手學(xué)習(xí)win32、MFC或linux,你也可以結(jié)合平臺做點(diǎn)小的項(xiàng)目。
2、第一階段是最苦的,接下來相對就知道應(yīng)該怎么去學(xué)習(xí)了。這時候假設(shè)你已經(jīng)有了扎實(shí)的c++基礎(chǔ)。這是你可以選擇也應(yīng)該選擇發(fā)展方向了,做企業(yè)級應(yīng)用,還是系統(tǒng)開發(fā),嵌入式設(shè)計(jì)或者游戲開發(fā)?? 那時我其實(shí)并沒有考慮那么多,因?yàn)槲也皇菍W(xué)計(jì)算機(jī)的,因此我就把參加一些計(jì)算機(jī)之類的考試當(dāng)作學(xué)習(xí)目標(biāo)。我當(dāng)時其實(shí)C++語言基礎(chǔ)已經(jīng)很不錯了,但是上機(jī)實(shí)踐很少(那時我沒有電腦),因此參加省計(jì)算機(jī)二級,全國計(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)超過考試要求了,四級的時候則因?yàn)樽约阂呀?jīng)通過高級程序員考試,覺得補(bǔ)考上機(jī)好像沒必要。(我高程和四級都是在2003年考的)。
建議三:定位學(xué)習(xí)方向,并好好學(xué)習(xí)計(jì)算機(jī)基礎(chǔ)知識。在你還不確定學(xué)習(xí)方向,或者你還在大學(xué)本科期間,那么我認(rèn)為應(yīng)該先把計(jì)算機(jī)的基礎(chǔ)知識好好學(xué)習(xí)一下。我認(rèn)為計(jì)算機(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é)科的。方向是很重要的,因?yàn)橹R其實(shí)是無限的,一個小小的領(lǐng)域就夠你研究很久了。本科生可能還沒有什么方向的感覺,但是到了研究生你一定要清楚自己到底想要做什么,要往哪個方面發(fā)展,不要盲目學(xué),瞎學(xué)亂學(xué),否則最后可能看似什么都會,其實(shí)什么都不會。
編程入門的話你選C語言的話我可以給你點(diǎn)建議。
C語言的入門書籍可以選譚浩強(qiáng)的《C程序設(shè)計(jì)》,很多C語言程序員都是通過譚浩強(qiáng)老師的教程入門的。這本書學(xué)完了可以看下嚴(yán)蔚敏的《數(shù)據(jù)結(jié)構(gòu)》。
另外,學(xué)習(xí)編程需要多練習(xí)。學(xué)編程急不得,上來就學(xué)VC肯定碰一頭灰,說VC難就難在這點(diǎn)上了。
如果硬上,意志堅(jiān)強(qiáng)的話也許能挺過來,但也是會缺乏后勁,不得不回過頭來補(bǔ)習(xí)基礎(chǔ)知識。意志不堅(jiān)強(qiáng)的話,很有可能就此放棄了,并留下一個VC難得不得了的印象。
其實(shí),只要踏踏實(shí)實(shí)一步一步來,VC也就是很簡單點(diǎn)事。在這里我說一下,如果你還只是一個初中生,那么你就應(yīng)當(dāng)仔細(xì)考慮一下了。
首先,限于你的知識和思維能力,學(xué)學(xué)C語言還應(yīng)該沒問題,但要學(xué)VC是要下相當(dāng)大的功夫的。而且,你現(xiàn)在學(xué)到的東西將來一定會過時,所以不如把精力放在算法的研究上,畢竟這些東西永遠(yuǎn)都不會過時。
可以買本教材自學(xué)、也可以跟著教學(xué)網(wǎng)站的教學(xué)課程學(xué)習(xí)。
補(bǔ)充:編程怎么入門及需要什么技能。
1. 需要有一定的數(shù)學(xué)基礎(chǔ)。編程語言首先就是各個算法的羅列。代碼中最重要的往往是對各種數(shù)據(jù)的處理、存儲和應(yīng)用。這里面普遍都會用到數(shù)學(xué)思維。
2. 選擇自己的方向。編程方向有很多種,比如當(dāng)前流行的移動客戶端編程(包括安卓編程和ios編程)、JAVA編程、vs.net編程、和硬件打交道的C語言編程、游戲開發(fā)等等。
3. 入門書很重要。入門往往是從一本由淺入深的教材開始的,現(xiàn)在有很多從入門到精通的教科書,你可以選擇其中一本,認(rèn)真研讀。
4. 基本變量的使用。代碼中的基礎(chǔ)是各種各樣的變量,這些變量是每一句代碼都會用到的,所以一定要牢記變量的定義和用法,至少要了解最常用的一些變量。
1、《深入理解計(jì)算機(jī)系統(tǒng)》從c語言到匯編語言到硬件再到操作系統(tǒng),寫得非常好。
是一本能幫助深入理解計(jì)算機(jī)系統(tǒng)的書?;旧习堰@本書吃透面試操作系統(tǒng)的大部分問題都不是問題。
2、《算法導(dǎo)論(第三版)》被很多acmer coder奉為學(xué)算法的經(jīng)典之作,但不太適合初學(xué)者,因?yàn)樗@本書很多內(nèi)容只提供了偽代碼,而沒有具體實(shí)現(xiàn)。但可以從這本書學(xué)數(shù)據(jù)結(jié)構(gòu)和算法好,因?yàn)槿蘸蟮木幊陶Z言對實(shí)現(xiàn)而言實(shí)際上并沒有特別大的障礙,只是適合與不適合的選擇罷了,而把想法轉(zhuǎn)換成編程語言才是對算法知識的考驗(yàn)。
如果不想太過深入的話可以忽略掉第四部分(高級設(shè)計(jì)和分析技術(shù))第五部分(高級數(shù)據(jù)結(jié)構(gòu))和第七部分(算法問題選編),你會發(fā)現(xiàn)書其實(shí)比你想象中薄很多噢!3、《計(jì)算機(jī)網(wǎng)絡(luò):自頂向下方法》軟件學(xué)院的計(jì)算機(jī)網(wǎng)絡(luò)教材,非常適合初學(xué)者,里面將計(jì)算機(jī)網(wǎng)絡(luò)從頂層到底層逐章分析了一遍,如果能夠結(jié)合一些實(shí)驗(yàn)來輔助理解會更好,因?yàn)槔锩娴闹v解比較抽象。4、《STL源碼剖析》如果你是經(jīng)常用c++刷算法題的同學(xué),那么一定經(jīng)常用STL的各種集合, vector, set, stack, queue等等。
它們的實(shí)現(xiàn)原理,在源碼面前,完全沒有秘密。5、《圖解HTTP》日本人著的介紹HTTP協(xié)議的書,對理解HTTP協(xié)議的一些細(xì)節(jié)有非常大的幫助,插畫也很多,感覺就像看漫畫一樣,很容易理解的。
6、《TCP/IP詳解卷一》這本書能把枯燥的知識講得很細(xì)致,強(qiáng)烈推薦這本,看完相應(yīng)章節(jié)后大概能夠明白為什么TCP/IP要這么設(shè)計(jì)了。面試的時候經(jīng)常問到三次握手和四次揮手,還有各種狀態(tài)的轉(zhuǎn)移, TIME_WAIT的時間為什么是2*MSL······7、《UNIX網(wǎng)絡(luò)編程卷一:套接字聯(lián)網(wǎng)API(第三版)》中文版快800頁,不過我只看了一些章節(jié),這本書也是把TCP/IP的細(xì)節(jié)講得很深很深,此外還有非常重要的基本套接字編程,就是寫網(wǎng)絡(luò)程序的時候那些bind, accept, listen, send, receive函數(shù)之類的,內(nèi)容非常多,但是這些是理解多路復(fù)用模型所需要掌握的······select/poll/epoll這些系統(tǒng)調(diào)用解決了什么問題?事件機(jī)制能不能理解?就看這本書的前六章了。
8、《數(shù)據(jù)庫管理系統(tǒng)(原理與設(shè)計(jì))》這個也是web開發(fā)中離不開的東西,必須劃重點(diǎn)學(xué)會的是ER圖/SQL語句/存儲數(shù)據(jù)(磁盤|文件|RAID|緩沖池等)/三大范式/索引以及相應(yīng)的數(shù)據(jù)結(jié)構(gòu)/事務(wù)相關(guān)的所有概念,尤其重點(diǎn)學(xué)習(xí)SQL 。之后學(xué)會使用mysql workbench來進(jìn)行數(shù)據(jù)庫建模/逆向工程生成建表語句/根據(jù)SQL生成JAVA實(shí)體類等就不贅述了,開發(fā)過程中百度谷歌一下就知道啦,然后如果習(xí)慣在windows下開發(fā)的同學(xué)推薦利用navicat這個好東西。
編程有好多語言的,不知道你要學(xué)哪一種??比如c語言的譚浩強(qiáng)的《C程序設(shè)計(jì)》
先學(xué)c語言 了解類c語言的基本語法 學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法 之后弄明白二進(jìn)制和溢出 接下來了解內(nèi)存和指針 這其中要穿插著學(xué)習(xí) 計(jì)算機(jī)基礎(chǔ) 做到能手寫個鏈表排序 基本算是入門了 有這個基礎(chǔ)找工作還是很難的 之后學(xué)習(xí)一門面向?qū)ο笳Z言C# java C++ 找工作就比較容易了
如果想速成就去報(bào)個班 java的C#的 自學(xué)的話很難尤其是身邊沒有高手 相對的自學(xué)還是還是c語言簡單點(diǎn)(語法部分) 推薦本書譚浩強(qiáng)的《c語言程序設(shè)計(jì)》 之后看看C++或者java的書了解一下面向?qū)ο笳Z言的重要特性和高級語言的重要元素
其實(shí)到最后 除了特別偏的語言之外 很多語言都是“差不多”的 不外乎數(shù)據(jù)結(jié)構(gòu)和算法 語法不會寫查一下api或者問一下就搞定了 重要的是設(shè)計(jì)模式和業(yè)務(wù) 高級程序員重設(shè)計(jì)懂業(yè)務(wù) 代碼
程序員最好會點(diǎn)linux 如果學(xué)習(xí)c或者java的 建議使用linux平臺 如果想從事linux相關(guān)行業(yè) 最好會python(和java很想 在linux下有取代java的趨勢)
到你找工作的時候最好能在你簡歷上這么寫
熟悉java/C# 了解c/c++
熟悉常用基本算法和數(shù)據(jù)結(jié)構(gòu)
熟悉linux命令 熟悉或了解python
如果是web開發(fā)還要熟悉前臺重要技術(shù) CSS DIV javascript 等
如果是wen開發(fā)最好有項(xiàng)目經(jīng)驗(yàn)
入門書籍
程序設(shè)計(jì):
基礎(chǔ)理論:編碼:隱匿在計(jì)算機(jī)軟硬件背后的語言
C:C和指針
C++:C++程序設(shè)計(jì)原理與實(shí)踐
Java:Java核心技術(shù)(第9版)
C#:精通C#(第6版)
JavaScript:JavaScript DOM編程藝術(shù)(第2版)
Python:Python基礎(chǔ)教程(第二版)
編程語言理論:編程語言實(shí)現(xiàn)模式
程序設(shè)計(jì):程序設(shè)計(jì)方法
算法與數(shù)據(jù)結(jié)構(gòu):算法(第4版)
程序調(diào)試:調(diào)試九法——軟硬件錯誤的排查之道
軟件開發(fā):
編程實(shí)踐:程序設(shè)計(jì)實(shí)踐
面向?qū)ο蟪绦蛟O(shè)計(jì):Head First設(shè)計(jì)模式
重構(gòu):重構(gòu)
軟件測試:How to Break Software
項(xiàng)目管理:極客與團(tuán)隊(duì)
專業(yè)開發(fā):程序員修煉之道:從小工到專家
大師之言:奇思妙想:15位計(jì)算機(jī)天才及其重大發(fā)現(xiàn)
界面設(shè)計(jì):寫給大家看的設(shè)計(jì)書
交互設(shè)計(jì):通用設(shè)計(jì)法則
個人成長:
職業(yè)規(guī)劃:軟件開發(fā)者路線圖
思維方式:程序員的思維修煉:開發(fā)認(rèn)知潛能的九堂課
求職面試:金領(lǐng)簡歷:敲開蘋果微軟谷歌的大門
英語寫作:The Only Grammar Book You'll Ever Need
必讀書籍
基礎(chǔ)理論:深入理解計(jì)算機(jī)系統(tǒng)(第2版)
編程語言:
C:C程序設(shè)計(jì)語言(第2版)
C++:C++程序設(shè)計(jì)語言(第4版)
Java:Effective Java(第2版)
C#:CLR via C#(第4版)
JavaScript:JavaScript語言精粹
Python:Python參考手冊(第4版)
編程語言理論:程序設(shè)計(jì)語言——實(shí)踐之路(第3版)
程序設(shè)計(jì):計(jì)算機(jī)程序的構(gòu)造與解釋(第2版)
算法與數(shù)據(jù)結(jié)構(gòu):編程珠璣(第2版)
程序調(diào)試:調(diào)試九法——軟硬件錯誤的排查之道
編程實(shí)踐:代碼大全(第2版)
面向?qū)ο蟪绦蛟O(shè)計(jì):設(shè)計(jì)模式
重構(gòu):修改代碼的藝術(shù)
軟件測試:xUnit Test Patterns
項(xiàng)目管理:人月神話
專業(yè)開發(fā):程序員職業(yè)素養(yǎng)
大師之言:編程人生:15位軟件先驅(qū)訪談錄
界面設(shè)計(jì):認(rèn)知與設(shè)計(jì):理解UI設(shè)計(jì)準(zhǔn)則(第2版)
交互設(shè)計(jì):交互設(shè)計(jì)精髓(第3版)
職業(yè)規(guī)劃:軟件開發(fā)者路線圖
思維方式:如何把事情做到最好
求職面試:程序員面試金典(第5版)
英語寫作:風(fēng)格的要素
四大名著之《Java核心技術(shù)(第10版)》
提起Java入門必讀,四大名著是少不了的?!禞ava 核心技術(shù)》就是其中之一,分卷一、卷二兩冊,卷一講基礎(chǔ),卷二為進(jìn)階。全書對于Java語言的核心概念、語法、重要特性和開發(fā)方法講解地非常細(xì)致,可以說是一部有關(guān)Java的百科全書。
四大名著之《EffectiveJava中文版(第 2 版)》
“神書”、“整本書都是精華”、“內(nèi)容永不過時”、“Java 程序員必讀”……這些標(biāo)簽都是屬于《Effective Java中文版》的。
這本書不是講理論基礎(chǔ)的,而是講實(shí)戰(zhàn)的。書中介紹了78條極具實(shí)用價值的經(jīng)驗(yàn)規(guī)則,涵蓋了大多數(shù)開發(fā)人員每天所面臨的問題的解決方案,并且通過代碼例子進(jìn)一步進(jìn)行佐證,讓你知其然,也知其所以然。
哪怕不是Java程序員,也能買來看看,書中絕妙的編程觀是跨語言、跨平臺的。
四大名著之《Java 編程思想(第 4 版)》
這同樣是一本Java領(lǐng)域的經(jīng)典書籍,從Java編程的基礎(chǔ)知識點(diǎn)開始講起,慢慢深入,一直到Java的高級特性。作者用了大量通俗易懂的代碼對理論進(jìn)行佐證,讓讀者在實(shí)際操作中可以深入理解操作符、枚舉類型、接口等相關(guān)知識。
這是一本被廣大讀者評價為“不管什么時候閱讀都會有收獲”的書,不論你是否剛接觸 Java,都可以在閱讀中獲得啟迪。
《深入理解Java虛擬機(jī):JVM 高級特性與最佳實(shí)踐(第 2 版)》
用Java卻不懂JVM是說不過去的,但市面上有關(guān)JVM 的書很少,這本書更是少有的國內(nèi)講解此方面?zhèn)涫芎迷u的書,甚至可以說是JVM書籍最好的讀物之一。
本書整體內(nèi)容更偏向?qū)崙?zhàn),難易適中。從內(nèi)存管理、執(zhí)行子系統(tǒng)、程序編譯與優(yōu)化、高效并發(fā)等核心主題講解JVM。第2版根據(jù)JDK1.7進(jìn)行了內(nèi)容升級,整體上不光適合入門,而且對于已經(jīng)接觸JVM的人來說,也會常讀常新。
《Java語言程序設(shè)計(jì)(基礎(chǔ)篇)(原書第 10 版)》
這應(yīng)該是很多程序員,尤其是Java程序員倍感親切的書,因?yàn)檫@本書可以說是他們當(dāng)中很多人的入門初心。
本書從最基本的程序理論知識出發(fā),哪怕你完全沒有Java基礎(chǔ),也可以通過這本書了解Java基本的程序設(shè)計(jì)、語言結(jié)構(gòu)、面對對象程序設(shè)計(jì)等知識。書中還配了大量的代碼和課后習(xí)題,讓讀者在了解有關(guān)Java的基礎(chǔ)知識的時候,也能進(jìn)行實(shí)踐深入理解。
非常適合零基礎(chǔ)、Java 和編程愛好者來讀。
《Java 高并發(fā)編程詳解:多線程與架構(gòu)設(shè)計(jì)》
全書主要分為四個部分:第一部分主要闡述Thread的基礎(chǔ)知識;第二部分引入了 ClassLoader; 第三部分詳細(xì)、深入地介紹volatile關(guān)鍵字的語義;第四部分也是最重要的一部分,站在程序架構(gòu)設(shè)計(jì)的角度深入講解了如何設(shè)計(jì)高效靈活的多線程應(yīng)用程序。
上述就是推薦的幾本學(xué)Java要看的書籍。
看書貴精不貴多,從基礎(chǔ)開始。
我計(jì)算機(jī)專業(yè),大一時我們開了C語言,就是清華出的《C語言程序設(shè)計(jì)(第二版)》,譚浩強(qiáng)的。
后來就一直沒開專業(yè)課,直到現(xiàn)在大二。
我曾經(jīng)想試著看《匯編原理》、看《計(jì)算機(jī)組成原理》,可是一遇到有不會的心里就很不踏實(shí)。本來我自認(rèn)為自學(xué)能力很強(qiáng),以前遇到不會的仔細(xì)鉆研一下就能把問題解決,從來沒有覺得有什么不踏實(shí)。
后來終于明白,自己的基礎(chǔ)太差,也就是C語言沒有學(xué)好。沒學(xué)好時就又去學(xué)別的,難免會一樣也學(xué)不成。所以現(xiàn)在又重新拾起C語言開始啃,也常來論壇交流,覺得受益良多。
所以建議每位想學(xué)好編程的人,一定要學(xué)一門通一門,不要馬馬虎虎了事就去學(xué)別的。再就是基礎(chǔ)很重要。
說了這些都是自己的一點(diǎn)點(diǎn)體會,不知對不對??梢怨餐接憽?
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請?jiān)谝粋€月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:3.488秒