如何讓學習編程成為一種快樂,有趣,優雅的事?

其實我是個文科生,現在大三,誰知道陰差陽錯的在大學喜歡上了編程。每天都花6-10個小時在編程學習上,於是乎總是很晚才睡覺。基本都半夜2-3點了。感覺自己壓力好大。其實我馬上就要大四了。喜歡編程,卻又不是科班出生。感覺自己差距挺大的。數據結構,演算法,設計模式,計算機網路感覺自己沒時間學習。一直在學習語言,寫小P程序,偶爾寫寫網站。因為我想畢業做一份開發的工作,但又感覺自己的基礎很差。就壓榨時間來學習,現在感覺自己很累,真怕自己還沒畢業就掛了。想問一下,有編程經驗的前輩,怎樣才能優雅快樂有趣的學習編程呢?對您的回答,不勝感激。

--------------------------------------------------------------------------------------------------------------------------------------------

2015年5月15日12:39更新

非常感謝大家給我的回答,真心感謝那些用自己寶貴的時間回答我的問題的人們。

說幾點為啥沒時間吧?大家都知道大三了,專業課是很多的。學習編程的時間都被專業課的時間給擠佔了。其實我並不喜歡自己的專業,但是作為一個學生,不喜歡卻不能改變什麼。可能有人會說,你大二怎麼不轉專業?誰知道我們專業這麼坑啊。再說喜歡上編程是大三啊,還是下半學期。

讀了你們的答案,我也在好好地思考,我依然很愛編程,每次看著那美麗的代碼,像個精靈一樣,被我一個一個敲打出來,內心都是喜悅的。愛著編程,愛著學習,努力的保持好奇心。希望大家也越來越進步,讓內心保持一份愛。

………………………………………………………………………………

2016年7月5日正式入職新浪!也算是給自己的大學自學生涯畫了一個圓滿的句號!前方的路還很長!再接再厲吧!加油嘍~各位!


先試著放鬆一下自己緊繃的神經吧,沒有必要如此的拚命,有時候休息一下可以前進的更好。

然後我想說的是,就國內目前對應屆的要求,我覺得真心都比較低,可能是因為比較缺的關係,所以你想當碼農的願望很容易實現。然後你說你每天花6-10小時編程,但是卻又說只是在編小程序,而且沒有時間學習數據結構與演算法等等,我覺得這不應該的,因為你每天花的時間已經足夠了,所以我覺得你應該調整一下計劃,思考一下是不是哪裡出了問題,如是不是每天都在研究一些很奇怪的角落問題。

而至於快樂,有趣,優雅,這個也不好說如何就變成這個了,往往能達成這個目的的並非是編程本身,而是編程可以做到的一些事情,從而產生快樂,有趣等感覺,形成一個良性循環,則會越學越好。


演算法/數據結構跟編程一塊學習。

沒有人能夠等都掌握了再去找工作。

我身邊很多外專業轉搞開發的,比如旅遊、工商。

也要有在工作中去進一步提升的念頭,學生時代多學點學紮實點固然是好,但總是有局限性,一方面自己多找實踐機會,另一方面用人單位也不會指望應屆生表現如同往屆生。


編程本來就是有趣的事情。


最重要一點,早睡,請信我


我跟題主情況類似,我是大三上決定轉行當程序員的,目前大三下找實習中。

挺理解題主心情的,幾個月前我跟題主的情況類似。現在找實習陸陸續續地也投了些簡歷也面試過,簡單說下我所了解的面試的情況吧,僅供參考。

據我觀察,校招的情況基本上分兩種:一種是偏向數據結構、演算法、計算機網路之類的基礎知識和考察邏輯思維方面的。另外一種情況就是著重考察語言的具體的細節的。前者多為比較大型的公司的,而後者則是比較小的公司而且後者也多少對專業知識有所涉及。所以我認為這些計算機核心專業課是必須要學的(企業是面向計算機專業招人的,考察的當然大多是他們的專業知識而不是他們課外自學的語言方面的東西)。

我的建議是先暫停對語言的學習,先把專業知識好好學一下(特別是如果想要進大公司)。這個過程其實沒有你想像中的那麼難,學完數據結構、計算機網路、計算機組成原理、操作系統 (都是入門水平,但足夠對付筆試)我大概用了一個月的時間,所以難度不會有你原來想的那麼大。而且學完這些感覺心裡就有很踏實的感覺。

當然項目也很重要,但是這些東西沒學一般情況可能連面試的機會都沒有。(有很好的項目除外)

所以時間當然很緊張,如果題主真的下定決心要轉行的話我覺得上課隨便應付一下就行。要把精力全部放在目前對你最有幫助方面上的學習才行。

以上,共勉。

============================================================================

20150521更新: 已經很幸運地拿到了實習7K轉正10K的offer,共勉。


兩個人熬夜debug的時候,

突然她發現一個地方的%d寫成了%c

然後發過來一個printf『』%c,3";

看著屏幕上顯示的心形符號,

覺得特別浪漫……

那一刻決定一定要娶這個人……


你不覺得為了做一個東西而去學習語言,學習演算法,學習數據結構這個過程就是一件快樂,有趣的事情嘛。而做成之後自然就優雅了~


先研究簡單的功能性的技術,避免摧毀自己的初期興趣--------許多人一見太難的東西就退了

