你的程序員學習之路是怎樣的?你現在對於編程有哪些感想?


大一上默默的坐在周圍的高手看他們編碼,然後有空就背書上的代碼,周六周日就去實驗室敲,並且認真做書上的習題;

大一下可以根據一些想法編碼了,然後開始看更多的一些書,享受到了程序帶來的一些小快樂;

大二上開始接觸更多計算機的相關課程,開始覺得自己弱爆了,然後也感嘆計算機好神奇,然後開始更加認真的看書,去理解計算機;

大二下開始接觸到數據結構與演算法,計算機組織結構等東西,然後更加覺得計算機與程序的世界神奇無比,也開始更加認真的學習,思考,編程;

大二暑假的時候,總結了兩年的所學所想,然後覺得自己「開竅」了,編碼的能力與思維感覺與之前不同了;

大三上的時候,開始接觸操作系統等課程,然後開始嘗試把操作系統與之前所學的知識,如程序語言,數據結構與演算法等也結合起來,開始更加深層次的理解程序;

大三下的時候,把所有學習的東西融會貫通,開始覺得可以以更高層次的角度看到計算機與程序了,編碼也更加自信了;而在大三下項目實訓的時候,也做出了一個MMORPG的類似遊戲,震驚了同學與老師,並給研究生開了一次講座,講解了我在這個遊戲中所應用到的技術;因為專業方向沒有開設編譯原理課程,就去旁聽了編譯原理課程,覺得編譯原理給了自己對程序語言洗心革面的認識;

大三暑假的時候,申請了浙大CADCG國家重點實驗室,申請導師是鮑虎軍,要求兩周內實現泊松融合,然後我一周內實現後,得到了實驗室的offer,不過最後陰差陽錯錯過了,但還是保送到浙大去了;

大四上的時候,當了學院的C++助教,希望可以幫助學弟學妹少走彎路,可以以最淺顯易懂的方式教他們C++程序,這段經歷我很快樂;在大四上這段空閑時間,看了很多的計算機書籍,更加愛上了看書的快樂;而也確定了畢業設計做一個小型的操作系統內核,可以更加理解操作系統;

大四寒假到大四下,全心做了畢業設計,答辯老師似乎沒有聽懂,不過給了優秀;

研一上的時候,開始想自己最擅長與最喜歡的是什麼,本科除了學習,也做了很多雜七雜八的東西,包括Android APP,操作系統等,最後覺得自己在編譯和語言方面可能更感興趣,於是開始重新看編譯原理,思考編譯;

研一下的時候,IBM來學院進行實習招聘,筆試與面試拿了第一名,編譯團隊的經理說有可能能見到Bjarne這樣的大牛人物(我天真的相信了),放棄了思科美國的國際實習生,來了IBM編譯團隊實習;

13年5月開始實習與後面工作時,看了很多的編譯資料,自己如海綿一樣的每天吸收很多知識,搞清楚了很多以前不懂的地方,對編譯器和C++有了更深的認識,並且組內C++標準委員會成員祖籍是華人的原因,對我們中國區格外關照,於是也參與到了最新C++標準提案的討論,從慢慢的旁聽到後面可以提意見以及分享,收穫頗豐,而也因為這段經歷,確定了研究生畢業題目與編譯器相關;

在14年6月份研究生畢業答辯時,評審老師被我震驚了,覺得很不可思議,其實當時自己也挺激動的,說因為有很多大牛幫過我,他們比我更厲害,自己也更加意識到了有大牛才能帶來的飛翔感覺。而在14年底,也到某公司進行了C++11的技術演講,開始分享自己的所學所得,反饋很好,自己也很開心自己的東西可以讓他人也受益,在今年也參與到了書籍深入理解C++11新版本的編寫,負責C++標準庫章節的編寫與整體的編輯潤色,我想可以與更多的人分享所學所得。


編程感想:努力就會有收穫,但是一路走下來,覺得自己也很幸運,得到了很多大牛的幫助,而看得越多,見得越多,越覺得自己不會的很多,還有很長的路要走。所以現在每天都會學習到很晚;而建議就是初期可以學習書,自學為主(有大牛帶是最好的),後期需要結識各種大牛,帶自己各種裝逼各種飛,眼界可以有非常大的提升,可以抵自己N年的自學彎路,而也不能忘記書籍,因為很多書籍的作者是神牛。


原文轉載:從1.5k到18k, 一個程序員的5年成長之路

昨天收到了心儀企業的口頭offer, 回首當初什麼都不會開始學編程, 到現在恰好五年. 整天在社區晃悠, 看了不少的總結, 在這個時間點, 我也寫一份自己的總結吧.

我一直在社區分享, 所以, 這篇總結也是本著一種分享的態度, 希望相比我還年輕的同學們, 可以從中找到一些讓自己成長更快的文字.

先介紹下背景:
1. 2008年3月開始學習編程, 目前2013年3月;
2. 2009年6月計算機專業本科畢業;
3. 大學期間, 基本穩拿班級倒數第一, 高考英語49分, 大學英語除了補考沒及格過.

接著, 是一份總結:
1. 5年間60%以上的時間, 每天凌晨2-4點睡覺;
2. 為學習編程花費的總時間超過6000小時;
3. 手寫了超過50萬行代碼;
4. 記錄了超過100萬字學習筆記;
5. 錄製了兩份視頻教程;
6. 翻譯了小型技術文檔5份以上, 5個php擴展的官方文檔, jqueryui官方文檔一份, 書籍&


7. 供職過4家公司;
8. 獲得兩次優秀員工;

下面是這幾年的流水, 本人沒有過硬的文采, 只是以流水的方式記錄, 希望可以激勵到別人, 僅此而已:

