我是如何从程序小白成为码农的
轉眼大學生活就要結束了,想想還真有點舍不得。簡單敘述一下我大學的編程生涯。
大學一年級,對我來說,可以說基本上沒有接觸到什么編程的技能,買了個筆記本也就是用來聊聊天看看電影什么的。至于C語言是什么,我去!還是睡覺打球吧。從大一就養成了翹課的習慣,導致整個大學基本上都沒有上過幾節課。罪過…幸運的是靠著考前的幾天的抱佛腳居然沒有掛科,還拿了幾次獎學金,和學霸們埋頭苦讀比起來也算是值了。
記得大一下學期開設了C語言的課,也是大學期間唯一的一門專門教授編程語言的課,尼瑪由于缺課太多,中途去聽一堂完全是天書,老師講的也很死板,毫無激情。后來索性和同學打好招呼點名告訴我一聲,然后就不去了。記得考前一天的晚上,正值夏天,那個熱呀~~~捧著C語言的書,心里還不停的罵:尼瑪這個‘*’(指針)簡直就是坑爹呀!由于缺少練習,加上平時成績不高,期末考試成績自然不會高了。
轉變是在大一暑假,那時候有個C語言的課程設計,是我們學校一個出了名嚴苛的女老師帶的,年紀有點大了,幾乎每一個在她實驗室里的人都被他狠狠的批斗過。進實驗室那是很嚴肅的,必須衣著整潔,必須攜帶課本(沒有會被罵或趕出去),上機前必須要預習和規劃本次實驗要做的內容(沒錯這個要寫在紙上,還要拿給她看然后評分),不許大聲說話,不能把水和食物帶進去,甚至連每個儀器應該放在什么位置都規定好了,她的記憶力很好,如果上次犯了錯,就別想下次了。總之想糊弄她老人家,門都沒有。習慣懶散的我還真的是很不適應,還好我為人比較低調,估計是少數的幾個沒有被罵的人了。
課設的題目是要做一個學籍成績管理系統,開發的模式大約是上世紀90年代的模式。所用的開發工具當然也是老到那種你根本不可能輕易在Window 7之類的系統下安裝成功的玩意兒,有興趣的朋友可以百度一下“UCDOS”和“Turbo C2.0”這兩個老古董!沒錯,尼瑪就是這樣的鼠標完全不能發揮作用的開發環境。現在VS都2015了,但是在我們實驗室里,VC6.0 那都是高大上的萬一,記得當時有個同學用的VC6寫的,瞬間就想膜拜。但是這東西在實驗室老師眼里卻是不行的,沒錯,老師絕不允許使用VC6.0這樣的偷懶的方式做課程設計,唯一有一個國防生估計是以前就接觸過編程使用VC6也是哀求了老師好多次才讓通過。你能想象那個Turbo C有多么操蛋嗎?下載一個試一下就知道了!
這個就是傳說中的UCDOS
這個就是傳說中的Turo C(TC2.0),你能想象在上面調試上千行的程序時的感受嗎?
?
顯然,僅僅靠在實驗室里面的幾個小時是不可能完成這個艱巨的任務的,不得不安裝環境在課后完成。但是老師會這么輕易讓你得逞的嗎?我們那時候已經普遍使用Windows7的操作系統了,我用的是x64的,別說UCDOS了,就連Turbo C你都不可能裝的上去(我那時候也真的很老實,在課后看到別人用VC6.0完全被那花哨的界面和強大的功能驚嚇到了,基本上是望而生畏不敢用),以我們當時的水平,自己搭建環境還是很困難的。后來,我了解到還有虛擬機這個東西存在,下載了一個VMWare破解了,照著網上的教程一步一步安裝,經過無數次的失敗,也是花了整整兩天才搞好。
當時下載一個東西還是蠻困難的,你知道失敗一個鏡像損失是很慘重的,學校的網速是1M的帶寬,也就是下載速度封頂了也就128K每秒,現在的手機都比他快!并且上網收費還貴。不過一切的一切都是值得的!我是第一個在自己的電腦上成功配置好自己的環境的,沒錯Windows 98(這也算得上古董級的東西了)可以完美運行UCDOS和TC2.0!當那個丑陋的屎綠色(不知道用什么來形容)界面出來的時候,我的那個興奮呀。然后我也被很多同學叫過去幫他們配置環境,我的那個優越感瞬間爆棚呀!
經過多方借鑒,最終我還是完成了,下面是兩張簡略的截圖:支持增刪查改的基本操作,另外可以存盤,從文件中讀取數據,可以統計各科的數據。
當年費好大力氣完成的學籍管理系統
?
?
這還沒完,課程設計做完了當然要寫實驗報告,為了防止Ctr+C,V的現象發生,實驗報告一律手寫,至少20頁。臥槽,為了這個實驗報告,我居然寫了整整一個白天加晚上。
手寫的近30頁的實驗報告
從連C語言的基本語法都不會,到一個軟件的成型,過程雖然相當的艱苦,但是最后回頭看也是收獲頗豐的,最重要的是打開了我的變成世界大門,建立了信心。
大二就分專業了,我選擇了物聯網工程專業,選擇的原因很簡單,聽學長說這個專業課很多,我想多磨練一下自己。后來證明,課程的確很多,就是那種周一到周五全是課,偶爾有空隙就安排實驗,周某也是。至于磨練自己,呵呵,還是高估了自己的積極性,滿課對于我來說也基本上是沒有課。
有了大一某課程設計的經歷,我決定好好補一補C語言基礎,買了本《C和指針》,這是我所遇見的最經典的C語言入門著作了,沒有之一!開始只是看電子版,后來買了紙質書越看越入迷,每天8點起床開始看,邊看邊在電腦上實驗,晚上10點就困得不行了。堅持了十天左右吧,頓時覺得豁然開朗,可以大喊一句C語言so easy(當然現在不這么認為,現在基本上每年我都會重新學習一遍C語言,每次都會有不同的感受)。
然后對我影響最大的就是“面向對象”這個術語了,最初接觸是在大二一個同學跟我講:大學一定要學一門面向對象的語言。比如C++、Java。后來我才知道C語言是面向過程的,用來做大型工程是很困難的。我周圍的大神是在是太多了,我荒廢了大一,看這他們用上了高大上的Java,C++。我嘞個去!好高端,Java的代碼好長,他們是怎么記住的?C++ 和C語言長得還比較像,但是一看書就懵了,什么命名空間,構造函數,析構函數,復制構造,STL。Fuck 完全搞不懂!
??? 經常聽院里的某某某大神用xxx語言寫了個xxx東西,好牛逼!頓時心就涼了一大截,不得不問一句上天:難道人與人之間的差距就這么大嗎?
??? 當然人最不能喪失的就是憧憬,沒錯對未來的憧憬。我下定決心奮起猛追,中途累了或是遇到了挫折就停下來抽支煙,在椅子上仰面一躺,看著煙圈在臺燈周圍縈繞,享受著這份特有的孤獨,5分鐘后便又有了動力。
??? 那段時間,我不知道熬過了多少個這樣的夜晚,所學的技術莫非是C/C++/Java/Linux/Android之類的,不知道從什么時候開始,我也成為他們眼中厲害的角色了。我開始接觸項目,適應團隊的協作工作。
??? 這里提一下中途的一個插曲,有一次準備報一個培訓班,那個時候在我們學校周圍有個比較出名的IT培訓機構,里面有很多來自不同高校傳奇的人物(我認識的很多都去過)。我當時正準備學習Android,一個學長(傳奇人物,也是做展示的人之一)帶著我去他們的項目報告(宣傳),很多鄰校的高手輪番展示他們的項目,個個都高大上!最后有個大神和我同一個年級,然而他卻獨自開發了好幾款Android游戲,那時候Android開發并沒有現在普及,我還用的2.3的系統,會Android開發的人比較少。完了之后,學長對我說:你看人家同樣都是大二,人家就這么NB了。我那個自卑呀!
??? 機緣巧合,大三暑假一個國內還算可以的軟件公司來招暑假實習生,我和他在都進了,我相當興奮,敘述了仰慕他的經過,實習期間我們住在一起,成了無話不談的朋友。后來共事,才發現我已經追上他的腳步了。
??? 大三可以說是我的爆發期。有了大二的基礎,一般的項目基本上都能搞定,上了很多項目,拿了很多獎。后來還和幾個死黨創業,也是一場腥風血雨,從每個人100元啟動資金開始,到月入上萬的規模,我們也付出了很多。雖然最后還是失敗了,但至少也是一次人生的冒險!
??? 從程序小白,到職業碼農,這個過程很苦,但是我一直在堅持。相信很多人都有類似的經歷,對和錯其實不重要。引用最近熱播電視劇中的一句話:莫問前路兇吉,但求落幕無悔!
轉載于:https://www.cnblogs.com/csulennon/p/4242054.html
總結
以上是生活随笔為你收集整理的我是如何从程序小白成为码农的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java assert
- 下一篇: 介绍Visual Studio的Andr