程序員初學(xué)者如何自學(xué)編程另類版
一、要做大神編程基本要靠自學(xué)
俗話說老師引進(jìn)門,修行靠個人。
編程也不例外。沒有哪個培訓(xùn)機(jī)構(gòu)能100%保證能把你培養(yǎng)成啥樣。編程不是健身,你的私人教練無法幫你把胸脯練得和他一樣大。
不要糾結(jié)是否要選培訓(xùn)機(jī)構(gòu)、要選哪個培訓(xùn)機(jī)構(gòu)。實(shí)際上如果你強(qiáng)迫自己學(xué)一門語言一年,如果還是懵懂的很厲害(譬如連hello world都寫不出),那么基本請考慮換個事情做做吧。
一般好的程序員都是靠自學(xué)的。就像老板大部分都沒上過MBA.
二、開發(fā)語言選型
選啥語言?
Php?你會發(fā)現(xiàn)學(xué)了一半,好像java做的事情更多
Java?你會發(fā)現(xiàn)學(xué)了一半好像ios開發(fā)更有前景
Ios?你會發(fā)現(xiàn)還不如android好
Andoid?你會發(fā)現(xiàn)其實(shí)還是php容易找工作
所以初學(xué)者其實(shí)很難選擇語言。既然難,索性不要急于選。
小建議:不管什么語言,在網(wǎng)上都很容易找到入門教程。這里要說明的是,不建議一上來就買紙質(zhì)書,一方面現(xiàn)在的紙質(zhì)書濫竽充數(shù)的太多,抄襲太多,另一方面,也貴~~~
我看到過一個學(xué)校的專業(yè)班級(和企業(yè)合作,有php、java和.net三個方向),學(xué)生到了大四可以選擇進(jìn)入這個班級,作為企業(yè)定向培訓(xùn)。這個班級分類學(xué)生很有意思:
1、 老師在網(wǎng)上下載了php、java和.net三個語言的基礎(chǔ)教程,分發(fā)給大家
2、 每個人分別看入門教程各一天。(只許看第一章,不許動手寫程序)
3、 然后選擇自己“感覺看的最爽”的語言進(jìn)行班級語言分類選擇。
這就是一個很實(shí)踐的幫助學(xué)生選語言的方式。
三、選一本好書
如果語言確定了,那么選一本書就很重要。
如果你沒有項(xiàng)目經(jīng)驗(yàn),那么學(xué)一門語言基本上靠看網(wǎng)絡(luò)文章是學(xué)不好的。必須買書,因?yàn)榫W(wǎng)絡(luò)上很多技術(shù)文章都有各種錯誤,我寫的也不例外。
一本書好不好,主要看第一章、中間一章和最后兩章?;A(chǔ)講得好,一般不會差。
高級章講的好,一般也不會差。差的書在于基礎(chǔ)部分講的冗余、啰嗦、拖沓,到了高級章節(jié)一掠而過(實(shí)際上是寫書的人自己也不會)。
看定價,除非書是精裝版、經(jīng)典版、國外版,如果死貴死貴的書,一般都是出版社找個有名聲大牛,然后大牛找個專門寫書的團(tuán)隊(duì)這邊抄,那邊摘。
四、不管什么不會都不能不會javascript
要么你打算這輩子就搞底層開發(fā)了(那么你還敢說你是初學(xué)者?還用我教?)
看看google帶來的web去世和各種html5應(yīng)用就知道,如果你還沒有工作想學(xué)習(xí)編程,我建議你從javascript入手,如果這門語言你能學(xué)的得心應(yīng)手,那么今后玩java一定不會玩的太木魚。
五、Linux學(xué)習(xí)
微軟不做老大已經(jīng)很多年,大家一定很懷念當(dāng)年vb6雄霸天下的年代。這個年代如果你還只會windows而對linux一點(diǎn)不會,那么已經(jīng)不能稱之為合格的程序員了。
據(jù)統(tǒng)計(jì),學(xué)習(xí)linux很有助于你學(xué)習(xí)真正的開發(fā)語言。所以如果你一點(diǎn)基礎(chǔ)都沒有,不妨拋開一切所謂的語言,先把linux學(xué)一學(xué),學(xué)到一定程度后你必然會覺得豁然開朗。
除非你記性太差,那么linux其實(shí)并不難學(xué)。
六、不要過早玩開源
這點(diǎn)其實(shí)很多忽視了,都以為學(xué)編程先弄個開源框架學(xué)習(xí)。一般來說,好的開源框架集結(jié)了多個技術(shù)大神多年來的技術(shù)經(jīng)驗(yàn)和思想,你想在毫無基礎(chǔ)的情況下學(xué)會必然會讓你一頭霧水。
正所謂:零基礎(chǔ)學(xué)開源框架屬于殺敵一千自傷八百,很不上算。當(dāng)然也不排除有些奇葩能搞定。
太早玩開源好比早戀,弊總是大于利,但是運(yùn)氣好你成為大神的時間會縮短很多。
七、反向思維寫程序
大部分程序員初學(xué)編程有個習(xí)慣,寫完一段代碼后想著如何優(yōu)化。實(shí)際上這個辦法適合大部分人,但凡事都有例外,并不一定所有人都能這么干并能干成功,反而越寫越覺得沒有信心,當(dāng)你也有這種情況時請看下面方法:
這里有個我在一個技術(shù)大牛“回憶錄”中看到的辦法:
先按照教程學(xué)習(xí),然后合上書、拔了網(wǎng)線,把剛才學(xué)到的內(nèi)容用程序?qū)懗鰜?,注意不要寫太多?/p>
編譯通過后,進(jìn)行反向思維,寫一段性能更爛的程序,并時刻關(guān)注內(nèi)存耗費(fèi)情況。
再次編譯通過后,重復(fù)上述步驟,再寫一段性能更爛的程序,并時刻關(guān)注cpu耗費(fèi)情況。
…………
重復(fù)上述步驟數(shù)次后,你會發(fā)現(xiàn)你再也寫不出比最后一段更爛的程序了,然后你會發(fā)現(xiàn)為了寫更爛的程序你竟然把各種知識點(diǎn)都掌握了。
八、開個”淘寶店”
這個辦法也是一個很有趣的辦法,也是我道聽途說來的,據(jù)說這個辦法幫助了很多人“突然間”成為了程序員。
我有一個朋友的朋友,大學(xué)剛畢業(yè),想做web程序員,結(jié)果死活學(xué)不會,但這貨還就是想學(xué),就是想做程序員,誰讓他轉(zhuǎn)行跟誰急。
苦于畢業(yè)后在家沒有收入,于是這貨沒辦法只能先開個淘寶店(自己有一些貨源),然后邊兼職做淘寶邊上一些培訓(xùn)班。
好吧,沒想到過了大半年:
1、 舍不得花錢買模板,這貨竟然學(xué)會了css,還很精通,店鋪?zhàn)匝b修的挺精美
2、 這貨發(fā)現(xiàn)原來dreamweaver是這么的好用
3、 最近已經(jīng)能很犀利的把你的照片PS成裸照
4、 為了宣傳自己的淘寶店,開了一個博客來宣傳自己的產(chǎn)品(wordpress學(xué)會了)
5、 他突然發(fā)現(xiàn)自己會php了
6、 有段時間他的博客癱瘓了,在數(shù)據(jù)移植和恢復(fù)的過程中,他mysql基礎(chǔ)學(xué)會了
據(jù)說現(xiàn)在開了微信服務(wù)號,正在搞微信接口開發(fā),并熟練開發(fā)了html5頁面。一個實(shí)戰(zhàn)級的程序員就是這么從零開始產(chǎn)生了。
最后,想告訴大家,要成為程序員靠的是“裝”(自學(xué)各種知識裝進(jìn)你的大腦),要成為優(yōu)秀的程序員靠的是“逼”(生活壓力逼著你進(jìn)步),要成為大神那么要結(jié)合前兩個,那就是裝和逼雙管齊下,簡稱裝逼。