2008年03月 -- 2008年10月, 一個偶然的機會, 看到了北京尚學堂的java視頻教程, 以此為起點,
我開始了自己的編程學習之路. 5月份汶川地震, 我在甘肅, 學校給通宵電, 在這段時間, 我就基本很少去學校上課了,
每天晚上學習到凌晨5-6點, 接著睡到10-11點, 每天兩袋1.3元的速食麵, 其餘所有的時間都用來學習. 這段時間,
我學會了基本的程序設計, 更重要的是, 視頻中, 馬士兵老是給我灌輸了影響我後來最重要的兩個觀念: 1) 不要怕英文, 出錯信息, 文檔,
都是學習英文的機會;
2) 不要怕出錯, 出錯就是學習的機會. 在後來的5年中, 我一直堅持, 我是從基本每個英文單詞都要查翻譯軟體, 到現在能翻譯一些東西的.
同樣, 我在碰到問題的時候, 都是自己跟蹤源代碼去解決. 這兩個觀念直接決定了我今天可以進入自己心儀的企業.


2008年10月 -- 2009年1月, 這段時間, 宿舍搬到了校本部, 沒有通宵電了. 學校一位老師找我們幫他做項目,
他為我們提供了他的宿舍, 很爛, 但我依然搬進去了, 就為了通宵電, 我住進了這個陰森森的宿舍, 恐懼纏繞著我, 但我依舊堅持.
白天幫老師做項目, 晚上繼續自己的學習. 同樣, 我也很感謝這位老師, 雖然他只給了我們很少的報酬, 但是, 我知道,
我得到的遠遠不是這些報酬可以比擬的. 這裡這種很容易滿足的心裡也是很重要的, 我奉勸各位職場新人, 剛開始不要期望什麼, 放低身段,
去做自己的積累就好了.
(想起從社區里看到的一句話: 現在的你, 憑什麼翹著二郎腿, 你應該放下你的腿, 身體前傾, 時刻保持戰鬥姿態)


2009年02月, 一個小插曲, 我獨自一人來到北京, 開始了第一次真正意義的獨立, 我來找工作. 我開始在網上投了10多份簡歷,
沒有回信. 接著我就急了, 直接從網上找招聘的公司, 查地圖, 直接去公司面試, 一般都還是會給面試機會的.
最好的成績是一家表示能給到3000左右, 但後來也沒信了. 這段時間, 我有兩個收穫: 1)
我列印了一整本的&, 20天的時間, 把基礎的數據結構與演算法讀了一遍; 2) 在一個完全陌生的城市,
我獨自一人, 查招聘信息, 查地圖, 找公司,
厚顏無恥的霸王面, 這一切都是對我處世能力的極大提升.


2009年03月 -- 2009年06月, 回到學校, 仍然沒有工作. 我繼續在老師的小黑屋, 實現了所有我找工作時學習的數據結構與演算法.
接著, 就進入了畢業季, 每天都泡在酒精中, 渾渾噩噩. 這段時間, 老婆把工作簽到了山東淄博, 我也聯繫了一家淄博的公司,
準備畢業後去面試. 這段時間, 和高中的畢業季一樣, 是值得懷念的, 放鬆, 愜意.


2009年06月 -- 2010年03月, 我來到了淄博, 找到了之前聯繫的公司, 面試沒有通過. 淄博是一個小城市,
做軟體開發的沒有幾家, 還好, 山東人好, 雖然沒有面試通過, 但我依然可以借宿在公司宿舍找工作, 就這樣, 我放下了所有的尊嚴,
在別人的宿舍借住, 15天後, 我找到了我的第一家公司. 公司有30人左右, 做國家電網的項目, 老闆人很好, 我還得到了一台筆記本電腦,
並且可以帶回家. 我每天加班到9點, 然後回家繼續學習大凌晨2點左右. 公司的工作相對輕鬆, 當然, 工資也很少,
只有1.5k. 老婆每周末都過來, 我們雖然沒有錢, 經常要靠吃速食麵度日, 但我們很幸福. 這段時間, 我學習了python,
javascript, 翻譯了jqueryui的文檔, 錄製了一套python的視頻教程, 錄製了一份fullcalendar的視頻教程,
我的生活非常的充實, 當然, 我還有另一個收穫: 我學會了吃苦. 冬天, 我住的小屋窗戶基本起不到保暖作用, 買個小電暖也起不了多少作用,
屋裡水龍頭都已經結冰, 我很長時間每天需要吃兩包速食麵, 但我依然堅持學習, 因為我知道有一天我將不再這樣.


2010年03月 -- 2011年03月, 從後來很多次建議來看, 不得不說老婆很有眼光. 她建議我去北京找工作, 我請了3天假,
再一次來到了北京, 不同於上一次, 我現在有大半年經驗, 我翻譯過文檔, 錄製過視頻教程, 有一定資本了. 然而, 事情並不是那麼順利,
當時期望的用友並沒有通過, 在用友面試完後, 我就覺得自己一無是處. 無奈, 只能退而求其次, 來到一家剛創業的遊戲公司.
跟這家公司談完薪水後, 我先給媽媽打了電話, 5.5k, 已經到了媽媽不能相信的地步. 就這樣, 我正式的踏入了北京的土地.
一年中, 我更多的是為公司付出, 自己以javascript研發進入, 後來頁面製作也的我搞, php後來我也要做, 伺服器我還要搞,
不得不說, 非常鍛煉人. 還是前面的態度, 我覺得這種鍛煉就是我最大的收穫, 從這裡開始, 我正式的轉向php開發.到2011年3月的時候,
已經覺得公司很不行了, 又碰巧老婆懷孕, 不得不考慮結婚的事情, 因此, 我就辭職, 回家結婚.


2011年04月 -- 2012年03月, 婚後的生活很好, 我又找到了一份工作, 這家公司相對比較大, 2000+的規模.
不過有一些體制內的特質, 我進入的薪資是6k, 全年能拿到18薪以上, 公司的福利待遇都很完善, 工作也相對輕鬆, 我的領導人也很好,
技術也很好, 就這樣, 在這家公司, 我又開始了自己的學習之路. 我繼續每天凌晨2-3點睡覺, 完成了這幾年最重要的積累:
unix環境高級編程, unix網路編程, php內核和擴展, shell/awk/sed等等最基礎的東西. 同樣, 在大公司中,
我也學會了更多的團隊協作, 同事關係方面的東西. 2012年03月, 公司一位副總跳槽, 就這樣, 我們小組集體來到了下一家公司.


2012年03月 -- 2013年03月, 新的公司, 項目還沒有上線, 已有的東西問題諸多, 我們被委以重任, 6.1日上線.
舊的團隊存在諸多問題, 士氣不振, 技術水平不足. 我們在6.1之前完成了很重要的幾件事: 1) 提升團隊士氣; 2) 整理舊的框架不好的東西;
3) 修改大量的bug; 4) 規範工作流程; 5) 規劃未來的技術框架. 雖然後來看做的東西一般, 但在這麼短的時間完成這一切,
我覺得實在難得. 雖然我一直自我感覺對自己更多的提升是自己業餘時間的學習, 但不可否認, 在這家公司的一年中,
我在團隊建設, 團隊管理, 團隊協作方面也有了質的變化. 在這家公司, 我的薪資得到了很大的提升, 達到了18K,
這是我從來都沒有想過的事情. 所以, 我想給諸位職場新人說, 你不要一開始就想要這要那, 只要你做的夠好, 終有一天,
你會發現你得到的遠比失去的要多.
後面這兩家公司中, 我覺得更重要的是我學會了一種處世方式, 首先學會聽別人說話, 然後自己做感悟, 做提升.

流水的結束, 就是在昨天, 我收到了自己心儀公司的口頭offer, 並且也已經給現在的公司提出了離職. 和leader聊了一會兒, 大家都還挺開心.

在前5年中, 我用的網名是selfimpr, 是self-improvement簡寫而來, 含義是: 自強不息. 5年中,
我從所有可能激勵我的地方去激勵自己, 讓自己可以一直堅持走到今天. 這幾天, 我在考慮, 用一個詞總結我的前5年. 我想, 這個詞就是"積累".
這也正是我想給這個行業的後來者說的, "積累", 並且要是不計回報的積累, 因為你一旦太過計較回報, 你的心就很難平靜, 往往就會半途而廢.
此外, 還有一點要說的是, 比我基礎更差的同學估計也很難找了, 所以, 能不能學有所成, 關鍵不在你是否有基礎, 而在於你付出了多少.

接下來, 我已經更換了自己的網名goosman, 是從swan goose演化而來, 我不知道"鴻鵠"用英語怎麼說, 就用了這個單詞, 希望我可以像書中所說, 利用自己前5年的積累, 一展鴻鵠之志.


我雖然不是程序員,但我是程序愛好者,所以不邀自來。
生於1997年的我雖然沒能趕上計算機蓬勃發展的年代,雖然比互聯網誕生得還要晚幾年,但是不能減少我對計算機的喜愛。
我從小的時候看《終結者2》電影。那個柏賽計算機公司的工程師在家裡沒日沒夜的研發新產品,我就瞬間被上面的命令行給吸引住了,驚呼:「這也太酷了吧」,自己以後也要這樣。但是我在海南的一個小鎮子上,那時候我們這裡沒有計算機,所以就感覺自己是在做白日夢。但是到了2002年暑假還沒有滿五周歲的時候,對面的大伯家被從大陸來的兩個人租了下來,剛開始的他只是擺了一些桌子,我還不以為然,但是兩周之後我所沒有親眼見過的東西出現了——電腦。堂哥他們從此之後很少去隔壁的電子遊戲廳而是去對面的大伯家打《反恐精英1.5》。之後就被堂哥他們帶去了這個只有區域網的「網吧」,當時是五毛錢半小時,所以我就拿了一塊錢在裡面跟他們玩《紅色警戒》,那時候一塊錢可是我一天的零花錢啊!但是,因為那是已經不是九十年代了,不用DOS了只有Windows98,所以也沒有接觸編程,身邊也沒有人搞這個所以沒有人可以給我解答關於計算機的知識。
到了2006年,同樣是暑假,隔壁的電子遊戲廳改造成了網吧,這可是有互聯網的喲。開張第一天是全天免費。再搶到位置後被在外上學的堂哥教了一下學會了玩《跑跑卡丁車》,之後兩年深深地染上了遊戲癮,以至於四年級期末考試排名在全班倒數十名裡面,被趕出了尖子班。
過渡——————雖然上面都沒有說到編程,但我就當做從接觸計算機說起吧。
2008年,家裡的負債還清之後終於可以買電腦了,我這時候搗鼓了家裡的計算機之後不喜歡玩遊戲了,而是喜歡上了網上衝浪,整天搜關於電腦方面的知識。
2010年,這時候已經上初一了,學會了網購。然後我在卓越亞馬遜選購小說的時候看到了《與孩子一起學編程》。

這本書是我的編程啟蒙書。還在上面了解了位和位元組等等知識,之後對編程的熱愛一發不可收拾。
其實當時才剛剛起步,這樣的一本書我要花差不多半年才讀完,在暑假的時候才有時間將代碼自己敲一遍。
那時候這本書都是下午太陽開始漸漸落山的時候才抱著它在樓頂慢慢看。身邊沒有人會編程,遇到問題只能百度一下。
之後在用pygame寫了點小遊戲之後就不滿意了,就想自己弄個網站把自己遊戲放上去。在2011年的夏天在網易教程裡面學了用Dreamweaver製作網頁,但之後發現這東西根本不能讓我了解裡面的東西,不能滿足我的好奇心。我又買書了,買了《head first HTML與CSS》。

但是學完之後不懂設計網頁,然後用紙大概的畫一下網頁的結構然後花了很長時間才把靜態網頁做了出來,但是它根本不能供我上傳東西。所以又買書了,這次是《head first PHPMySQL》。

但學完了之後倒是實現了用戶交互的功能,只是那時候什麼都想學,就把這兩本書放在了一邊。這次大家應該已經猜到了,還是買書了,買了《嗨翻C語言》。

沒想到這次買的這本書不像之前的head first系列那樣那麼容易入門,這本書第二章的就講指針了,真是快要搞死我了,之後我就把它丟在了角落裡。之前亂折騰了這麼多東西,什麼東西都要插上一腳搞得到頭來只懂了點皮毛。仔細想想之後才發現自己喜歡的是計算機底層的東西,就買了《C prime plus》。

這本可真是救命書啊,但也是讀得最久的書,前後花了9個月這樣。但是懂了C語言之後轉而去學習其他語言很快就可以入門。之後在知乎上聽別人說學C語言最好在類Unix的操作系統下學習,所以就在去年暑假(呵呵,很多東西都是在暑假才有時間學習和實踐)的時候在網上學習了Linux,但是為了鞏固知識又買了《鳥哥的Linux私房菜》。高二學習很苦,還要在學習學校的知識之餘抽出時間來學習和鞏固計算機知識。曾一度想過放棄計算機,之後用每天學習編程的時間看一部電影和聽聽學友哥等人的音樂。電影呢當然還是港式的老片和美國老片,在看電影的過程中問問自己的內心是否真的喜歡計算機,最後還是不忘初心。
這次調整了心理之後決定像這些書的開頭說的那樣:「光看書是不夠的,應該扮演一個積極的角色把儘可能多的程序輸入計算機中」。開始偶爾參加一些開源項目,盡量尋找生活中能用編程解決的問題把它翻譯成編程語言... ...
回顧這幾年走來,曾經一句HelloWorld就讓自己開心樂翻天,由於之後不滿足於命令行的程序去學習框架搞GUI,到頭來發現這些東西只不過是表面功夫而已,除了能在小夥伴面前耍酷之外什麼都做不了。
還好現在認識到了也不晚,所以還是好好學習《編譯原理》、《操作系統》、《演算法》,《數據結構》等等打下堅實的基礎(好像有點雞湯了,原諒我這個高二的孩子吧)。
之後買了這些書籍學習中:

自從發現自己寫不出好的程序多半是由於演算法的問題之後的只能每天下午拿著筆記本在樓頂上磨劍了,沒有辦法啊,不是天才只能天天練。書本上的題做完之後還是感覺基礎不怎麼好,所以就聽著別人的推薦上各大高校的網站刷題,但是這些題有的變態,有的變態難。
沒有辦法的事情,誰讓我喜歡上了計算機,每次感覺厭倦的時候就看看一些IT人文的書籍,興趣又會自己回來。
現在網上的mooc很多,但是花太多時間在上面就沒有時間實踐了。身邊的環境決定了我不能成為第二個蓋茨,但是至少還能成為第一個自己。


進入2012 -- 回顧我走過的編程之路

伴隨我成長的編程書

寫程序真他媽爽啊

圖形學真是一個打發時間的好東西(三)


  • 如果你喜歡這是一份高回報的好職業
  • 編程很複雜,它的目標是找到簡單
  • 解決問題沒有定法,編程是解決問題的工具,不是唯一工具
  • 項目成功沒有定法,因為一切都在變化,人在變化,客戶,誰誰誰,還有你自己
  • 最佳實踐大多數時候是不對的,和你無關的,要辯證對待,大師沒你了解你的項目
  • 學一種語言你可能學不『會』編程,要學很多種不同的
  • 在一個層次上思考是考慮不全的,只有全棧思考,才能理解問題
  • 代碼沒什麼了不起的,完美的代碼也沒什麼了不起的,解決問題第一,特別是為客戶,為你的商業模式
  • 代碼越少越好,能不寫最好,沒有代碼就沒有維護,投入,煩惱
  • 周期估算是一個遊戲,玩好這個遊戲的最佳戰略是訓練自己ASAP交付的能力,而不是把一件一周的工作說成要一個月
  • 項目要具體問題具體分析,那才是agile的本質,行業里的教條主義是隨處可見的,很多項目都失敗了
  • 萬法歸一,編程的能力、方法論和價值觀和生活的其它方面是相通的
  • 編程是全人類的活動,但是編程語言幾乎都是用英語寫的
  • 這個職業的最大優勢,可能是獨立實現一個想法的能力

(程序員,八年代碼)


作為非計算機專業,我簡單回顧一下自己的歷程。我完全算不上牛人,半吊子的程度吧。

大二學C語言的時候,每天翹課,最後考試居然考了滿分。頓時覺得編程也許是自己強項。就想好好研究研究。但是身在數學系,每天都泡在數學裡面,根本就不知道怎麼個學習過程。

大三的時候,我覺得數學太難了,完全是給天才兒童玩的。決定放棄數學。當時折騰了好久,看了經濟學,看了證券,還去培訓機構當了數學老師。其中還有一件事兒,就是把C++ primer給啃完一邊。當時心裡覺得C語言那麼容易,C++應該就比C語言難一點點吧。(現在看來完全不是這麼一回事兒!!都很難!)

大四的時候,我覺得光會C++也不知道能幹嘛,很苦惱。於是去旁聽了數據結構的課。當然,我並沒有很好的學完,大概到紅黑樹我就沒繼續研究了,因為想做點項目。後來,問了老師,她搞VR的,就讓我看OpenGL。我看的速度特別快,大概1周左右,就可以畫出3d的模型,以及加光照。當時覺得簡直是太炫酷了。從此,迷上各種技術。

畢業設計的時候,直接用MFC做了一個3D漫遊的小程序,研究了一會LoD,B樣條什麼的,被大牛的論文搞得暈頭轉向。想想,當時畢設,大家都是各種數學論證,我上來就展示VR的程序,驚呆一批小夥伴。哈哈。

後來,我就做了這個老師的科研助理,1年時間。期間,看書就看雜了。一開始看了MFC,後來發現這東西過時又不好用,啃了會兒Qt。寫項目寫的代碼很亂,於是開始研究面向對象和設計模式,看了點UML。因為老師要求文檔完善,又研究了一下doxygen工具。不過應該不止這些,現在也想不起來了。

之後,我嘗試投了一下簡歷,進了一家2d棋牌遊戲公司。工作期間,把Boost庫用法看了一遍,收穫很大。聽說python很牛逼,開始學python。聽說emacs很好,掉進emacs深坑,由於按鍵潔癖,所有電腦各種系統快鍵綁定都我都研究了一下,反正都盡量弄成emacs風格的。後來公司有個項目,想讓我用cocos2d-x做,我又把這個看了一點,研究了一下代碼。發現引擎用lua做script,把lua學了一遍。寫遊戲的時候自己加了lua script的支持。業餘時間,接了個小外包項目,把SDL,matlab看了看,另外從別人代碼裡面也學到不少好東西。總之,學的這麼雜,奠定了我半吊子的基調。

後來,去了南方工作,換了個公司。零零散散雜七雜八的學東西,自己看書。期間,把DX過了一遍,shader簡單看了看。python更深入看了看。然後就抽時間學一些工具,git之類的。當時還覺得自己應該學linux,啃了鳥哥的那本書。我屬於基本上有什麼好東西都會嘗嘗鮮那種。不過,一直這樣子,也吃了比較大的虧。除了看過我的代碼的面試官,其他基本都覺得我很浮躁。其實我寫代碼還是很潔癖的,非常講究設計。此外,我學東西很快,不過大家更傾向於招一個直接能幹活的人,能把某個領域細節都有所把握的人,而不是我這種半吊子。

後來不幸生病,回家休養了。當時正好趕上考研報名最後一天,懷著試一試的心理,報了名。當然,報計算機來不及複習啦,因為我還沒系統的看過編譯、操作系統之類的書。數學嘛,數分高代又不難,看了一遍就感覺自己有點把握,然後就考了。考完離上學的半年時間,研究了彙編、emacs-lisp,unity3d,http,資料庫安全,機器學習,統計....又是各種雜。

現在正在讀研一。

上學期,很大精力研究遊戲,研究cocos-js,物理引擎。當然肯定是把js學了一遍。然後就是擼專業課。廢了很大的功夫看數學,才能保證不掛科。數學真是太難了,想吐啊。

這學期,我痛定思痛,反思了自己,決定好好找個領域鑽研下來。定為圖像和視覺。(本來想研究圖形,可惜導師是做機器學習理論的,只要退而求其次,研究圖像了)。希望自己以後能做得深入一點,學習的廣度上自己也算是可以了,總不深入,會被大家嘲諷的。

以上。寫的亂七八糟的。總結起來,就是興趣驅動。

不過,像我這麼「興趣廣泛」,也不是件好事兒。樓主引以為戒。


寫於十一年前 :

我現在高二了 我從高一開始接觸編程。現在已經一年了,這一年中,伴隨我度過了有快樂,也有悲傷,還有很多時候的迷茫,不知所措!回想這一年,我並沒有靜下心來好好的將一樣學好,學了很多,但沒有一樣能算得上學好。我曉得我翻犯的學編程的大忌——不專一。現在想來還是很後悔,我希望能總結一下,以便在下一年有個目標,不想第一年那樣象個無頭蒼蠅一樣到處亂撞。請高手們給與指點。

我高一的時候,家裡買了電腦。當時知道上網聊天。後來,我的一個朋友送給我了一本譚浩強的《visual basic程序設計教程》,我馬上被迷住了。尤其是在一個command1_click事件中寫了
print"sssssssss" 運行良好。當時就有了一股征服感。我馬上投入到了學習中,幾乎沒有遇上什麼險阻。一切都是那麼順利,我不禁感嘆!編程真簡單。我們信息課上也要學vb,要到高二才學。課本上是以一個小遊戲為例子講的。老師讓我們不用看那個,老師也不會講。因為沒時間,而且會考也不會考那麼難!我隨便看了一下在高一的假期就把那個遊戲寫出來了。壓縮了代碼和程序的體積加進了許多新東西! 受到老師的高度讚賞。我當時被興奮迷住了頭腦,以為編程不過如此。那時的想法是多麼的愚蠢,直到現在,我一想到我還是覺得那是我太幼稚。

我很輕鬆的看完那本書後,到網路去尋找知識。接觸了API,記得第一次看API,我那種就像小學時候看一元二次方程一樣,全然不知那是什麼個東東。特別是那個BitBlt,很長一段時間我才會用。我隱隱的覺得編程或許不像我想的那樣。的確,我在網上看了些文章後,一篇文章,我不懂2/3的專業名詞。我意識到,我什麼都不是。我的學習積極性受到了嚴重打擊,可並沒有影響我對編程的興趣。

記得我在網上看了下關於socket編程的文章,作了一個聊天程序,說白了就是個C/S程序,只是做了下美化而已。受到了我一個網友的好評,我很開心。那個晚上沒有睡覺,那或許是我用vb最激動地一次。

之後我就沒有對vb深入,因為我在網上看到很多人說vc難,激發了我的好奇心。我決定去看看那是個什麼東西,因此我學了C++,也不算學。只是看了下語法 知道了switch就像vb的select case 等。我買了本書,照著書上的講的 建一個dialog based。加一個控制項 雙擊它進入代碼區。我想,和vb沒什麼兩樣麻,照著書上作了幾個常式,也不覺得難。後來我下了孫鑫的視屏教程,看了他講的win32API建一個窗口,才知道這個application program interface的真正含義。才知道它是屬於windows的,不是屬於vb的。看了孫鑫在MFC程序中對winmain的跟蹤。才知道,我真是個傻子。

由於學習任務緊,我沒太多時間在編程上。之後就很少有時間了。只是在周末時在網上看幾篇我能理解的文章,再跟著作。雖然也積累了一點的知識,可畢竟還在表面。期間所過一些小東西,都是上不了台那種,無非就是什麼屏幕小精靈之類。

到了高二,我準備深入學習vc。可是我才覺得vc有多難,我看著MFC的代碼就覺得我在看甲骨文一樣。什麼文檔類指針,我學c++時連指針都么好好學。我才知道是基礎不夠,我重新學習C++,特地買了一本書。可我學到STL的時候,突然冒出那些什麼個容器、雙端隊列……哪些東西給我了個下馬威,我知道,哪些是數據結構的東東。我覺得什麼演算法么沒什麼必要學。我就沒有深入,而是對遊戲感了興趣,我投入到了對OpenGL的學習。

我從網上下了NEHE的OpenGL教程,前9課都是非常的輕鬆,我還作了幾個3D的Demo,可到了第九課,我學不下去了。當時我不知道為什麼,只是驚奇與那些人為什麼輕鬆駕馭那些結構體,為什麼可以輕鬆的算出相關的數據。而我不能,我開始懷疑我大腦。後來我的一個網友安慰我說沒什麼的,他建議我去看數據結構,我還是不敢相信。後來,我無意間看了信息學競賽,那上面沒有問那個API函數怎麼用的,我才知道API只是一種手段而已。真正的編程是數據結構加演算法。我這裡不賣那些書,我有夠了一本數據結構與演算法分析,美國人寫的。我覺得好難,什麼自反,傳遞。我學習的速度向蝸牛一般。現在,我學習到隊列了。不曉得我能否堅持!~~

我不知道是否有人有何我一樣的經歷。今天晚上心血來潮寫了這篇文章。只想回顧一下。現在,我對前面真得很迷茫,數據結構實在是很難,可學別的又不能深入?!~希望哪位高手能夠體會我這種心情,以指點迷津!。

那個時候:

  • VB 黨還在和 delphi 黨撕逼;
  • VC 的 MFC 和 borland 的 VCL 也硝煙滾滾;
  • Java 教正在慢慢壯大;
  • 金旭亮老師剛剛寫了《老程序員十年黯淡生涯總結》;
  • 有一個網站叫做 programfan;
  • visual assist x 是配合 vc 當之無愧的神器;
  • 你不能默寫出 int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) , 你都不好意思和人打招呼。
  • …………

現在,我依然在 happy 的寫著代碼,目測應該還能再寫一個十年。(逃


初中文憑蹲網吧十年煉成黑客高手,犯罪伏法洗心革面痛下決心學編程!(附視頻會議源碼贈送!)

1.

今年的秋,是個多事之秋。或許在夏天的淫雨中,就已經埋好了伏筆。
九月開學前夕,山東臨沂一個準大學新生,因為電話詐騙,在報案之後心臟驟停而猝死。一時間,消息震驚了全國。
我在河南老家看到新聞時後背一涼。當天晚上很早就上了床。悶熱異常,閉上眼,卻始終睡不著。
其實當大家還在驚嘆、揣測時,對於這種精準詐騙的路數我早就瞭然於心。
——因為,我就曾是一名電信網路詐騙犯。準確的說,我是一名曾獲罪入獄的黑客。

2.

在我兩歲的時候,父母就去了海南,跟著一個親戚做建築工。我在河南老家跟著爺爺奶奶一起生活。讀小學的時候,我的成績十分優異。於是家裡想辦法把我送進了縣城最好的初中。

寄宿在學校,經常跟同樣來自鄉下的同學廝混在一起,漸漸學會了打牌、上網等惡習。
因為自己的個子很矮,性格內向,一度很自卑。初一的時候,喜歡上了班上的一個女生,卻從來沒有被對方用正眼看過。後來被城裡的同學看出來了,男生女生都嘲笑我。那時起,我就在教室里感到特別壓抑,一面埋怨自己,自慚形穢,一面又分外思念父母和爺爺奶奶。只有跑到網吧的時候,我才會忘記這些痛楚。
後來就不能自拔。初二的時候因為多次逃課被處分記大過。爺爺讓二伯騎著摩托車送他趕到學校,給校領導挨個兒求情。風燭殘年的老人,給人一個個鞠躬作揖,求學校給我機會改正錯誤。至今想起,仍酸楚之至。當時,我寫下了2000字的檢討,保證決不再犯。
可是,這樣堅持了兩個多月,等來的卻是爺爺心臟病突發去世的噩耗。
爺爺的去世,帶給了我沉重的打擊,也讓我背上了深深的負罪——都是因為我不聽話讓爺爺太操心,爺爺才會病發去世。我久久的不能從這樣的傷痛中走出去。雖然再也沒有違反校紀而被退學,但是也沒有狀態聽課學習,勉強拿到了初中畢業證,200多分的中考成績讓我與高中無緣。

3.

後來跟同村人一起去了福建打工。業餘的時間都泡在了網吧里。憑藉著對電腦的興趣,我掌握很多電腦相關的知識。後來乾脆去一家網吧成為了一名網管。在這期間,我迷戀上了黑客技術,入侵系統,盜取個人信息,無所不幹。
直到,2010年。犯案被捕,判了兩年。

在獄期間我積極改造,獲得了多次減刑。出獄以後,憑藉著對計算機的天分,我很快就掌握了編程技術,如今我已經是一名程序員。雖然在杭州月薪7K已經很可以了,但是我現在的夢想是自己創業。
去年我模仿著好視通,自己開發了一套視頻會議系統。通過不斷的拓展渠道,總共賣出了5套,收入了8W多。
這個視頻會議系統應該算是我的處女作。國慶後,我就把工作辭了,再過兩天交接完,我就是自由身了。在公司這兩年,我收穫了很多,我非常感激老闆沒有嫌棄我的不良歷史而收留了我,也感謝同事給我的指導和幫助。但是天高任鳥飛,我的征途是星辰大海!
對於創業我滿懷熱忱,但是除了技術,我還需要資本、需要人脈、需要渠道、需要思路和方向。為此,我來園子里公開徵求合作夥伴!
有意者聯繫QQ:2175265424
為了表達自己的誠意,以及展示自己的實力,我把自己做的視頻會議系統拿出來做祭!

4. 視頻會議系統

支持的功能:

1.多人 視頻/語音/文字 會話。

2.多人協作 電子白板。

3.文件共享。

4.桌面共享

源碼下載:OVCS.rar

部署說明:

(1)將OVCS.Server部署到伺服器上,並運行起來。

(2)修改Client配置文件OVCS.exe.config中的ServerIP的值。

(3)運行第一個Client實例,以隨機帳號進入測試房間。

(4)在別的機器上繼續運行Client,以隨機帳號進入測試房間,大家即可在測試房間中進行視頻會議。


整理代碼,發現自己十二年前寫的代碼很牛。
回頭補充


我的興趣轉移路線:

  1. 研究所有值得玩一下的計算機硬體系統、軟體系統包括遊戲
  2. 研究所有編程系統和可編程系統
  3. 研究所有程序構成方法、範式和演算法
  4. 覺得CS最後都是數學,轉而去重學數學
  5. 覺得世間最有意義的是物理學。不過當初如果直接讀物理專業也許反而會無感

小時候用過小霸王版BASIC,之後就是一直打遊戲莫名學會了英語,畢業後一個老闆很神經的招聘了我,用他的原話就是:你簡歷寫的真牛逼,我怎麼搜索都有你。

然後拜VS和C#所賜,因為查英文資料無障礙,做起了複製粘貼黨。為了應付各種面試看了編譯原理,CLR via C#等裝逼資料,刷各種演算法題。那時候最擅長的就是和面試官大談.net 的垃圾回收機制。工作上倒是一直都那樣,用VS編程實在是太簡單了,而且什麼都能幹,Web,WinForm通吃。就這麼跟著微軟技術混飯吃。
今年加入微軟consulting service,算是完成了加入微軟的心愿。
至於以後比較迷茫,走一步看一步吧。

至於為什麼一直堅持當程序員?一來是窮,二來是不會幹別的。

完畢。


編程20年,各種體系的硬體都接觸過。小到8位6502和嵌入式,大到256核心CPU,百萬級別流處理器。

如果認為編程就是「軟體」而已,應該思想還處在一個階段。「 編程」本身是一個熟練技術活,只是科學中很小的一個分支而已,但體現的思想是一個寬廣的境地,更上層的思想之旅。

引用我回答問題時說過的一句話:
頂級的士兵叫Hero,頂級的程序員叫Hacker

妹妹,實踐層面可參閱Ada和Stallman的經歷即可,理論層面怎麼也得看Turing和馮諾依曼吧。

記得我問過你的問題不:計算機到底可以幹什麼? :)


一大批當年noi、ioi、acm經歷的程序員即將來臨

學習之路:小學(記得五年級開始)、中學 noip、noi、ioi -&>大學acm -&>畢業程序員

感想:++蛋的一輩子干程序員


已經很久不更新技術博客了,基本停留在工作第一年的時間上了。
最初是學vc,自己寫很少的代碼,一個帶界面的程序就產生了,困惑很久,不知道為什麼會這樣,運行崩潰,運行什麼也沒有顯示,的過程也糾結過。
後來是學驅動,hook結束進程的函數,有時候會藍屏死機,有時候保護進程也沒起任何效果,有時候保護了亂彈框。就算保護住了,自己也不知道啥原理。
再後來看很多書,也是似懂非懂的,磕磕碰碰的,算是對系統內核了解點了,也知道一些系統函數是如何實現的了。
再然後是不知道了解這些有什麼用,感覺挺牛,不知道怎麼用,實現個東西也不知道用什麼方案。惴惴不安的,小心的說思路,說技術實現。我一直也不知道我寫的驅動有什麼問題,啥時候會藍屏。
現在能提出方案了,也能理論上分析方案的優缺點了。還是總困惑,思路太少,考慮問題是不是過於簡單了。
說明下,我一直在小公司里,從技術到思路,都是自學來的。


遇到了一個肯帶我的人,感謝他


小時候家裡窮,買不起電腦。去鄰居家玩紅警98,覺得好尼瑪牛逼啊,於是就特別喜歡玩電腦。

初中接觸到 OI。那是天正藍,雲正白,人正中二,覺得編程豈不是就在創造一個世界?干TMD。

然後就進了我交的軟體工程系。

然後就成了一介碼農。

我覺得編程跟大多數別的事情最明顯的區別是容錯率特別低。比如考試,一道數學題做了一半可能能拿到一半分;一個程序只寫了一半那就是 0 分。十幾年來,編程帶給我最大的改變就是,粗心的毛病改善了不少……

ps. 蠢師父,你關心這個作甚……


89年,26歲。
小學1年級的時候家裡有了計算機。除了打遊戲之外接觸了一些dos命令什麼的。
小學3年級,母親教我學了Logo。
小學6年級的時候自學了vb。基本上就寫了點無限彈對話框的惡意程序。
初中自學VC++,失敗。
高中,基本上上課的時候都在文曲星上面寫BASIC程序。
高二,自學C++。然後被同學帶上了NOIP之路。自學了數據結構和演算法。
高三,參加NOIP,拿了個小獎,沒保送。
高考考入某名校EE系,卻幾乎荒廢了四年。四年之後得出結論,果然我還是喜歡編程。
大學的時候某天看到MIT的第六感的那個demo視頻,深覺震撼,試著模仿視頻里的內容自己寫一點東西。
大三實習獨自完成了一個計算機視覺的小軟體。
後來去美帝讀了CS碩士,用上面那個小軟體說服了計算機視覺實驗室的教授,讓我免費去幫他打工。
碩士畢業之後在美帝某startup做計算機視覺和機器學習1年。
去年底跳槽到了Google,做後端工程師(與視覺無關)。

一直以來學編程就覺得很開心。在碼代碼的時候我會覺得很愉快。
但是直到我碩士畢業之前,我都不確定我今後會去做一個職業碼農。
我想,如果我能早點意識到敲代碼就是我最想做的事情的話,說不定可以少走不少彎路。
大一的時候我一直在糾結要不要轉專業,後來沒有轉。關於這個決定後來我一直很後悔。


程序員學習之路是個無底洞,知識面遠超想像,還得靈活分配時間,保持家庭和睦。

for{
保持好奇,虛心接納。
}

1.項目或框架,設計到實現。

2.平常學習,結果導向過程。


因為對計算機底層原理感興趣,大專報了一個叫微電子的專業。結果畢業才知道,這是一個多麼大的坑。既然已經是個大專了還不如報個會計和老師來的實在。從學歷上看大專都落了本科一大截。就連考個老師和公務員都是區別對待,跟不用說走上社會去找工作,別人會把你放在眼裡,在加上在大學裡面都是迷茫加迷茫,沒有認清自己的處境,以及農村的黑暗。畢業之後就加重了悲劇的產生。各種的工作不順。現在的我既然在一個山裡面通過互聯網和網友們進行溝通。不過這個不是題目應該回答的。我還是講講和題目相關的話題,雖然這個話題對於看者的人生沒有多少啟迪,但是我還是要怒答
真正意義上接觸計算機,還真要算是我上大學的時候,讀高中的時候也接觸過電腦,不過那是在網吧,和一群同學,我去看他們打遊戲。那個時候,自己連字都不會打。所以感覺特別自卑,也覺得自己還真來自農村。沒有見識。很想買一台電腦,可是又不好意思開口向家裡面要。結果在一個老鄉那裡得知要出售一台二手電筒腦,就約定分期付款,搞了一台別人不要的二手。作為大學的玩物吧。
反正也是迷茫,就各種折騰,看過java,c,甚至連prolog這種人工智慧都玩過。最讓人懊惱的是,那個時候,我就開始關注智能手機的發展了。和其他人談的時候,別人都是鄙夷的態度。覺得一個手機能發展到什麼程度。那個時候我就已經接觸了android。可是很可惜,沒有堅持下來。如果那個時候就堅持下來,我想我也不至於現在還在農村坑爹了。雖然什麼都接觸過。可是沒有任何一門精通,也對未來沒有個規劃。不像現在雖然讀書的時候不愛看書,可是一旦看起考公務員的書就起勁的人真是太糊塗了。想想這些吧,在畢業的時候,書就像才發下的一樣。但是看看那些公務員的書都被翻爛了。結果不錯左右,當了公務員。感覺這個國家還真他媽的神奇,就是這樣的人在掌握這個國家哎。而我也成了他們的笑柄。不是如何如何。結果尼?
看著那些在大學花天酒地,結果畢業之後可以繼續花天酒地。而且國家給他錢讓他花天酒地。而我還在山裡面受著非人的折磨。就覺得這些都是一句空話。


大二黨一枚。高中時就對計算機和編程產生興趣,嘗試學習編程語言,不知如何開始。。學了下VB,最後每堅持下來,家裡有電腦,但是沒有聯網,也沒有人引導什麼的。。這是硬傷吧。。大學選專業時隨便選了一個,然後被電子信息錄了。大一時,一會兒單片機,一會兒C語言,一會兒又是Linux,當時都不知道Linux可以幹嘛,就覺得很酷。把一本鳥哥私房菜啃得差不多了。受益匪淺。不過,依然不知該如何學習。。大二時,因為導師的反覆強調,掌握一門過硬的技術對於找工作的重要性。上網各種找資料,查看大公司招聘的要求,關注了一堆大牛的博客。終於知道哪些東西是重要的,該如何去學習了。現在學習方向為Linux C/C++,web兩個應用方向。以及各種CS基礎原理的學習。買了一大堆經典書籍慢慢再啃。。共勉吧!


推薦閱讀:

天文學領域都需要哪些計算機技術?
英語差對學計算機有影響嗎?
如何用機器學習進行天氣預報?
海洋工程領域有哪些經典的教材(涉及傳統力學結構、機械電子、信息技術等各方面)?
如果外星科技中也有電腦,但是他們基礎科學中的數字不是阿拉伯數字,還能做出與我們電腦一樣的功能么?

TAG:程序員 | 編程 | 程序員修養 | 計算機科學 |