tft每日頭條

 > 科技

 > 新人編程入門教程

新人編程入門教程

科技 更新时间:2025-04-04 06:46:50

新人編程入門教程?我大二開始接觸編程,如今已經過了五年,本以為自己即使沒有多厲害,但是也好歹可以在社區指點一二了,但是最近發現自己不過是個高級新手而已,我來為大家科普一下關于新人編程入門教程?下面希望有你要的答案,我們一起來看看吧!

新人編程入門教程(經驗分享編程五年)1

新人編程入門教程

我大二開始接觸編程,如今已經過了五年,本以為自己即使沒有多厲害,但是也好歹可以在社區指點一二了,但是最近發現自己不過是個高級新手而已!

今天,我就來分享,我的所思所得,也希望忙于需求和解bug的程序員們來駐足一下,重新審視自己的思維方式。

我的辦法

我自己在需求中遇到編程難題時,經常是這樣解決:

将報錯信息或者疑惑在google中搜索,大概率看到stack overflow網站出現,往後會有csdn,博客園等。

點進去,不看問題,先看最高贊的描述,如果意思和我的想解決的是同一個問題,就複制代碼,大緻改改,黏到我的項目中。

如果生效并有時間,我會認真理解這段代碼,确保沒有副作用;如果沒時間,就直接過了,反正,能跑就行。

如果不生效,從步驟1再開始,如果stack overflow沒有了,就選csdn……

靠着上面的步驟,我曾經解決過無數問題,但是有什麼問題呢?我們來看下面的模型。

德雷福斯模型

這個模型,主要是按照水平将程序員分為5個階段:

下面的加粗部分是水平的核心描述詞,大家可以對照下自己處于的水平。

新手:靠着指令清單可以解決問題,但是需要脫離情境

但是一旦遇到與清單不符的事情就沒轍,比如各種裝機,配環境教程,一般新手遇到與教程不符合的場景就沒辦法了,所以這類教程一般需要詳細再詳細

高級新手:可以獨立嘗試完成任務,但是很難靠自己完全解決,高級新手不想要全局思維

他們想要快速獲取信息。例如,當學習一門新語言或API時,你可能會感覺到這點,你發現自己會快速浏覽文檔以尋找一個方法定義或參數列表。你不想在此刻尋根究底,或者重新溫習一遍基礎知識。

高級新手能夠根據過去的經驗,逐步在正确的情境中采納建議,但比較吃力。同時,他們能夠開始形成一些總體原則,但不是“全貌”。他們沒有全面的理解,而且的确不想有。

上面這段話,完全匹配我我解決編程遇到問題時的情景……讀得我後背發涼,手心冒汗,要是我繼續以前的方法,估計我就算工作十年,也仍然是一年經驗循環十年的高級新手

勝任者:能夠建立問題域的概念模型,有效地使用它們,并解決問題

我覺得一般每個組裡面都有那麼兩三個人很讓人很放心,幾乎沒有出過錯,每次問進度都是順利完成那種……

精通者:需要全局思維。他們将圍繞這個技術,尋找并想了解更大的概念框架

這種就屬于架構師級别了,一個很大的需求,能夠拆解出對應的技術棧,分配給到對應的人處理,一般這種人都能當上leader,或者是組裡面的救火隊員,僅僅憑借聽你的問題描述就大緻猜出問題所在

另外,精通者屬于靠近專家的水平,從勝任者到精通者是質的飛躍,大部分人一生隻能到勝任者

專家:靠直覺工作,多的就不說了,這不是光靠努力就能達到的,不在我們今天的讨論範圍

不知道你屬于哪種水平,我現在,且預計未來兩年内,可能都還是處于高級新手的行列,因為坦白講,在我做需求時,我經常會遇到靠我自己無法解決的問題與知識缺漏,沒有谷歌,我早失業了……

也不是說勝任者就不需要谷歌,隻是也許不應該像我現在這麼頻繁。

關注情景,系統思維

我想大多數人都處于新手或者高級新手的行列,而高級新手要想達到勝任者,其實也是質的跨越,因為有一個思維的鴻溝需要跨越,如果不是天賦異常,或者讀書,靠自己恐怕很難琢磨清楚

而現在,我就要告訴你,這個鴻溝是什麼,以及去嘗試跨越他

我先問個問題,人是什麼?

如果你沒有想過這個問題,可以先思考下,再繼續看

古人說:人是沒有羽毛的兩腿動物

然後有人就将雞拔掉了羽毛,說,這就是你定義的人

那麼人到底是什麼?

你會發現,從這個思路上走,你需要說無數個限定詞,人是,

沒有羽毛,但有頭發,但也可能沒有頭發

兩腿,但也可以一條腿或者沒有腿

雙眼,但也可以一隻眼或者沒有眼

……

根本無法下定義,因為你犯了上面模型中說的“新手”錯誤,也就是

新手:靠着指令清單可以解決問題,但是需要脫離情境

人的狀态實在太多了,任何脫離情境的指令清單都無法全部囊括,隻有勝任者的問題模型 和精通者的全局思維能夠描述

比如馬克思的:人是一切社會關系的總和

這句話,将人放入了社會當中,人不是獨立的個體,而是系統特定功能的一部分

人的狀态是無窮的,系統的一部分組合也是無窮的,無窮就可以窮盡無窮,隻需要找到系統中具有共性的一部分作為人的定義即可

同樣的道理

問題是什麼?問題也不是獨立存在的實體,是系統内部的元素交互産生的錯誤關系,我解決的不是某個獨立的問題,而是将系統内部某些部分的錯誤關系,修正了

在解決問題時,除了看問題本身,還要看到背後的系統關系,抽絲剝繭,順藤摸瓜,不斷完善,即使前路漫漫,但這是從高級新手邁向勝任者的必經之路,也是建立問題模型的必要考驗

這條路注定枯燥,所以需要有效的方法,每個人的方法各不相同,但是究其本質,需要滿足以下四點

(1)需要一個明确定義的任務。

(2)任務需要有适當難度——有挑戰性但可行。

(3)任務環境可以提供大量反饋,以便于你采取行動。

(4)提供重複犯錯和糾正錯誤的機會。

比起更加枯燥的理論學習,編程開發,所見即所得,也許是最适合滿足上面要求的領域之一了,畢竟當編譯代碼的時候,編譯器永遠永遠忠實的告訴你,你到底出了多少錯誤。

掘金作者:小松漫步


對啦對啦!另外的話為了幫助大家,輕松,高效學習C語言/C ,我給大家分享我收集的資源,從最零基礎開始的,幫助大家在學習C語言的道路上披荊斬棘!可以來我粉絲群領取哦~

編程學習書籍分享:

編程學習視頻分享:

整理分享(多年學習的源碼、項目實戰視頻、項目筆記,基礎入門教程)最重要的是你可以在群裡面交流提問編程問題哦!

對于C/C 感興趣可以關注小編在後台私信我:【編程交流】一起來學習哦!可以領取一些C/C 的項目學習視頻資料哦!已經設置好了關鍵詞自動回複,自動領取就好了!

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved