{eval=Array;=+count(Array);}
你好,很高興能回答你這個(gè)問題。首先您是零基礎(chǔ)人員,所以想要學(xué)習(xí)編程語言需要清楚每一門編程語言所對(duì)應(yīng)的市場以及行業(yè),因?yàn)椴煌木幊陶Z言所運(yùn)用的行業(yè)也是不一樣的。我個(gè)人通過行業(yè)不同而對(duì)你進(jìn)行不同編程語言以及書籍的推薦:
1、JAVA語言及書籍
Java目前仍然是市場主流的編程軟件之一,其應(yīng)用范圍較廣,比如開發(fā)常用的桌面應(yīng)用軟件,開發(fā)大型的商業(yè)網(wǎng)站以及安卓等等方向,都可以選擇JAVA語言。書籍的話,個(gè)人幫你推薦幾本:
(1)《Java開發(fā)實(shí)戰(zhàn)經(jīng)典》
(2)《Java編程思想》
(3)《Java核心技術(shù)》
2、C#語言及書籍
C#作為背靠微軟的 開發(fā)語言,目前在仍然占有較大的市場,隨著工業(yè)2025和自動(dòng)化時(shí)代的到來,快速開發(fā)已經(jīng)成為開發(fā)領(lǐng)域的追求,利用C#語言開發(fā),效率方面較之高很多。書籍方面,個(gè)人推薦如下幾本書籍:
(1)《C#高級(jí)編程(第9版)》
(2)《C#編程全能詞典》
(3)《C#敏捷開發(fā)實(shí)踐》
3、Python語言及書籍
Python語言是近年來比較火的一種開發(fā)語言,面對(duì)人工智能,Python將發(fā)揮超強(qiáng)的本領(lǐng),同樣也能對(duì)數(shù)據(jù)采集與分析做的更好。書籍方面,個(gè)人推薦如下:
(1)《Python編程 從入門到實(shí)戰(zhàn)》
(2)《Python基礎(chǔ)教程》
(3)《笨辦法學(xué)Python》
4、Web語言及書籍
(1)《HTML5+CSS3從入門到精通》
(2)《CSS權(quán)威指南》
(3)《JavaScript高級(jí)程序設(shè)計(jì)第三版》
5、重量級(jí)書籍-數(shù)據(jù)庫
想要學(xué)習(xí)編程語言,數(shù)據(jù)庫是必備技能,幾乎每一個(gè)編程人員都會(huì)數(shù)據(jù)庫,而且有些大佬掌握不=只一種數(shù)據(jù)庫,對(duì)于新手,個(gè)人推薦兩種:
(1)《MySQL必知必會(huì)》
(2)《SQL Server 2012編程入門經(jīng)典》
總的來說,想要學(xué)習(xí)一門編程語言,必須要了解清楚自己想要的市場和對(duì)應(yīng)的語言,那樣才能針對(duì)性的、更好的學(xué)習(xí),加油吧,一起進(jìn)入編程的樂趣當(dāng)中來。
學(xué)習(xí)Python的話,可以搜一下視頻教程或是報(bào)一個(gè)線下的編程課;看書的話不推薦太枯燥了;網(wǎng)上有很多Python的入門課程,價(jià)格的話也還可以。根據(jù)自己的實(shí)際情況選擇一下。
面這個(gè)可以參考一下,具體還要看個(gè)人的情況。
我覺得應(yīng)該根據(jù)你的工作需要或者說你的發(fā)展方向而定?;旧蟽纱箢惏桑篊/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)語言??呵呵,這里想就自己的學(xué)習(xí)經(jīng)歷和情況給大家一個(gè)建議,僅供參考。
1、我的入門是從學(xué)習(xí)C語言開始的(其實(shí)課程是C++),這是我們學(xué)校的公共課,我上課比較認(rèn)真(雖然老師講得很差,而且一段時(shí)間后,我就發(fā)現(xiàn)自己的基礎(chǔ)掌握比她好,當(dāng)然理解深度沒她好),因此,我認(rèn)為對(duì)于完全沒有基礎(chǔ)的人而言,聽別人講比較容易入門。當(dāng)7a64e58685e5aeb931333365666233時(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)在也出了第二版了,第二版好像不是太好。國外的最好的入門教材據(jù)說是:《Acclerated C++》作者是Koenig和Moo夫婦,非常厲害。他們的著作還有《c陷阱與缺陷》《c++沉思錄》?!禔cclerated C++》這本入門的書我沒有看過,我覺得還是先找本國內(nèi)的書好好看,看的差不多了,國外的經(jīng)典書籍隨便看就會(huì)覺得很有味道,否則你可能會(huì)很受打擊。入門的書至少要看兩三遍(要徹底理解哦 ):)。如果是C++,我建議后面類的部分至少要理解三到五遍。說明一下,c++模板的部分可以先不用看,如果有興趣的話,等把c++學(xué)的差不多了,我覺得可以把模板、STL、泛型編程結(jié)合起來學(xué)習(xí),這個(gè)又是一個(gè)很大的工作量了,又得下很大的功夫。所以說,C++博大精深啊。
建議二、學(xué)習(xí)過程中要結(jié)合簡單的算法,像冒泡還有類似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)目。
2、第一階段是最苦的,接下來相對(duì)就知道應(yīng)該怎么去學(xué)習(xí)了。這時(shí)候假設(shè)你已經(jīng)有了扎實(shí)的c++基礎(chǔ)。這是你可以選擇也應(yīng)該選擇發(fā)展方向了,做企業(yè)級(jí)應(yīng)用,還是系統(tǒng)開發(fā),嵌入式設(shè)計(jì)或者游戲開發(fā)?? 那時(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í),全國計(jì)算機(jī)三級(jí)和全國計(jì)算機(jī)四級(jí)考試,結(jié)果上機(jī)都沒有通過。我很郁悶,二級(jí)的時(shí)候是我不知道怎么樣進(jìn)那個(gè)DOS界面把題目調(diào)出來,三級(jí)的時(shí)候是很快就編好了,也通過運(yùn)行了,可是成績出來卻不及格,四級(jí)的時(shí)候是編好了,可能是我那題目比較難,好像用了兩次循環(huán),結(jié)果那破機(jī)器竟然承受不了。后來一亂就毀了(當(dāng)然主要是上機(jī)太少了)。不過我那些上機(jī)都沒有去補(bǔ)考。二級(jí)和三級(jí)的時(shí)候是自恃水平已經(jīng)遠(yuǎn)遠(yuǎ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ù)庫。這四門課不管你將來想從事哪個(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ì)。
最后建議一句,想學(xué)編程走職業(yè)道路,最后報(bào)個(gè)培訓(xùn)班
我是一名iOS 開發(fā)工程師,有著多年的軟件開發(fā)經(jīng)驗(yàn),大學(xué)學(xué)的是電子通信專業(yè),大學(xué)也沒有好好學(xué)習(xí),畢業(yè)后編程方面基本上也屬于0基礎(chǔ),我從我的自身經(jīng)歷來看,0基礎(chǔ)學(xué)習(xí)編程,要先找方向,后端有Java開發(fā),網(wǎng)頁有HTML5,手機(jī)端有iOS 和Android ,確定了方向之后,就是找學(xué)習(xí)資料了。學(xué)習(xí)編程,其實(shí)是很枯燥乏味的,編程方面的書籍,看起來也枯燥乏味,并且不容易理解書中提到的知識(shí)點(diǎn),常常是看完整本書都還是蒙的狀態(tài),效果不好,我的建議是可以在網(wǎng)上找一下相關(guān)編程語言的教學(xué)視頻看,相當(dāng)于擁有了一個(gè)好老師,可以跟著視頻學(xué),這樣沒有那么枯燥,并且知識(shí)點(diǎn)還會(huì)理解的更深刻一些,不懂得還可以問問老師,這樣可以達(dá)到事半功倍的效果??赐暌曨l之后,再配合相關(guān)書籍學(xué),會(huì)更好
首先,我們作為0基礎(chǔ)的學(xué)習(xí)者我們要搞清楚當(dāng)前變成語言的分類及各語言的流行程度。
按照程序執(zhí)行方式主要分為三大類:
①解釋型語言,例如:JS/python等
②編譯型語言,例如:C/C++
③編譯+解釋型語言,例如:Java/PHP
接下來我們就來看看這些程序語言的趨勢
圖片來源:https://www.tiobe.com/tiobe-index/
在圖中可以看到近幾年python的成長勢頭還是突飛猛進(jìn)的,python現(xiàn)在使用相對(duì)以前更為廣泛。主要是因?yàn)閜ython的第三方庫非常豐富,適用于很多工作場景,例如:數(shù)據(jù)分析/數(shù)據(jù)挖掘/大數(shù)據(jù)技術(shù)/網(wǎng)絡(luò)爬蟲/測試/前端開發(fā)等等。有很多主流開源框架可適用于不同的工作場景,django(前端)/flask(前端)/Scrapy(爬蟲)等等。
其中還包括最重要的一點(diǎn),python是一門開源程序語言,配合VScode食用更香。
python目前最主要的用途還是做數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí),目前Anaconda是python的一個(gè)開源的發(fā)行版本其中包含了conda/python等眾多個(gè)科學(xué)包及其依賴項(xiàng),在Anaconda中還自帶了python的一個(gè)數(shù)據(jù)科學(xué)神器——Jupyter Notebook。
Jupyter Notebook對(duì)于初學(xué)者相當(dāng)友好,在Jupyter Notebook本地服務(wù)器上可隨時(shí)進(jìn)行交互式編程,逐行執(zhí)行代碼。不僅僅是在后期的代碼調(diào)試能夠使用到它,在學(xué)習(xí)python語言的時(shí)候也是可以隨時(shí)隨地執(zhí)行檢驗(yàn)結(jié)果。
對(duì)于0基礎(chǔ)的小白而言,python是一門簡單易上手的語言,因此這也是現(xiàn)在熱度不減的原因之一,從python入手是一個(gè)不錯(cuò)的選擇。
如果題主需要的是從事數(shù)據(jù)分析/數(shù)據(jù)挖掘/機(jī)器學(xué)習(xí)方面的工作那么選擇python能夠短時(shí)間內(nèi)上手,如果不是從事這方面的工作那么python也可以作為入門首選,因?yàn)樗容^簡單,并且擁有相當(dāng)豐富的第三方庫可解決一系列問題。
以下是針對(duì)python小白推薦的兩本書
①《Python編程:從入門到實(shí)踐》——Eric Matthes (作者) 袁國忠 (譯者)
②《Python基礎(chǔ)教程(第3版)》——Magnus Lie Hetland (作者) 袁國忠 (譯者)
圖書圖片來源于圖靈社區(qū)(https://www.ituring.com.cn/tag/11)
這兩本書都是結(jié)合一些python實(shí)例進(jìn)行講解,在讀書的同時(shí)可跟著敲代碼,讓自己更加的鞏固知識(shí)。不過在學(xué)習(xí)編程的過程中都是枯燥乏味的,建議在食用書本的同時(shí)能夠隨著自己的深入寫一些小程序提高成就感。
如果想從事嵌入式開發(fā)編程的話,建議先從C語言開始學(xué)起(推薦譚浩強(qiáng)的C語言教材),然后學(xué)習(xí)C++(譚浩強(qiáng)的教材)。這個(gè)時(shí)候基本對(duì)編程的基礎(chǔ)概念有了一個(gè)比較宏觀的了解,但是遠(yuǎn)遠(yuǎn)不夠。再之后建議選擇學(xué)習(xí)C++primer進(jìn)行語言基礎(chǔ)的進(jìn)修(很多人死在這個(gè)環(huán)節(jié),C++語言學(xué)習(xí)周期長,前期基本沒有什么成果),此時(shí)C++進(jìn)入了入門階段。然后,你可以嘗試編寫一些小程序,小算法。但仍需進(jìn)修數(shù)據(jù)結(jié)構(gòu),編譯原理,操作系統(tǒng)。這些都是軟件偏軟件方向。但是作為一個(gè)從事嵌入式的boy只會(huì)軟件,顯然不能展現(xiàn)出與普通碼農(nóng)不同之處。因此,建議你學(xué)習(xí)這些軟件基礎(chǔ)的同時(shí),好好學(xué)習(xí)一下數(shù)電,模電,電路原理的知識(shí)。再加上自動(dòng)控制原理,現(xiàn)代控制理論。Ok,千萬不要小瞧這些理論基礎(chǔ),只有掌握了這些你的編程在未來才仍有價(jià)值!語言永遠(yuǎn)是工具,怎么用取決于你的理論基礎(chǔ)!如果能熬到這一步,你就可以進(jìn)軍所謂的人工智能領(lǐng)域了!學(xué)一些高級(jí)語言,創(chuàng)造一些高智慧"生物"。這就是學(xué)習(xí)一門語言[玫瑰]
0
回答10
回答0
回答0
回答0
回答0
回答6
回答0
回答2
回答0
回答