非科班出身谍肤,能學(xué)好編程嗎?

首先還是來(lái)說(shuō)編程是什么哗伯?

無(wú)論你是不是程序員荒揣,每一天你都在編程,每一天你都被編程焊刹。編程系任,就是設(shè)計(jì)一些步驟,組織這些步驟虐块,讓這些步驟在當(dāng)前環(huán)境中正確的運(yùn)行俩滥,最終得出自己想要的結(jié)果。

你的每一天都是在起床非凌、喝水举农、吃飯、工作敞嗡、上廁所颁糟、娛樂(lè)、睡覺(jué)等步驟的有序組織下運(yùn)轉(zhuǎn)的喉悴,你活在這個(gè)程序中棱貌,同時(shí)你在這個(gè)程序中為改善自己的生活而制定各種計(jì)劃并努力去實(shí)現(xiàn)。

機(jī)械設(shè)計(jì)箕肃,其實(shí)比編程還要編程婚脱。所謂的機(jī)械零件,就是數(shù)據(jù)結(jié)構(gòu)。所謂的傳動(dòng)機(jī)制障贸,就是應(yīng)用程序接口(API)错森。所謂發(fā)動(dòng)機(jī),就是程序的內(nèi)核篮洁。你將零件裝配好涩维,通過(guò)傳動(dòng)機(jī)制將它們接駁到發(fā)動(dòng)機(jī)上,于是你就創(chuàng)造出來(lái)一部機(jī)器袁波,通上電或者打著火瓦阐,就可以讓它運(yùn)轉(zhuǎn)起來(lái)。

編程比機(jī)械設(shè)計(jì)來(lái)的更為簡(jiǎn)單篷牌,你不需要經(jīng)常給自己所編寫(xiě)的程序添加潤(rùn)滑油睡蟋,也不需要去對(duì)每個(gè)數(shù)據(jù)結(jié)構(gòu)進(jìn)行復(fù)雜的力學(xué)分析,更不需要關(guān)注這些數(shù)據(jù)結(jié)構(gòu)是否嚴(yán)絲合縫的相互配合枷颊,至少目前的計(jì)算機(jī)軟件工程是這個(gè)樣子的戳杀,它不像機(jī)械工程學(xué)科那樣以堅(jiān)實(shí)的物理定律為基礎(chǔ)。機(jī)械的結(jié)構(gòu)與運(yùn)行規(guī)律總是可計(jì)算偷卧、可分析的豺瘤,而軟件的結(jié)構(gòu)與運(yùn)行過(guò)程卻充滿著太多不嚴(yán)格的環(huán)節(jié)。這種不嚴(yán)格听诸,卻給我們營(yíng)造了一個(gè)可以發(fā)揮天賦或工科實(shí)踐經(jīng)驗(yàn)的空間。顯然蚕泽,即使軟件工程存在著各種不嚴(yán)格晌梨,但是我們卻能夠通過(guò)編程模擬出機(jī)械工程的一切。事實(shí)上也是如此须妻,現(xiàn)代的機(jī)械工程領(lǐng)域仔蝌,軟件已經(jīng)無(wú)處不在。

機(jī)械設(shè)計(jì)有很多精妙的『算法』荒吏,像縫紉機(jī)敛惊、槍械、發(fā)動(dòng)機(jī)之類的機(jī)構(gòu)绰更,設(shè)計(jì)它們其實(shí)要比計(jì)算機(jī)世界里的算法設(shè)計(jì)難得多瞧挤,而且這些機(jī)構(gòu)對(duì)人類文明的發(fā)展往往能夠產(chǎn)生巨大的推動(dòng)作用。希望你不要因此愛(ài)上機(jī)械設(shè)計(jì)……學(xué)會(huì)編程儡湾,你會(huì)對(duì)機(jī)械設(shè)計(jì)的理解更為深刻特恬。因?yàn)榫幊淌菍ⅰ涸O(shè)計(jì)』本身作為一種智力活動(dòng)而對(duì)待的。你可以將機(jī)械工程領(lǐng)域的那些智力活動(dòng)應(yīng)用于編程徐钠,也可以將編程中的智力活動(dòng)應(yīng)用到任何設(shè)計(jì)之中癌刽。

最近很多同學(xué)都留言說(shuō):自己不是科班出身而且零基礎(chǔ),能學(xué)好編程嗎?

這個(gè)問(wèn)題我的回答是:哪個(gè)人不是從零基礎(chǔ)開(kāi)始學(xué)的显拜,你又不是第一個(gè)衡奥!

非科班出身的人總是會(huì)引發(fā)各種對(duì)抗力量,這個(gè)庫(kù)怎么安不上远荠?這段程序是怎么運(yùn)行的杰赛?

寫(xiě)程序遇到?bug 的時(shí)候,

科班出身的人先想到的是怎么排查?bug矮台。

非科班出身的人先想到的是懷疑人生乏屯,

怎么會(huì)有這種問(wèn)題?

我是不是不適合學(xué)編程瘦赫?

學(xué)新東西的時(shí)候辰晕,

科班出身的人是在一個(gè)穩(wěn)固的地基上添磚加瓦,底子穩(wěn)确虱、塌不了含友。

非科班出身的人是在拿著拼圖的一角尋找關(guān)聯(lián)的碎片,只有拼的足夠多校辩,最后才能連接成完整的知識(shí)網(wǎng)絡(luò)窘问。

我以前也試圖提升過(guò)自己的學(xué)習(xí)能力,但真不像雞湯文里說(shuō)的學(xué)習(xí)某種模式能改變你的思維宜咒、加入一個(gè)讀書(shū)會(huì)能讓你成為終生學(xué)習(xí)者惠赫,不是這樣的。只有學(xué)一個(gè)自己不擅長(zhǎng)的東西故黑、把自己推出舒適區(qū)儿咱、反復(fù)碰壁,這個(gè)過(guò)程才讓我學(xué)會(huì)了如何學(xué)習(xí)场晶。

從循規(guī)蹈矩到自尋出路

幾年前混埠,當(dāng)我決心從零開(kāi)始學(xué)編程的時(shí)候,我制定了一個(gè)「每天編程1小時(shí)」的計(jì)劃诗轻。

和大多數(shù)人一樣钳宪,我想系統(tǒng)的、有體系的去學(xué)習(xí)扳炬,跟著教程從基礎(chǔ)學(xué)起吏颖。那時(shí)候還在印象筆記建了一個(gè)筆記本叫《每天編程1小時(shí)》,收集一些好的教程鞠柄,根據(jù)知識(shí)點(diǎn)試著去列一套成體系的學(xué)習(xí)路徑侦高。

開(kāi)始跟著教程學(xué)的時(shí)候,問(wèn)題來(lái)了厌杜》钋海看了幾章之后计螺,突然就會(huì)出現(xiàn)看不懂的概念,知識(shí)就斷層了瞧壮,就跟上數(shù)學(xué)課撿了根筆之后發(fā)現(xiàn)后面的就聽(tīng)不懂了登馒,但我也沒(méi)錯(cuò)過(guò)什么啊。我又試著跟著示例代碼敲咆槽,敲完也不知道這段代碼是怎么運(yùn)作的陈轿,自己只要一拓展就會(huì)出錯(cuò),后來(lái)敲煩了就直接復(fù)制粘貼秦忿,感覺(jué)學(xué)的特別迷茫麦射。

實(shí)在學(xué)不下去的時(shí)候,就換一本教程灯谣,基本都是從第一章開(kāi)始覺(jué)得會(huì)了潜秋,但實(shí)際上又不知道學(xué)的這個(gè)要怎么去使,這種感覺(jué)就一直在我的腦子里嗡嗡的轉(zhuǎn)胎许。到后來(lái)那一個(gè)概念我都看了六遍了峻呛,誰(shuí)講都那樣,但還是不會(huì)使辜窑。

這時(shí)候開(kāi)始對(duì)系統(tǒng)學(xué)習(xí)的方法有點(diǎn)懷疑了钩述,大家都說(shuō)要從底層學(xué)起、看大量書(shū)單穆碎,但會(huì)不會(huì)這種系統(tǒng)學(xué)習(xí)的方式不適合我這個(gè)非科班出身的新手牙勘?畢竟,我已經(jīng)沒(méi)有4年時(shí)間來(lái)學(xué)編程了啊惨远,我每天只有1小時(shí)能用來(lái)學(xué)習(xí)谜悟,再這樣繼續(xù)看各種瑣碎的語(yǔ)法細(xì)節(jié),我就要失去耐心了北秽。