感覺自己天下無敵了去看開源的各種流行軟體的代碼,學習架構和更複雜功能技術----學習牛人的代碼,免的自己成為井底之蛙

然後感覺自己天賦也就這樣了,選定自己確實感興趣而不是自己能做到的技術作為一輩子的方向


很多時候要不斷地刺激自己。

做一些簡單但是能看到成果的東西,感受到瓶頸之後,再從這個點突破自己。

這樣能有的放矢,能感受到自己的成長。有了積極的反饋就會很開心了。不要聽別人說什麼有用就去學。要自己判自己該做什麼。

另外,做喜歡的事情也會累的。要注意休息。


計算機學院的人表示科班出身也大多沒學到什麼東西,所以加油。


我是一個大一的計算機專業的學生,目前自己學習各種語言,也是感覺學的很累,但是很開心。

自己做的網頁、程序,或許沒有百度中的模板那麼漂亮、簡潔,但是其中包含了自己的一點一滴過程。知識是一個不斷積累的過程,只要用心去投入,就會有收穫。

作為一個學弟,我要說的是你現在需要的是靜下心來,擺脫環境的困擾,即使你是大三,即使周圍的同學已經有了自己的工作。你要做的就是確立自己的目標(網頁美工?前端開發?後台程序?),然後不斷的去學習。年齡不是你想成為程序員的絆腳石,主要的是你有耐心堅持下去。

PS:僅代表自己(一個無知的學弟)發表自己的觀點,輕噴。


樓主已經對編程感興趣了,對自己要求也比較高,希望在校招前掌握很多知識成為一個優秀的應屆生並且找到滿意的工作。但是由於起步晚了點兒,要在短時間內掌握大量的知識自己也覺得不太現實,雖然每天刻苦地編程,也仍然對未來感到惶恐不安。

我的看法是答主需要一份工作,然後可以在業餘時間提高自己。一點兒建議就是暑假看書學習的時候也順便好好寫簡歷,在秋招的時候放下自己學的還不夠紮實這個包袱,多跑跑招聘會,一邊筆試面試一邊學習編程。等有了份工作學習也就不會再這麼緊張了,就可以學習些比較重要的或者感興趣的了。

個人愚見。


我也是非計算機專業,和你不同的是我是理科生。不過我要強調的是,編程與專業無關,代碼終究是你思維過程的體現,文科生一樣可以做的很好,之前有服務員轉IT的勵志記憶可以去翻知乎。基礎差不要緊,看看是哪一塊薄弱,然後去看看xx編程思想,或者去網上找相關的源碼。多看多記多想多練,就像小學背課文那樣去熟讀代碼。至於如何快樂優美,這應該是你體會到了進步以後的,喜歡編程是最好的老師。


同大三 ,非計算機專業 ,在自學 。 看了答主的學習勁頭感覺很慚愧呀。

先說說我自己的情況 : 一直在看csapp 數據結構 演算法什麼的。最近在學flask。 也只寫過幾個爬蟲。

我的感悟: 自己動手寫了些小玩意以後,對理解書上的概念很有幫助 。不會像最初學習時那麼抽象。比如說:之前在網上看了一個非同步框架,研究了一番,雖然教程里有對非同步,並發,進程,線程的解釋,但是我理解很模糊。當看到csapp 跟 《計算機操作系統》裡面關於這些概念的描述的時候,我對框架的使用經歷就像例題一樣,很快就能讓我理解 。說專業基礎課是內功一點也沒錯。

題主自己動手,自己解決問題,系統學習計算機專業課會很輕鬆的。當題主發現自己看什麼會什麼,學什麼概念立馬就明白,滿滿的成就感 。優雅,有趣對比成就感都是渣渣 。 (我就是這麼中二)


多想,多練,再想,再練......


把編程的科學與藝術相結合。


既然熱愛編程,就已經很好啦!慢慢來,除了編寫小程序外,看看基礎的書籍,比如數據結構,演算法,網路,操作系統等。只要有興趣學習,趕上科班出身的,只是時間問題


樓主不妨介紹點學習方法,鄙人現在在國外念研究生,還有兩年畢業,想自學編程


我也是一名大學生,然後目前是大三, 本來自學的前端,然後因為自己想實現前後端通信就學了一下php,基本上可以實現請求和響應,但是自己總是不能堅持下來,感覺沒有學習的樂趣,一般在寢室就不想學習,總是喜歡打打遊戲,看看電影,不想敲代碼。有誰想一起學習編程的嗎?可以一起做以下東西,一起討論獲取會好一點


牛,入職新浪了..


你是想學編程而不得,我是不想學編程而不得已,相同的是,我們都不是科班出身,我的課題需要編程才能運算


本來如此。


推薦閱讀:

如果不是為了生活,你還會選擇編程么?
我是一個程序員,工作一年了。現在工作一般,想下班後充充電多學點東西。然而事實卻相反,怎麼讓自己的學習更加有毅力?
為什麼rust的創作者Graydon Hoare會離開Mozilla?
作為一名碼農,女票比自己更能碼,是種怎樣的體驗?
刷完演算法導論和leetcode,能找到什麼水平的工作?

TAG:互聯網 | 學習 | 程序員 | 編程語言 | 編程 |