自學(xué)編程要從哪里開始(如何自學(xué)電腦編程)
很多人想要自學(xué)編程,但基本上是一個(gè)計(jì)算機(jī)小白。不了解自學(xué)編程應(yīng)該從哪里開始?甚至不了解什么是編程。今天黑馬程序員從不同維度帶大家了解如何自學(xué)編程。
一、了解方向
自學(xué)編程無論是出于興趣,還是為了就業(yè),我們首先要了解的就是就業(yè)方向:
前端開發(fā):也就是用戶端開到的界面,比如我們看到的百度首頁、購物平臺(tái)頁面,甚至是各種APP能看到的界面。都屬于前端范疇,所以前端的工作更偏重于與用戶的交互。前端基礎(chǔ)是HTML+CSS+JavaScript,由于框架相對較多,技術(shù)更新較快,所以需要一定的學(xué)習(xí)能力。
不同的后臺(tái)應(yīng)用的語言不同,如果說前端更在乎用戶的體驗(yàn)感,那么后端就是更偏重于邏輯。這里建議學(xué)習(xí)的編程語言是Java,畢竟現(xiàn)在國內(nèi)市場需求量依舊是第一。不同的后臺(tái)應(yīng)用的語言不同,如果說前端更在乎用戶的體驗(yàn)感,那么后端就是更偏重于邏輯。這里建議學(xué)習(xí)的編程語言是Java,畢竟現(xiàn)在國內(nèi)市場需求量依舊是第一。
數(shù)據(jù)庫開發(fā):也稱之為DBA,之前阿里培養(yǎng)過一批DBA,主要工作就是維護(hù)數(shù)據(jù)庫,針對數(shù)據(jù)庫進(jìn)行設(shè)計(jì)和開發(fā)。常用MySQL、Oracle、SqlServer等。
大數(shù)據(jù)是后臺(tái)技術(shù)加上數(shù)據(jù)庫操作,可以來處理海量數(shù)據(jù)。大數(shù)據(jù)用Python/Java多一點(diǎn)。
大數(shù)據(jù)是后臺(tái)技術(shù)加上數(shù)據(jù)庫操作,可以來處理海量數(shù)據(jù)。大數(shù)據(jù)用Python/Java多一點(diǎn)。
嵌入式:大家對自動(dòng)化駕駛或者是機(jī)器人有興趣的話,可以了解下嵌入式開發(fā)。更適合科班生,主要用C/C++;
機(jī)器學(xué)習(xí):這都是人工智能方向的內(nèi)容,也是比較適合科班生,很綜合的學(xué)科。所涉及的學(xué)習(xí)內(nèi)容就不光是編程語言這么簡單了。
自動(dòng)化測試和自動(dòng)化運(yùn)維:這兩個(gè)方向都需要測試或者是運(yùn)維的基礎(chǔ),學(xué)Python比較合適。
二、各類編程語言
上面討論了,不同就業(yè)方向需要重點(diǎn)掌握的編程語言不一樣。下面一起來看看各類編程語言:
機(jī)器語言:是一種指令集的體系,二進(jìn)制代碼語言,是計(jì)算機(jī)可以直接識(shí)別和執(zhí)行的語言。但是直觀性差,非常容易出錯(cuò)。
匯編語言:是面向機(jī)器的程序設(shè)計(jì)語言,為了解決機(jī)器語言難以記憶和理解的問題。匯編語言,機(jī)器不能直接識(shí)別,需要一種程序?qū)R編語言翻譯成機(jī)器語言。
高級語言:屏蔽了底層許多細(xì)節(jié),高級語言和匯編語言同樣完成一項(xiàng)工作,但是效率確實(shí)匯編語言的3-6倍。
腳本語言:多為無類型的,比如一個(gè)變量可能現(xiàn)在為字符串,下一刻變?yōu)檎汀?/p>
難易程度按照圖片由高到低,一層比一層難。
三、如何自學(xué)
(1)選定方向
按照第一個(gè)分類,大家找到自己感興趣的方向,進(jìn)行學(xué)習(xí)。找到你要選擇的行業(yè),它所需要的技術(shù)是什么?然后抽絲剝繭,找到對應(yīng)的學(xué)習(xí)資料。
(2)基礎(chǔ)學(xué)習(xí)
我們以Java舉例,基礎(chǔ)所需要掌握的知識(shí)為:
需要高清圖請到黑馬程序員官網(wǎng)查看
要學(xué)習(xí)的第一步就是基礎(chǔ)語法,那什么標(biāo)準(zhǔn)才是學(xué)會(huì)了呢?做出Demo,從輸出第一個(gè)hello world,到完成一個(gè)學(xué)員管理系統(tǒng)。這就說明已經(jīng)是入門了,不斷地輸出會(huì)增加學(xué)習(xí)動(dòng)力。
(3)做出項(xiàng)目
現(xiàn)在網(wǎng)絡(luò)上很多培訓(xùn)機(jī)構(gòu)也有公開的免費(fèi)項(xiàng)目,可以跟著課程進(jìn)行一個(gè)簡單項(xiàng)目的學(xué)習(xí)。按照老師的思路,有一個(gè)完整項(xiàng)目學(xué)習(xí)的思路。之后我們可以到GitHub上找到開源項(xiàng)目,篩選出自己感興趣的進(jìn)行實(shí)踐。
先看課的好處就在于,老師會(huì)帶著大家了解解決問題的思路,有整體的項(xiàng)目架構(gòu)了解。比如這個(gè)項(xiàng)目采用了什么最新技術(shù)?這些技術(shù)點(diǎn)面向市場的價(jià)值是什么?
四、學(xué)習(xí)中會(huì)遇到的困難
(1)環(huán)境的安裝與配置
新手面對的第一大難題就是環(huán)境的安裝和配置了。最先開始接觸的時(shí)候,根本不知道怎么配置環(huán)境。這個(gè)時(shí)候只需要一套好的教程,和百度即可。百度文檔一般都有比較清晰的步驟。
(2)找到學(xué)習(xí)資料
現(xiàn)在培訓(xùn)機(jī)構(gòu)會(huì)在各大平臺(tái)更新編程的課程,多試聽幾套,找到你喜歡的老師風(fēng)格即可跟著學(xué)習(xí)了。書籍的話,看評分,看其他人的推薦,一本好的書不僅可以帶我們?nèi)腴T,還可以擴(kuò)展我們的學(xué)習(xí)思路。
(3)問題不會(huì)解決
出bug就慌了,不知道問誰不知道怎么解決。但是初學(xué)的階段,出現(xiàn)的一切問題都可以在搜索引擎上找到答案,只需要將報(bào)錯(cuò)問題,復(fù)制到百度即可。或者是到IT論壇中提問,常用的國內(nèi)論壇有CSDN、開源中國等。