怎么學(xué)習(xí)編程(如何學(xué)習(xí)編程電腦)
編程的范圍實(shí)在很大,學(xué)什么就是小白的首要問題。如果是學(xué)編程希望能夠?qū)⒅貜?fù)工作自動化這類朋友,直接學(xué)Python即可。下文會說怎么學(xué)習(xí),本文主要針對的是想要通過編程高薪轉(zhuǎn)行的這類人。
一、編程方向
編程可就業(yè)的技術(shù)崗位非常多,我們看下前端、后端、移動端以及人工智能:
另外還有測試、運(yùn)維、數(shù)據(jù)相關(guān)等:
按照上圖的大分類介紹一下各個(gè)方向重點(diǎn)掌握技能。
后端開發(fā):建議選擇Java語言或者是C++語言,服務(wù)端的代碼主要是接受瀏覽器請求,實(shí)現(xiàn)業(yè)務(wù)邏輯,訪問數(shù)據(jù)庫等;
前端開發(fā):必學(xué)內(nèi)容為HTML/CSS/JavaScript,基礎(chǔ)學(xué)完之后就是前端相關(guān)的框架的掌握;另外如果有時(shí)間小程序相關(guān)開發(fā)的學(xué)習(xí)也是必備技能。
數(shù)據(jù)相關(guān):分成業(yè)務(wù)型也就是數(shù)據(jù)分析類崗位,技術(shù)型是數(shù)據(jù)開發(fā)相關(guān)崗位。數(shù)據(jù)相關(guān)的工作建議選擇學(xué)習(xí)Python。
另外Python語言在自動化測試和運(yùn)維方面,都有自己的一席之地。
嵌入式和硬件相關(guān)的開發(fā)需要學(xué)習(xí)C/C++,比如自動化駕駛或者是無人機(jī)這類的開發(fā)。
至于人工智能我們暫時(shí)就不說了,人工智能門檻較高,無論是對學(xué)歷還是對技術(shù)掌握的要求都很高。不建議沒有編程基礎(chǔ)的人轉(zhuǎn)行這個(gè)崗位。
每種編程語言都是來干什么的:
C/C++:理論上是只要硬件驅(qū)動和API合適,C/C++就可以開發(fā)任何東西,效率也高。C的應(yīng)用在服務(wù)應(yīng)用,開發(fā)底層模塊和嵌入式。C++適合復(fù)雜但是又要求高效率的內(nèi)容,比如大型游戲等等;
Java:有關(guān)于Java的特性在這里就不分享了,Java被應(yīng)用于企業(yè),安卓應(yīng)用等;
JavaScript:與Java毫無關(guān)系,應(yīng)用在web前端,另外與Vue和Node結(jié)合還用于開發(fā)服務(wù)器端;
PHP:開源腳本語言,語法吸收了C語言,還有Java和Perl的特點(diǎn),適用于web開發(fā)領(lǐng)域。
C#:是微軟對這一問題的解決方案,應(yīng)用領(lǐng)域?yàn)閣eb應(yīng)用、客戶端應(yīng)用、分布式計(jì)算,人工智能和各類游戲。
Python:自動化測試/運(yùn)維,信息安全,物聯(lián)網(wǎng),大數(shù)據(jù),桌面應(yīng)用都可以用Python;
二、難易程度
很多小白對方向可能還是比較迷茫,介于迷茫的同學(xué)可以到一些資訊類網(wǎng)站看看各方向的前景以及就業(yè)薪資。我們從編程語言的難易度再來做一個(gè)講解。
從底層到腳本語言,就是從難到簡單的順序。
目前人工智能的交界面是C語言和C++,雖然兩者結(jié)構(gòu)相似,但是C++面向?qū)ο蟮奶匦?,而且自身?qiáng)定義性,成為了算法構(gòu)造的基本語言。C語言更下沉到硬件領(lǐng)域,比如機(jī)器人開發(fā)。C++是根據(jù)C語言,優(yōu)化而來,Java是通過C++優(yōu)化而來。
腳本語言擁有很強(qiáng)大的可重復(fù)行,有了腳本就可以把一個(gè)規(guī)程不斷地重復(fù),這也就是大家總說提升工作效率的話一定要學(xué)Python。如果日常工作經(jīng)常需要重復(fù)某一個(gè)動作,大家可以選擇Python語言。
每種編程語言都是來干什么的:
C/C++:理論上是只要硬件驅(qū)動和API合適,C/C++就可以開發(fā)任何東西,效率也高。C的應(yīng)用在服務(wù)應(yīng)用,開發(fā)底層模塊和嵌入式。C++適合復(fù)雜但是又要求高效率的內(nèi)容,比如大型游戲等等;
Java:有關(guān)于Java的特性在這里就不分享了,Java被應(yīng)用于企業(yè),安卓應(yīng)用等;
JavaScript:與Java毫無關(guān)系,應(yīng)用在web前端,另外與Vue和Node結(jié)合還用于開發(fā)服務(wù)器端;
PHP:開源腳本語言,語法吸收了C語言,還有Java和Perl的特點(diǎn),適用于web開發(fā)領(lǐng)域。
C#:是微軟對這一問題的解決方案,應(yīng)用領(lǐng)域?yàn)閣eb應(yīng)用、客戶端應(yīng)用、分布式計(jì)算,人工智能和各類游戲。
Python:自動化測試/運(yùn)維,信息安全,物聯(lián)網(wǎng),大數(shù)據(jù),桌面應(yīng)用都可以用Python;
三、如何學(xué)習(xí)編程
要知道自己自學(xué)的目的是為了盡快學(xué)習(xí)完找到相關(guān)的工作進(jìn)入該行業(yè)。所以快速掌握基礎(chǔ)語法是必要的。我們下文當(dāng)中以Java語言舉例應(yīng)該怎么學(xué)習(xí),光說學(xué)習(xí)方法的話會比較空洞。
現(xiàn)在網(wǎng)上課程資源非常多,不贅述,只要搜索就可以找到相關(guān)課程。書籍方面的話,建議看一些經(jīng)典的書籍,不要看什么速成書籍,或者是21天帶你學(xué)會什么這樣的書籍。
初學(xué)者建議合理安排好時(shí)間,盡可能有非碎片的時(shí)間學(xué)習(xí)。一天建議安排學(xué)習(xí)時(shí)間4到6個(gè)小時(shí)。以Java來說需要學(xué)習(xí)內(nèi)容安排如下:
入門:Java SE基礎(chǔ)-->Java Web(含數(shù)據(jù)庫+H5+js+vue)
中級:Maven-->Git-->SSM框架 -->MybatisPlus-->Spring Boot-->傳智健康【項(xiàng)目實(shí)戰(zhàn)】
進(jìn)階:Spring Cloud(微服務(wù)開發(fā),學(xué)這一套就夠了) 也可分技術(shù)點(diǎn)學(xué): (Dubbo-->Zookeeper-->RabbitMQ-->RocketMQ-->Docker-->Redis -->MongoDB-->搜索技術(shù)Elasticsearch)
項(xiàng)目:SaaSiHRM【企業(yè)服務(wù)】-->好客租房【生活服務(wù)】-->萬信金融【金融行業(yè)】-->閃聚支付【聚合支付】-->權(quán)限管理一體化解決方案-->短信網(wǎng)關(guān)平臺
面試:Java大廠面試專題課
以上技術(shù),足以支撐找一份好的java開發(fā)工作。
如想工作后再提升,頁面底部還有30+套,工作后再學(xué)習(xí)提升的技術(shù):
【JDK8-15新特性】【編程強(qiáng)化】【數(shù)據(jù)庫強(qiáng)化】【安全框架SpringSecurity】【報(bào)表技術(shù)】【模板引擎VelocityTools】【工作流Activiti7】…完整線路圖看這里
如果想要學(xué)習(xí)其他編程方向的可以找我要到這樣的學(xué)習(xí)路線圖,首先我們按照圖中內(nèi)容,清楚地知道學(xué)習(xí)安排。其次是可以規(guī)劃自己的學(xué)習(xí)時(shí)間。
無論是基礎(chǔ)到項(xiàng)目,動手是最重要的,動手過程中就包括了對代碼的思考。
四、其他
公司招聘我們,絕對不是因?yàn)槲覀儠裁凑Z言,而是我們可以通過計(jì)算機(jī)來設(shè)計(jì)軟件。如果想要長期立足在開發(fā)崗位,伴隨著職業(yè)生涯的的發(fā)展,我們就不應(yīng)該被一門語言限制。
程序是什么?— 計(jì)算機(jī)組成原理。
程序怎么被翻譯?— 編譯原理。
程序怎么執(zhí)行?— 操作系統(tǒng)的范疇
怎么利用別人的成果來實(shí)現(xiàn)更好的數(shù)據(jù)組織?— 數(shù)據(jù)庫相關(guān)
怎么保證程序更容易維護(hù)和可讀?— 這是設(shè)計(jì)模式和代碼規(guī)范
以實(shí)際工作經(jīng)驗(yàn)告訴大家,我們每一個(gè)新項(xiàng)目的時(shí)候,大部分參與者都會需要學(xué)習(xí)新語法?;蛘呤切袠I(yè)的改變,比如蘋果應(yīng)用之前由Objective-C主導(dǎo)的OS中添加了Swift的支持,谷歌在Andriod中添加了Kotlin的原生支持。
再比如,很多互聯(lián)網(wǎng)公司將Java后臺遷移成Go語言。
所以要把編程語言視為一個(gè)工具,IT技術(shù)發(fā)展飛快,比起選擇語言更重要的是快速學(xué)習(xí)的能力。
五、學(xué)習(xí)能力
以上是長時(shí)間高效學(xué)習(xí)的方法,適合所有人通用。學(xué)習(xí)過程中不用怕語言語法,或者是特性記不住。學(xué)習(xí)編程好像學(xué)數(shù)學(xué)一樣,公式記不住也不會做題,慢慢理解公式后會做題了,但是公式還是背不下來,但是總做一類題公式就成了下意識的記憶完全可以記下來。