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