如今编程成为了一个越来越重要的「技能」,如何自学编程我来教你
如今編程成為了一個越來越重要的「技能」:作為設計師,懂一些編程可能會幫你更好地理解自己的工作內容;作為創業者,技術創始人的身份則會讓你的很多工作顯得更容易。而作為剛想入門的新手,面對眼前海量的信息,或許根本不知道從哪里開始;入門輕松度過初級材料的學習后,發現學習越來越困難,陡峭的學習曲線又讓你望而卻步;你知道如何在頁面上打印輸出一些文本行,但是你不知道何時該進行一個真正的有用的項目;你不清楚自己還有哪些不知道的東西,你甚至搞不清下一步該學什么。
這篇文章的內容對此不僅會有一些方向性的建議,還會包含一個基礎核心向的編程入門導引。當然,Step by Step 的路線是不現實的,并且每個人都會有自己的特點,所以給出的這個編程入門導引更多的是為了引發讀者的思考,最終幫助你形成適用于自己的學習路線。
?
1. 我應該選擇什么編程語言
可能困擾編程新手最多的一個問題是【我應該學什么編程語言】或者【我需要學習哪些課程才能做出一個web、一個app】,很多人一直糾結這個問題,陷入了東學一點、西看一點的死循環,到頭來啥也沒學好,這會很浪費時間。
剛上大一的時候,我也很想知道應該選擇什么編程語言。我問了很多人,網上各種查資料,但所能得到的答案都很片面,多數對這個問題答非所問,總是回答說“某某編程語言難”,“某某編程語言性能好”。其實作為初學者,我們對計算機體系都不了解,就不要過多地去糾結性能,或者難易等因素,如果你有明確的方向,那么很好選擇。如果你想做算法、機器學習方向,那么python是最好的選擇。如果你想做web開發,java、php等都可以。如果想做一些更底層的工作,那么就可以選c。當然這是建立在你有明確方向的基礎上。可是,很多人都沒怎么接觸過計算機行業,特別是和我一樣剛入學就被調劑到計算機專業的人。對這些同學來說,各個編程語言就只是個名字,除了叫法不一樣,你根本不知道它們有什么差別。所以索性不要糾結了,我替你選一個吧。
如果你是在校大學生,那么你有大把連續的時間,就先學習c,然后再學c++。我個人是學c入門的,也許很多人不理解我為什么推薦學c,因為c和c++都很難、很復雜,看起來并不適合入門。然而正是它們的難和復雜才能讓你更好地理解計算機系統【計算機系統不是指操作系統】。學習編程不是學習編程語言,而是學習一個計算機生態,即一個龐大的知識體系。只會編程語言而不理解整個計算機的體系,就像只會寫字而寫不出好文章。了解c/c++和了解計算機系統是極為貼合的,向下可以幫助你更容易地理解操作系統、編譯原理、計算機網絡、計算機組成原理,為什么呢?因為較為底層的東西很多都是用c實現的,和系統的貼合度極高,很多教材源碼甚至教程,在講述這些知識的時候都是用c或c++作為媒介。而向上,c++面向對象的機制,也可以做出一些應用,譬如五子棋游戲等,也不會顯得那么枯燥。花個小半年時間了解c和c++,之后你就會覺得看書、看資料可以輕松很多。
如果你是一個上班族,但是剛剛學習編程,可能學c和c++對你來說有些復雜和困難,因為學習它們確實是很需要時間。你們不像在校生那樣有大把的連續時間,而零碎的時間去學習一個比較復雜的東西效果不見得有那么好,所以可以先學一些【更容易見效】的編程語言,從python入手吧,至少能快速做出一些小應用,不至于丟失了興趣,但是真的要入門編程又還得看看與計算機系統相關的書籍,這樣才能更深層次地去編程,譬如【深入理解計算機系統】這一本書可以讀很多遍,這本書把整個計算機系統給串起來了。
學習一段時間,做個小項目,將做項目遇到的問題記下來,針對性地學習相關知識,然后再實踐,再學一段時間理論,讓知識成網狀發射狀地變大。當然,項目驅動式學習有一個弊端,就是每次學習的知識都是項目所需要的,很零碎、不成體系,所以需要改良,即在采取項目驅動學習法的時候每天抽一段時間去完整地讀一本書,或者一個相關問題的完整介紹,這樣就很容易把一些知識成體系地串起來。這樣一段時間下來,慢慢的,你就知道我們為什么要學那么多科目,學這些科目能干什么。
當然了很多小伙伴沒有資料,不知道怎么學,沒有一個系統的學習過程,很難學會,好人做到底,給大家分享一些私人整理的資料,包含python,Java,web前端,大數據,人工智能,架構師等等,部分截圖,
獲取方式:私信發送數字“資料”即可
web前端電子書,視頻教程等等
python電子書,視頻教學,源碼,漫畫書等等
Java,數據庫,電子書,視頻,源碼等等
人工智能
大數據
獲取方式:私信發送數字“資料”即可
總結
以上是生活随笔為你收集整理的如今编程成为了一个越来越重要的「技能」,如何自学编程我来教你的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通俗解释随机森林算法
- 下一篇: 【粉丝福利】今天不谈技术,只送福利!