天天看點

奉勸那些想把程式設計學好的學弟學妹們!嘔心瀝血,袒露心聲,掏心掏肺

CSDN 的小夥伴們,大家好,我是沉默王二。

作為 CSDN 的前排部落客(18 萬+關注,有點飄了哈),我接觸了太多太多想學程式設計、想把程式設計學好的人,有從别的專業轉過來的,有零基礎自學的,有科班出身的。他們當中的一部分人,學着學着就放棄了,或者還在放棄的路上。

是以真的想掏心掏肺給大家談一談,在學好程式設計這條路上,我們該做好哪些心理準備,該怎麼去學。

01、很遺憾

我上大學那會,學校的計算機專業剛成立兩年,也就是說,我們是第二批。據說,第一批做小白鼠的學長學姐們,很多在畢業的時候都沒從事計算機專業方面的工作。倒不是他們不想找這方面的工作,而是本地的工作機會寥寥無幾。

很幸運,我是班裡面為數不多堅持下來的。準确來說,這個數不超過 10。剩餘的呢?能在大一的時候轉專業的都轉了,轉不了的畢業後都幹别的去了。

2008 年那會,鄭州(老家河南洛陽的,老鄉可以關注下哈)幾乎沒有計算機專業方面的工作,于是我們都莫名其妙地喪失了對未來的信心。老師們呢,也不吭聲,哪怕說一句,“你們去北上廣深闖一闖吧”,沒準我們都能成為時代的弄潮兒,畢竟一線城市的工作機會還是挺多的,把握住的話,還真能成就一番作為,畢竟早就是優勢啊。

現在想起來,不僅為我自己感到遺憾,也為班裡面的同學們感到遺憾。我們的專業是學校最不看好的,但卻是那個時代最有前景的,十多年的時間也證明了這一點。但我們還是因為自身的局限性錯過了,錯過了去一線城市闖蕩的最佳時機。

以前,程式員稀缺,但機會也少;現在,機會多,程式員也多。每個時代都有每個時代的局限性,那還要學不學程式設計了呢?

02、選擇比努力更重要

時不時就會有人問我,“25 歲了,學程式設計還來得及嗎?”“30 歲了,學程式設計晚嗎?”也有人問我,“正在上高中,我想以後從事軟體開發,我該學些什麼呢?”

每個人,不管處于什麼樣的年齡段,都有選擇的權力。

大家應該聽過這句話,“網際網路時代,選擇比努力更重要。”于是,大多數人就在糾結,到底該選擇什麼才能不那麼努力就輕而易舉的得到,到底選擇什麼才能不後悔。

但大多數人往往會忽略一件事,說“選擇比努力更重要”這句話的人,其實付出了很多很多常人看不到的努力。

很多人聽說 IT 行業很吃香,于是倔強的選擇了 IT,這是對的,網際網路雖然已經很卷了,但仍然處在蓬勃發展的階段,很多地方都充滿了機會。

我要告訴大家的是,既然選擇了,就要付出努力,不要輕言放棄。

很多事情,短時間内都是沒有答案的,隻有把時間線放得長一點,才能驗證選擇到底是否正确。

03、程式設計難嗎

我妹學了有小半年的程式設計了,她就經常給我抱怨,“程式設計太難了!”

PS:非忽悠,真的,大家可以點選連結看我另外一篇文章,送我妹上了大學。

說句實在話,程式設計确實不是一件容易的事兒,我上大學那會,也覺得程式設計難,難得想要放棄!真的,一點不騙大家。

現在不是放寒假了嘛,我就沒看見過我妹打開電腦敲過代碼,每天用得最多的一個軟體,大家不用猜應該就知道,它叫“抖音”。

抖音是一件國民級的軟體,的确給我們帶來了很多歡樂和感動,我不讨厭它也不喜歡它,因為對于那些自制力差的人來說,抖音悄無聲息地就把他們的時間消耗殆盡。

卡耐基的《人性的弱點》裡闡述了一個發人深省的觀點:

99% 的情況下,不管犯下多麼嚴重的錯誤,人們都會優先歸咎于他人。

例子我就不再舉了,我也有過這樣的想法。一開始學程式設計很難,于是同學們不約而同地都把責任歸咎到了老師那邊,認為是老師自己學藝不精,是以才沒辦法把我們教好。