我想,不如先寫(xiě)點(diǎn)小項(xiàng)目練練手最筒。于是我開(kāi)始從一些簡(jiǎn)單的程序?qū)懫鸷孛ィ瑢?xiě)一個(gè)匯率轉(zhuǎn)換的公式、寫(xiě)一個(gè)隨機(jī)生成姓名的系統(tǒng)床蜘,寫(xiě)一個(gè)學(xué)生圖書(shū)管理辙培,可能這些程序在專業(yè)人士眼里都算不上是項(xiàng)目,幾行代碼和簡(jiǎn)單語(yǔ)法就能搞定了邢锯,但對(duì)于我來(lái)說(shuō)扬蕊,這些程序就是一個(gè)個(gè)使用情景,我從這些使用情景中理解了概念的真正意義丹擎。

其實(shí)很多概念都是基于無(wú)數(shù)個(gè)場(chǎng)景的抽象尾抑,抽象了之后就會(huì)少了很多細(xì)節(jié)歇父,給人一種太籠統(tǒng)、太晦澀的感覺(jué)再愈。而讓人印象最深刻的是場(chǎng)景榜苫,就像提到「燙」的時(shí)候,第一時(shí)間想到的是被燙的場(chǎng)景和感覺(jué)翎冲,而不是燙的定義垂睬。

所以說(shuō),開(kāi)始動(dòng)手寫(xiě)練手項(xiàng)目抗悍,是我自學(xué)編程的一個(gè)重大轉(zhuǎn)折點(diǎn)驹饺,讓我開(kāi)始把編程用起來(lái)了。

發(fā)現(xiàn)別人沒(méi)辦法幫自己走出困境是有點(diǎn)沮喪的缴渊,但是可能掙扎的過(guò)程也是我學(xué)習(xí)的一部分赏壹。發(fā)現(xiàn)無(wú)路可走了,就只能靠提升自己的解決問(wèn)題能力來(lái)突破困境疟暖。

經(jīng)歷過(guò)這次求助之后卡儒,我發(fā)現(xiàn),如果我不能清楚準(zhǔn)確的描述問(wèn)題俐巴,我就沒(méi)辦法解決這個(gè)問(wèn)題骨望。而問(wèn)題一旦被清楚準(zhǔn)確的描述了,也就變得很容易解決了欣舵。探索了一段時(shí)間之后擎鸠,我甚至形成了一個(gè)自己的解決問(wèn)題

方法論:

第一步:提出假設(shè)

假設(shè)階段是最重要的,如果你對(duì)一個(gè)事情沒(méi)有假設(shè)缘圈,說(shuō)明你沒(méi)有思考劣光。有時(shí)候之所以會(huì)痛苦,就是因?yàn)榘l(fā)現(xiàn)事實(shí)和你認(rèn)為最正確的假設(shè)是不一樣的糟把。在阿加莎的小說(shuō)里绢涡,平庸的偵探會(huì)為自己的推斷找各種牽強(qiáng)的證據(jù),而波洛會(huì)勇于根據(jù)事實(shí)不斷推翻自己的推斷遣疯。

在假設(shè)階段雄可,我會(huì)從我的角度對(duì)這個(gè)問(wèn)題做幾個(gè)推斷。報(bào)了一個(gè)錯(cuò)之后缠犀,我腦子里會(huì)有若干個(gè)假設(shè)数苫,是環(huán)境錯(cuò)誤導(dǎo)致的,還是語(yǔ)法錯(cuò)誤導(dǎo)致的辨液,還是網(wǎng)站的什么問(wèn)題導(dǎo)致的

第二步:搜索與修正

在這個(gè)階段虐急,我把所有假設(shè)轉(zhuǎn)換成不同的形式進(jìn)行搜索。拆分假設(shè)滔迈,重組語(yǔ)言止吁,領(lǐng)域分類被辑,轉(zhuǎn)換形態(tài)…用這些方法挨著個(gè)搜索一圈,會(huì)排除掉一些東西赏殃,但如果還是不行敷待,我會(huì)往回退一步,搜一下我做的這個(gè)事情有沒(méi)有人在做仁热,或者找一個(gè)相關(guān)視頻跟著敲榜揖。這樣下來(lái),幾乎沒(méi)有什么問(wèn)題是解決不了的抗蠢。

通過(guò)這樣大量信息的檢索與對(duì)比之后举哟,往往我會(huì)認(rèn)識(shí)到自己思路上的一些根本性錯(cuò)誤,有一些假設(shè)是不成立的迅矛。就比如說(shuō)我可能會(huì)費(fèi)力去想如何用石膏去做一個(gè)音色好聽(tīng)的吉他妨猩,石膏就不應(yīng)該拿來(lái)做吉他。在初學(xué)時(shí)會(huì)犯很多這種假設(shè)上的錯(cuò)誤秽褒,我通過(guò)幾輪會(huì)修正自己的常識(shí)壶硅,等到穩(wěn)固了之后,再在常識(shí)上進(jìn)行一些創(chuàng)新销斟,當(dāng)我知道了大家會(huì)找最好的桃花芯木做吉他的時(shí)候庐椒,我再去思考,是否存在比桃花芯木聲學(xué)共振還好的材料蚂踊。

