谷歌空間推薦:如何自學編程,有哪些實用輔助學習軟體?

2020-12-13 OurPlay

12月12日, HackerRank發布2018年度報告。他們發現全世界1萬名相關學生裡面,接近三分之二都在自學編程。IT業發達的美國,更是有五分之四的學生靠自學掌握技術。

出現這種情況並不值得奇怪。計算機領域,學校教授的知識雖然經典,但這個行業變化飛快、類似Go、kotlin這種企業需要的新技術、學校經常沒法跟上。學習程序開發、提升技能水平,「自學」是必經之路。

然後,要怎麼自學編程,又有哪些好用的輔助工具?接下來就和谷歌空間一起,看看那些自學的基本策略,與優秀的服務與應用吧。

想好做什麼,做學習規劃

一般說,編程就是人類用特定語言寫東西,讓軟體翻譯成機器指令、去做特定事情。不同語言的特點與應用領域各不相同。自學編程的人,首先要做的就是問自己「學編程幹什麼?」然後根據目標、選擇語言——

做網站(JAVA、Go、JS 、PHP)

開發遊戲(C++、C#、JS )

手機APP(JAVA、Kotlin、Dart 、Objective C、Swift)

輔助辦公、批量處理文字與表格(Python、VBA)

計算機語言種類繁多,具體的分別、沒法輕易講清。建議在網上搜索相關資料,尤其那些相關行業論壇、招聘網站信息將更為準確。

如果是初學者,筆者推薦學習Python、JavaScript這種非常主流,同時也相對簡單的語言。因為相關中文資料少、不推薦從LISP這種冷門語言起步。

確定好學什麼語言,接下來就是規劃日程了,大致上來說:

12小時可以做「簡單的計算器」

30小時可以做 「日程規劃軟體」

300小時可以做「簡單論壇或留言板」

知道要學習多少時間、接下來就可以把任務分解到每天、並根據情況調整。雖然相關技術與工具隨時在變化、未必有完美策略。但比起怕犯錯、一直猶豫不定,邁開步子學習明顯更為有利。

這些APP可以幫到你:

谷歌日曆:規劃日程的優秀工具,自帶郵件提醒功能。可以方便地添加按日期循環、精確到分鐘的學習任務。

番茄時鐘:幫助你實現「番茄工作法」的小工具。學習幾十分鐘、然後休息幾分鐘,有節奏的學習與工作,不知不覺任務就完成了。

找靠譜教程

選擇教程,需要考慮的首先是權威性。那些業界知名技術大拿編寫、或得到官方認證的教材、一般質量都比較靠譜。

如果是國內引進的書籍,還要留意下注意翻譯水平。就算原著是好書,但如果經過不懂技術的人翻譯,就經常出現一些致命錯誤。建議去亞馬遜這種網絡書城,看讀者的評價與反饋。

除了讀好書,教程還可以在網上找。各種語言官方文檔,也是學習的好材料。由於技術文檔的理解難度比一般英文內容低,所以就算英語沒那麼好,官方文檔也可以拿來利用。

新興的類似Udemy這種網絡教學服務、SoloLearn這種編程學習APP。不但能用起來更直觀,內容更新也比傳統媒體快很多,很多方面超越了紙質書籍。

這些APP可以幫到你:

SoloLearn免費手機學習服務與APP,同時支持10幾種程式語言,可以在線運行代碼。

CourseraUdemy、edX 世界一流的在線教學服務,名校講師、業界名家親自講課。

谷歌翻譯:久經考驗的翻譯工具,翻譯技術文檔效果不錯。

選擇IDE、配置編程環境準備編程環境、熟悉工具用法

開始學習後、新手最初遇到的問題、就是「用什麼工具寫程序、怎麼讓代碼跑起來」了吧。常用IDE、編輯器花樣繁多,讓人眼花繚亂。不同人有不同的喜好,和選擇語言一樣、爭議非常多。

對新手而言,為了降低學習難度,還是應該 「具體領域、哪個用戶多就用哪個」。舉例來說, IOS開發自然是Xcode 。C#的話,微軟家Visual Studio比較靠譜。JavaScript有輕量級的Visual Studio Code。JAVA相關,一般推薦jetbrain的IDE。

如果需要Linux命令行工具,可以考慮在PC上面安裝虛擬機(VirtualBox)。安卓手機上面,也有Termux這種運行常用Linux命令的應用。

選擇太多、不知道怎麼辦的話,按照還可以參考各種教材。掌握基本流程後,接下來就各顯神通了。對摺騰黨來說,Vim、Emacs也能定製成IDE。

這些APP可以幫到你:

Stack Overflow絕大多數新手的問題,在這裡都有解答。還可以幫別人解決麻煩、鞏固知識。

Virtual Box免費開源虛擬機,隨便折騰各種系統,不怕弄壞物理機。

去敲代碼

這一步大概是學習編程過程中耗時最久、也是最重要的階段了吧。不管是書籍,還是視頻教程,自學的人都要跟著寫代碼、學習基礎語法、了解「函數、類、對象」概念、做各種習題、消除意外出現的BUG。

接下來,還可以去類似Leetcode這種在線算法網站做習題。了解算法、數據結構知識。找編程工作的過程中,做題的經驗也能幫你在筆試中取得好成績。

學完基礎語法與概念,並不表示任務就完成了。將知識轉換為技能,還需要動手做項目。需要注意的是,一般人需要的功能、很可能有別人寫過了。於是,比起重複發明輪子,不如參考一下別人的做法。

借用別人的代碼,應該了解一下MIT、GPL等常見授權協議的區別,看一下在什麼前提下可以使用別人的代碼。

那麼,要到哪兒去找別人分享的代碼?那當然是全世界最大的開源平臺Github了。在這裡,還可以提交代碼、幫別人改進軟體。

這些APP可以幫到你:

算法動畫詳解:用動畫展示排序算法、還有詳細分步解釋。

OpenHub簡潔的第三方安卓github客戶端,比官方好用。

計算機技術,一直都在快速進化。跟上時代的大潮,一生都離不開自主學習。堅持下去,除了毅力,還需要強烈的好奇心。想要行動的朋友,上面介紹的APP都可以通過谷歌空間搜索體驗。有什麼使用和學習心得,也歡迎大家留言討論。

相關焦點

  • 學生如何在大學學習程式語言
    如果您想知道應用程式和軟體程序的製作方式,那麼成為電腦程式員是適合您的正確職業道路。它充滿了樂趣,並為您帶來了廣泛的機會。攻讀計算機科學或自學程序設計大學學位的大多數學生通常會感到困難,而有些人則認為它很有創造力和樂趣。
  • 移動開發者的自學寶典:十大在線編程學習網站
    前不久,在接觸到Codecademy時,已經好久沒編程的筆者一下子來了興致,仿佛又回到了「那些年」,把還給老師的那些東西給一點一點地要了回來。在此,筆者特意搜羅了十大備受開發者好評的在線編程學習網站,與列位分享。
  • 零基礎如何入門學習電腦編程?
    零基礎如何入門學習電腦編程?有哪些好的方法呢?現在帶著疑問一起去了解一下吧。1、了解編程歷史的意義了解一些編程的實質遠比知道如何編程更有意義,不要在編程是怎麼回事的情況下就去學習編程,這樣對你的學習是十分不利的,作為一個編程愛好者,知道計算機的工作原理,這應該是一件再正常不過的事。
  • 資源| 自學數據科學&機器學習?19個數學和統計學公開課推薦
    如果你想掌握數據科學,你就必須要對基本代數和統計學有很好的了解。但是,對於沒有數學背景的人來說,起步之路可能會舉步維艱。首先,你必須要搞明白哪些必須學,哪些沒有必要——其中可能包含了線性代數、微積分、概率學、統計學、離散數學、回歸、優化等許多主題。你需要多麼深入這些主題?自學的話很難單靠自己把這一切都把握好。
  • 軟體工程師如何自學成才?
    因此,假設你已經做過一些編程練習題,並且也有一搭沒一搭地完成過一些簡單的LeetCode題,並且對如何解決這些問題已經有點熟悉了,並且假設你沒有科班CS背景,那麼要如何才能有所突破,如何實現從「兩數之和(Two Sum)」 到 「二叉搜索樹(Binary Search Trees)」的飛躍呢 ?下面是我的方法。課程表學習算法分為好幾步。
  • 學習計算機編程有哪些學校
    編程,平常我們聽過較多的莫過於「程序猿」。編程是編定程序的簡稱,是通過代碼讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。隨著網際網路時代的到來,編程也逐漸火熱起來,包括現在很多小學都有編程課程。
  • 自學編程必看!Python學習5點思路(內附思維導圖)
    越來越多的人,都想加入到編程的行業中。如果說你現在已經有了想學習編程的想法,那麼接下來我們就談談如何去學習編程。小會在這裡為大家提供一個Python學習思路:1、了解編程基礎概念首先要對計算機有個基本的認識,了解編程基礎概念及用編程解決現實問題的基本流程。
  • 什麼樣的人適合學習數據分析?小白如何自學數據分析?
    主圖時下的大數據時代與人工智慧熱潮,有很多人對數據分析感興趣,卻下手無從。零基礎小白剛接觸數據分析會有這樣的疑問,沒有數學基礎,可以學習數據分析嗎?如何找到一份數據分析的實習呢?什麼樣的人適合學習數據分析?應該學習哪些內容?需要用到哪些學習資料?自學數據分析如何安排時間?不是相關專業,如何打造簡歷?
  • 學習了!谷歌今日上線基於TensorFlow的機器學習速成課程
    谷歌官方描述為機器學習熱愛者的自學指南,且課程資料都是中文書寫,課程視頻都由機器學習技術轉述為中文音頻。這對於中文讀者來說將會有很大的幫助,當然我們也能選擇英文語音以更精確地學習內容。此外,據機器之心了解,這曾是谷歌內部培訓工程師的課程,有近萬名谷歌員工參與並將學到的東西用在產品的優化和增強上課程地址:https://developers.google.cn/machine-learning/crash-course/按照該課程所述,讀者可能需要初級代數知識,如變量與係數、線性方程組和函數曲線等以理解基本的機器學習模型
  • 學習軟體開發需要準備什麼?
    2020年,隨著Internet的不斷發展,現在Internet已經融入到每個人的生活中,所以在計算機行業的發展中,軟體開發技術就顯得非常重要,因為它是與我們的生活息息相關的,選擇許多人想學習Java軟體開發技術,但是如何做?
  • 電路仿真軟體有哪些?6款常用的電路仿真軟體推薦
    一些網友需要下載電路仿真軟體這一類軟體,但是,網絡上尋找電路仿真軟體卻比較麻煩。那麼,電路仿真軟體有哪些?小編今天就給大家整理了6款常用的電路仿真軟體推薦給大家,需要下載電路仿真軟體的網友可以挑選一下!
  • Java軟體開發應該如何學習呢?
    選擇學習Java軟體開發,最重要的是擁有一定的自學能力,如果自學能力不強,學習Java是非常困難的,或者可以選擇Java培訓課程,老師的監督和指導對你快速掌握Java開發有很大的幫助。學習編程每個人都有自己特色的方法,在項目中鞏固基礎知識,確保自己能夠勝任企業級項目開發。
  • 萬豐辛養ug編程學習cnc加工中心操作培訓
    模具編程一般都教哪些東西呢?  UG相較其他軟體,在模具行業中(不論設計,拆銅公,還是編程)有著很大的優勢。當然,UG在模具設計中,有著大量的應用技巧,熟練掌握這些技巧,並舉一反三,會給你在工作中帶來非常大的方便。尤其在複雜產品的分模過程中,可少走彎路,減少盲目性。
  • 學計算機編程需要什麼基礎_一文了解
    下面我們一起看看,學習計算機編程需要哪些基礎:1、英語基礎計算機英語與傳統的英語知識不同,需要了解的大部分是計算機的專業單詞或者詞彙,普遍較為簡單。但是在高級編程中,會出現比較生澀的詞彙,對於想要參與計算機語言設計以及在職業發展上有更多追求的同學可以自學一下大學英語。畢竟現在在學習IT技術上晉升的道路上,專業文檔的閱讀能力也是非常重要的。
  • 常用的機器人編程方法
    如何降低編程的難度和工作量,提高編程效率,實現編程的自適應性,是機器人編程技術亟待解決的問題。目前常用的機器人編程方法有示教編程、離線編程、自主編程、增強現實編程、示教學習編程。現有方法編程效率低、成本高,極大的限制了機器人的廣泛應用。
  • Mathematica 實用編程指南免費中文培訓
    趕緊註冊,您將有機會與Wolfram 技術專家直接交流,現場中文答疑。準備好你的問題,選擇你的時間,登錄  科學軟體網—培訓—免費公開課 趕緊註冊吧!本課程不僅是學習《Wolfram Mathematica 實用編程指南》一書的機會,還能夠在互動問答環節中提出問題,同時獲取 Wolfram 專家的現場中文解答。為了有效地利用此次培訓,推薦參加者有桌面版 Mathematica 或 Mathematica Online 的使用權限。報名的學員,可以獲得Mathematica軟體免費試用。
  • 少兒編程軟體哪個好?國產最強大少兒編程工具推薦
    一個工具完美覆蓋7-18歲全年齡段的學生學習少兒編程,更有利於學生持續化的編程學習。學生在動畫電影的製作中,需要的故事的設計能力,劇本的寫作表達,角色設計,互動設計等等,為後期編程學習做了空間思維上的訓練。
  • 手機APP是怎麼開發的,需要學習哪些知識?
    目前主流的手機APP分兩類,一類是基於蘋果(IOS)系統的APP,另一類是基於安卓(Android)系統的APP,兩種不同系統的APP所使用的開發工具及程式語言完全不一樣。會C語言的話可以直接使用Objective-C編程,差異很小,若遇到不懂的再查資料。還有就是蘋果新推出的Swift語言,非常好用。(2)基於安卓(Android)系統的APP安卓系統APP使用Java語言進行開發,Java語言已經流行了20幾年,目前還保持這這種勢頭,經久不衰。
  • 工控電氣人常用的軟體,你知道幾款?
    作為工控電氣人,你知道我們必備的軟體有哪些嗎?今天我就來給大家介紹一下,工控電氣人常用的幾款軟體,有了它們,我們的工作學習將會更易上手,效率翻倍。以下介紹主要是分為電工常用軟體,PLC編程軟體,工控輔助軟體。
  • Mac上有哪些優秀的軟體推薦,又有哪些坑爹軟體需避開?
    藉助適用於MacBook Pro的Touch Bar功能和直觀的現代設計,您可以輕鬆學習,播放,錄製,創建和分享全球熱門歌曲。蘋果官方的免費軟體,對於普通的用戶也是足夠了!優秀的解壓縮軟體The UnarchiverThe Unarchiver的設計目的是處理比歸檔實用程序更多的格式,並且更好地適應Finder的設計。它還可以處理外國字符集中的文件名,並使用其他作業系統的非英語版本創建。