但事實上,這就是人性的弱點,我們都在想方設法地為自己找借口,找一個看起來很合理的接口。

程式設計難不難,我估計沒人敢說容易,哪怕是出了名的大佬們。可正因為難,才有價值,不是嗎?因為難,就不學了嗎?

04、努力就真的能成功嗎

答案也顯而易見,“不一定。”

我每周會去三次健身房,每次都會見到一個人,他的肚子好像一直就那麼大。他沒有請私人教練,也沒有練習器械,單純的就是在跑步機上慢走,走大概 20 分鐘左右。

在我看來,他很努力也很自律,然而這樣的努力,往往收不到任何的效果。

這也就是為什麼,常常有人會抱怨,“為什麼那誰誰誰努力了就成功了,而我沒有呢!”

每天把輸出“hello world”的程式敲上一百遍,堅持一百天,這樣學程式設計的話,效果可想而知,是學不好的。努力,并不是不斷地做重複性的工作。

真正的努力,需要花費足夠多的時間,并且要不斷的尋求突破。

就拿學習 Java 來說吧,一開始可能要先學習 C 語言,打下堅實的基礎,如果沒有學的話,直接開始學 Java 也行,但以後有時間的話,還是要補一補的,好處很多。從 Java 基礎知識,到面向對象程式設計,到網絡程式設計,到多線程并發,到 Java 虛拟機,到性能優化。

這一條線下來,還不夠。還要學習工具,比如說 IDE、Git、Maven;還要學習架構,比如說 Spring、MyBatis、Spring Boot;還要學習資料庫,比如說 MySQL、Redis 等等。

我在知乎上有一個 3100 多贊的 Java 自學路線,這裡推薦給大家。

自學java,學多久可以自己找到工作?

PS:說句心裡話,在知乎上拿到 3100+ 贊真的不容易,尤其是對于計算機領域的部落客來說。真的幫助了許許多多的讀者,希望大家不要錯過。

我也同步到了 CSDN 上,大家可以點選連結看一看了。

拜托,學妹,别再問我怎麼自學 Java 了!和盤托出

除此之外,資料結構與算法、設計模式、計算機網絡、計算機組成原理、作業系統等等,這些也要學,也隻有這樣,不斷地走出舒适區,不斷地突破,不斷地尋求邊界,然後才能真正地把程式設計學好。

說到設計模式,我這裡有一份小傅哥重寫的 Java 設計模式,已經下載下傳了2 萬多次,同樣強烈推薦給大家。可以通過下面的連結擷取。

設計模式,牛逼!

05、目标如何定

對,我們常說,做任何事情之前,都要先定個目标,這樣做起事情來就有了動力,不至于漫無目的。

但,如果做什麼事情都奔着一個目标去,會感覺很累,累到有時候你會喪失信心。

我們可以把“我要學好程式設計”作為目标,也可以把這個目标簡單做下拆分,比如說先入門再進階,然後再拓展。更甚至,可以抱着一種“玩一玩”的心态,也沒什麼大不了的。

我喜歡看王小波的書,但一開始,我并不知道有王小波這個人,而在通過一個叫《一個人的書房》的播客節目了解到的。這個播客裡提到了《沉默的大多數》,于是我就買來讀了讀,覺得有趣得不得了,然後我就又買了時代三部曲,然後就讀啊讀。

等到我要寫作的時候,莫名其妙地,就受到了王小波的影響,寫出來的文字就帶有一些“幽默風趣”在裡面。

但如果一開始,我是抱着一種我要把文章寫得有趣,再去讀王小波的作品的話,沒準我會讀得很困難,因為我可能會靜不下心來,我想從書裡面挖掘“有趣”,可能就失去了閱讀的興趣。

同樣的,如果我們抱着一種“玩一玩”的心态來學習程式設計的話,沒準真能把程式設計學好。但如果我們抱着一種“我一定要把程式設計學好”這種心态的話,沒準在遇到困難的時候就放棄了,因為我們定下來的目标很難完成,以至于我們有一種負罪感,這種學習狀态下,學好是一件很難的事,學不好倒是一件很容易的事。

把目标降到最低,也是為什麼我們在學習一門程式設計語言的時候要敲“hello world”的原因。

最後,希望大家都能把程式設計學好,從一鍵三連做起吧。