第三步:回歸問(wèn)題

在經(jīng)歷了前兩個(gè)階段之后這時(shí)候問(wèn)題本身就已經(jīng)變得清晰了很多约谈,這時(shí)候只需要做的就是,將你認(rèn)為最有信心的解決方案大膽的實(shí)踐犁钟。如果成功那么問(wèn)題就迎刃而解棱诱,如果不幸失敗,那就洗把臉振作一下涝动,重新回到第一步迈勋。

在反復(fù)經(jīng)歷這些階段之后,我發(fā)現(xiàn)在解決新問(wèn)題的時(shí)候醋粟,可以進(jìn)行一個(gè)準(zhǔn)確的假設(shè)了粪躬,因?yàn)槲乙呀?jīng)積累了足夠多的編程常識(shí)。后來(lái)讀到《解決問(wèn)題心理學(xué)》這本書(shū)昔穴,發(fā)現(xiàn)里面提出的方法和我自己總結(jié)的還挺像的,有一種欣慰的感覺(jué)提前,知道了自己解決問(wèn)題的方法是經(jīng)過(guò)科學(xué)理論驗(yàn)證的吗货。

成長(zhǎng)的唯一辦法就是寫(xiě)更多代碼

雖然能做的事情比以前多了,但有些時(shí)候總會(huì)有一種不安狈网、甚至是自卑感宙搬。就像是拼好了幾大塊拼圖笨腥,卻沒(méi)有把這些都連起來(lái)拼成一個(gè)完整的知識(shí)網(wǎng)絡(luò)。于是就想勇垛,是不是還是應(yīng)該系統(tǒng)學(xué)習(xí)脖母、從底層老老實(shí)實(shí)的學(xué)起。

那段時(shí)間闲孤,我又有了一種迷茫的感覺(jué)谆级,面對(duì)著這么浩大的任務(wù)不知道該怎么進(jìn)行下去。那段時(shí)間感覺(jué)很無(wú)助讼积、失去了方向肥照,每天胡亂找些視頻來(lái)看。

我覺(jué)得對(duì)于技術(shù)上的學(xué)習(xí)讓我知道了技術(shù)的可能性并抱有警惕之心勤众,在最關(guān)鍵的時(shí)刻派上用場(chǎng)舆绎。尤其是創(chuàng)業(yè)的時(shí)候,更需要在無(wú)路可走的情況下们颜,找到解決方案吕朵。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市窥突,隨后出現(xiàn)的幾起案子努溃,更是在濱河造成了極大的恐慌,老刑警劉巖波岛,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茅坛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡则拷,警方通過(guò)查閱死者的電腦和手機(jī)贡蓖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)煌茬,“玉大人斥铺,你說(shuō)我怎么就攤上這事√成疲” “怎么了晾蜘?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)眠屎。 經(jīng)常有香客問(wèn)我剔交,道長(zhǎng),這世上最難降的妖魔是什么改衩? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任岖常,我火速辦了婚禮,結(jié)果婚禮上葫督,老公的妹妹穿的比我還像新娘竭鞍。我一直安慰自己板惑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布偎快。 她就那樣靜靜地躺著冯乘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晒夹。 梳的紋絲不亂的頭發(fā)上裆馒,一...
    開(kāi)封第一講書(shū)人閱讀 51,182評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音惋戏,去河邊找鬼领追。 笑死,一個(gè)胖子當(dāng)著我的面吹牛响逢,可吹牛的內(nèi)容都是我干的绒窑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼舔亭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼些膨!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起钦铺,我...
    開(kāi)封第一講書(shū)人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤订雾,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后矛洞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體洼哎,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年沼本,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了噩峦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抽兆,死狀恐怖识补,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辫红,我是刑警寧澤凭涂,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站贴妻,受9級(jí)特大地震影響切油,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜名惩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一白翻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦滤馍、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至熙涤,卻和暖如春阁苞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背祠挫。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工那槽, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拇惋,地道東北人鸠项。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像驴一,于是被迫代替她去往敵國(guó)和親慌植。 傳聞我的和親對(duì)象是個(gè)殘疾皇子甚牲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容