這兩天登入csdn,下面的廣告彈出鏈結寫著《學程式設計,還有必要上大學嗎?》原來是篇針對《收回你的偏見,軟體培訓機構更能出人才》和《90後高中生學程式設計月薪過萬,刺痛了誰?》討論的文章。看到大家不遺餘力的蓋樓,我也想添一把的。後來想想,其實我的經歷也可說明一些問題,於是就算了,還是寫文章來吐槽吧。
我學程式設計很早很早,97年的時候,我15歲,讀高一,學校參加市裡的程式設計比賽。從各個班級裡選拔一些成績比較好的學生參加。當時我對計算機這個東西的理解僅限於這個名稱。我在小班裡成績還可以,老師問我願意參加不,反正多學東西沒壞處,我就參加了。當時我不懂什麼叫程式語言,從地攤上隨便買了本basic程式設計的書(我的第一本計算機書籍)。學校為了能考個好成績,請了個計算機老師。這個老師也是我的計算機啟蒙老師。是從華中科技大學請來的(姓唐),是我們教導主任的朋友,從大學本科剛畢業沒有多久。培訓開始有很多人,沒到乙個星期就銳減到4個人。當時參賽的程式語言只能是qbasic或turbo pascal,也因為那本書的緣故,全部人當中只有我乙個在搞basic。弄得唐sir一邊講完pascal,一邊單獨給我開小灶講basic。那時候還是win95的天下,學校的電腦清一色的386,全部沒硬碟,靠5.25寸的軟碟機和dos啟動盤工作。唐sir給我做了張啟動盤,把qbasic和dos全部放了進去。學習過程是枯燥的,我老是把賦值語句與現實數學裡的方程劃等號,所以老是理解不了……
學習的內容從基本的qbasic語法直到一些簡單的演算法設計思想,如分治、貪心、回溯、動態規劃、深度廣度優先搜尋等等。兩個月參加了競賽。考試類似有點像acm,略帶趣味性的題目,自己設計演算法程式設計解決。提交**後,老師用測試用例測試一下。通過了本題即為正確。實在是丟人,我只得了20分,最低的入門級分數。唐sir安慰我們,本來計算機語言就比較難學,兩三個月能把語法滾熟就不錯了,再說這個題目,也比較難。考試結束後,唐sir南下深圳去工作了。而他在我心中埋下顆種子在慢慢的發芽。我自學了pascal,一直苦學程式設計。家裡比較窮,沒有辦法買電腦,我只能剩下一點零花錢到網咖裡去程式設計。別人在玩dos遊戲,我在搞basic、pascal。第二年的比賽,只有我乙個人參賽,唐sir沒能回來做老師。考得還不錯,得了市第二名。
高三了,學習壓力非常大。家裡貧寒,父母也都是文盲,學業上從小長大沒幫過什麼大忙,他們卻給我營造了非常好的學習條件。我只用管學習,什麼都不用管。平時做完額外的功課盡然也有不少時間可以去學習程式設計。高三那年我學習了c語言,用得是turbo c2.0的程式設計環境。到我高三畢業時,加上我pascal的**編寫量,我保留下來的**就超過了2萬行。同時,自己也順利的參加了高考,我們是先估分再填寫志願,交了表後,再苦等成績。考得很不錯,但是估分低了30多分,為了第一志願就能走。寫了西北工業大學。當時自己也很膨脹,認為計算機學得很不錯了,不用報計算機系了,於是乎報了個貌似很牛叉的「生物醫學工程」(這真的改變了我一生,勸填寫志願的朋友們要慎重)。分數下來後,我懊惱不已。連上大學那天,也是略有些不情願。命運的玩笑總是出人意料,入學體檢發現我生病了,只得休學一年。我從西工大校醫院出來,哭成淚人。「求求學校,讓我念書吧……」,當初的不情願變成了現在的卑躬屈膝。休學一年,高中同學們都去讀大學了,生的病略微有些傳染性。只得乙個人在家安心養病。三個月後,身體有了很大的起色,於是乎繼續學習c/c++程式設計,同時借了兩本高等數學,慢慢學習。
2023年7月,我終於可以開始我的大學生活了。外面的世界很精彩,外面的世界很無奈。班裡的男生用現在時下的話說都是「吊絲」,而女生全是「白富美」。青春的懵懂和現實的殘酷合成一杯烈酒,喝下後分不清東西。我還好,知道自己窮矮挫,那就踏實點乾自己的事情。大學我一共度過了三個暑假,因為窮,三個暑假分別是這樣過得:
第乙個暑假,寫了個關於vesa顯示卡的驅動,在dos下,可以將turbo c 2.0控制顯示卡的顏色到16m色。順便從圖書管裡找了些關於分形幾何的書,照著牛人的公式,寫了幾個曼德爾布羅特集合的、謝賓斯基三角形,驗證自己的真彩色。雖然分形的**是連抄帶寫,不是很理解,通過這個過程感受到數學和程式設計的不解之緣。整個**量不超過1萬行。
第二個暑假,剛剛學完了數位電路,我就想自己做個鬧鐘。當時在計算機系認識的幾個好友說學校和台灣的凌陽建立了個實驗室,推spce061a的微控制器,我第一次聽到這個東西,這個是一顆能支援語音的mcu。於是找到實驗室的老師,從他手裡買了顆spce061a。從電子市場買了個盜版protel99se,畫了個pcb,當時還不知道怎麼繪製原理圖。就是一根一根線硬那樣連上去的。畫了近一周,pcb發出去,因為沒錢,只能做白板。就是板子沒有綠油,阻焊層,那個板子焊接起來講究水平啊。特別的吃錫。剩下半個月的伙食費,買齊了元件,貼上板子。開始除錯了。從老師那裡借了個**器,開始程式設計。我的第乙個微控制器程式,**量不大,也就是幾千行。最終的產品是乙個用我聲音報時的鬧鐘,做完後,我把它送給我大學裡玩得比較好的女同學。從此,我對微控制器程式產生了濃厚的興趣,同樣是計算機,還是這個來得過癮。
學期結束,我看到了林銳博士寫得《高質量c/c++程式設計》,天哪,真的是得了個0分。文章中講得問題都是我天天犯得錯誤。我一下子明白了,理論學習和基礎的重要性。自己引以為傲的程式設計能力只不過是對乙個程式設計工具的熟練度罷了,最終還是需要理論和基礎來支撐的。我馬上注意到我專業的短板,生物醫學工程,天哪,我學得都是些什麼?看到西安對「高階程式設計師」的認定,留在西安工作一年就可以拿到工程師職稱。我開始準備考試,把作業系統、編譯原理、資料結構等等系統的學習一遍。順利的拿到了高階程式設計師證。
第三個暑假,剛剛學完軟體基礎,其實就去了一兩節課,學校規定,高階程式設計師是不需要參加這種課程的,所以,乾脆去幹點更無聊的事情。軟體基礎課要做個大作業,需要寫個軟體。計入考試成績。我就做了個影象處理軟體,剛好把自己學的數字訊號處理的演算法全部都應用到其中去了。對fft、數字濾波、邊緣檢測有了更深入的認識。一共用vc++6.0寫了3萬行。
大學畢業了,粗略的統計總的程式設計量超過10萬行c/c++**。而工資只有可憐的2.5k/月(2023年7月),很大程度上是因為專業不好,廠商不信任我所說的。兩年後,我順利成為一家公司的部門專案經理,管著乙個大約十幾個人的小部門。兢兢業業做了4年。做了大大小小約十幾個嵌入式專案(含硬體)。**量超過200萬 c/c++**。
回到我們的主題,程式設計,如果僅僅是掌握乙個程式語言,用熟練,並且做一些諸如一些介面應用的開發的話。那真的沒有必要去上大學。因為大學還教很多不是程式設計方面的東西,大學物理、普通化學,我的專業還有人體解剖、生理學……工作中也用不到,也沒必要去了解這些知識。
所以,廠商宣傳的時候,月薪怎麼高怎麼高,我只覺得是個幌子。真實的內容是,從事什麼樣的程式設計可以拿到高薪?如果僅僅是乙個語言熟練的人,那家公司肯定是錢太多了。亦或者是,從事的行業是一些比較偏門的,學習的人比較少的緊俏行業。這樣的狀態也維持不了多長的時間。畢竟我們所處的社會是市場化的,後面有經濟規律支配著。再者就是,這幾個被培訓者都是非常優秀的從業人員,鳳毛麟角而已。
不論怎麼說,有幾點我是贊同的:
1.培訓機構這樣宣傳會誤導大批的不明真相的群眾;
2.僅學會語言,做一些理論性不強的事務型程式設計工作,是不需要上大學的;
3.大學你說或不說,她都在那裡。中國的大學教育固然有盲區,培訓機構是大學的很好的補充,但師傅領進門,學藝在自身。什麼地方都有糟粕,也有精華。關鍵是怎麼吸收,怎麼決斷;
4.不要指望一次的學習,終身可以受益,中國式的暴發戶思想很害人。就像郭德綱說得那樣:「你能說話,我也能說話,為什麼你花錢來聽我說話?」「我們這行門檻在門裡啊!」對於電腦科學,真的是這樣。乙個領域的應用可能會因為行業的演變落寞,就像塞班和android,同樣是程式設計,技術是有差別的,唯有不變的是自己的學習能力,還有背後指導這些技術變遷的理論。
5.勞動改變生活,知識改變命運。不因為自己起點低而放棄,不因為自己起點高而驕縱。人生是一點點攢出來的,或者說是堅持出來的。
現在入門還有必要學PHP嗎?
php的高速發展 php正逐漸成為功能齊全的物件導向語言,正在為函式式程式設計提供簡單的抽象,這可以說是當前的熱點。並且,php正在發展一套非常棒的工具,php喜歡composer 並有充分的理由,因為它在一些大型開源專案的協同工作上做出了值得讚揚的努力。當然,我們不應該忘記當前的熱點 php 在 ...
不上大學 你可以學些什麼?
如果不上大學,你會面臨一些什麼樣的問題?人際 由於中國的畸形發展模式,資源日益集中到一二線城市,正在形成以超大城市集群為核心的發展模式,你將缺少在大型城市,乙個正常的人際交往圈子 技能 沒有四年大學緩衝期,用於尋找自身的興趣與培育技能,尤其是一些需要花費較多時間來培養的技能,可能導致基礎不牢 自信 ...
不上大學 你可以學些什麼?
2011 11 23 11 00 如果不上大學,你會面臨一些什麼樣的問題?人際 由於中國的畸形發展模式,資源日益集中到一二線城市,正在形成以超大城市集群為核心的發展模式,你將缺少在大型城市,乙個正常的人際交往圈子 技能 沒有四年大學緩衝期,用於尋找自身的興趣與培育技能,尤其是一些需要花費較多時間來培...