初學者怎么學編程 該看什么書,c語言初學者學編程

【初學者怎么學編程 該看什么書,c語言初學者學編程】眾所周知在快速發展的信息時代,程序員是極具優勢的工作,不僅很少被社會瑣事煩擾,還能擁有極高報酬 。可是作為一個零基礎的初學者該怎么成為一名合格的程序員呢?那么下面就讓我分析一下初學者該怎么學習編程 。
編程語言
要當程序員,肯定是要從學習一門編程語言開始 。這是HelloGitHub給出的2022年5月編程語言排行榜:

初學者怎么學編程 該看什么書,c語言初學者學編程

文章插圖
可以從這個排行榜中清楚地看到哪些是熱門語言,我整理了一下對于各種語言的看法,但是具體怎么選擇就看你自己的需求啦:
  1. Python:它很適合初學者,簡單易學,并且和人工智能關系密切 。目前主要應用于web開發、應用開發、大數據、數據挖掘、科學計算、機器學習、人工智能、運維、自然語言處理等等 。
  1. Java:相對于C也是比較簡單的語言,不過它的學習難度肯定比Python大,在這三個語言中難度中等,、目前主要應用于安卓和 IOS 的應用開發、視頻游戲開發、桌面GUI、軟件開發等等 。
  1. C:難度最大,主要應用在操作系統、嵌入式領域和服務器領域 。應用范圍廣,薪資待遇高 。C++ 是 C 語言的一個超集,既有指針又有對象使它成為最復雜的語言 。幾乎所有現代編程語言都由C/C++發展而來,因此了解C/C++非常有利于快速掌握其他各類編程語言;
  1. Javascript: Javascript 是一種動態類型、弱類型、基于原型的直譯式腳本語言,也是使用頻率最高的給 HTML 網頁增加動態功能的語言 。作為腳本語言,Javascript 可立即運行而無需等待服務器響應,速度非常出色,并且它是動態類型語言,學習難度低 。
這幾個各有各的特色,但是如果你想入門當程序員,那我建議你從Python和Java中選,這兩種語言相較于C來說,更容易上手 。
算法和數據結構
作為初學者,當你把編程語言學到一定程度后,接下來就是編程的通用技能了:基本的算法和數據結構 。
你可能會說,你以后想找的工作很簡單,和算法這一塊兒關系并不大,有基本的知識就夠了;但要知道的是,這東西就好比地基,你之后的一切工作都將在這基礎上開展,如果不會以后進入工作了將花費大量的時間精力和金錢在上面 。


在我看來,這些是必須要掌握的:


10個算法:二分查找、遞歸、排序、搜索、哈希算法、分治算法、回溯算法、貪心算法、動態規劃、字符串匹配算法 。
10個數據結構:棧、數組、鏈表、隊列、堆、跳表、圖、Trie 樹、散列表、二叉樹;


千萬不要小瞧這它們,每一個展開了去細學,怎么都得要一年半載;想想辦法把這些吃透,起碼以后再看見這些問題不用翻書,然后你就可以進一步向更深的層次進發,去思考這些問題:


編程框架是如何運轉起來的?
主流的編程框架和設計模式存在怎樣的共通模式呢?
List、Hash、key各自的應用場景和共通之處?
......


每一個問題都是一座大山,當你想明白并且拿出可行的解決方案,你的技術相比以往就會提升一個Level 。
初學者怎么學編程 該看什么書,c語言初學者學編程

文章插圖


實操
“實踐出真知”,這話放在編程的學習中,顯得尤為合適 。
網上有一句比較流行的話,“我的眼睛和大腦都會了,但是手不會 。”學習編程的過程中也容易出現這些問題;可能你通過看書、看視頻突然get到了某一個點,但是并沒有去實操,在不久后重新遇到相關的問題,全部忘記也是正常的 。
初學者怎么學編程 該看什么書,c語言初學者學編程

文章插圖
所以,尋找實操性較高的個人項目,提升閱讀和編譯速度,是學習編程的不二之選 。GitHub上有幾個有趣的項目,可以參考一下:
  1. lllyasviel/style2paints 這是一個能夠根據用戶自定義的顏色給線稿上色的工具 。在這里,以ABCD這種格式呈現一些結果 。你只需要上傳你的的草圖,選擇一種樣式,然后放置光源 。就可以實現AI上色當結果在沒有任何人為顏色校正的情況下立即獲得時,我們將此結果視為全自動結果 。當結果需要一些顏色校正時,人類可以很容易地在畫布上放置一些顏色提示,以指導AI著色過程 。
  1. seq2seq-couplet 這是一個使用 seq2seq 模型來進行對聯(對對聯)的項目 。
  1. MisterBooo/LeetCodeAnimation 為了幫助大家更好的入門學習算法,經過半年的積累,創作者給大家整理了《劍指 Offer》系列的四十道題目,都是算法面試的高頻題目,每一道題目都提供詳細的分析、精美的配圖、易于理解的動畫視頻,適合那些第一次刷題的同學,當然,也適合重復刷題的老手再次學習鞏固基礎 。

    推薦閱讀