給所有初學編程的人的深度解惑帖!我來給你指明方向!

現在IT新技術日新月異。就常用編程語言而言,有c/c++、彙編、java,c#、Python等;

操作系統平臺有unix /linux,windows系列;

開發工具有VC、visualStudio2008、 Eclipse、NetBeans等……

每個大平臺下,還有很多的的方向:如網絡、數據庫、腳本、HTML、動態網站、遊戲開發等;

有人還在學Dreamweaver做網頁、Flash做動畫、Photoshop做美 工、3DMax做三維動畫……

給所有初學編程的人的深度解惑帖!我來給你指明方向!

是的,我們什麼都想學。恨不得把所有的知識統統都塞到肚子裡去。看到什麼,就想學什麼!

今天看這VC的書,明天又看Java,後天又看C#,東搞西搞!

看到別人做網頁。自己興趣了來了。好,學html語言,我也做網頁,聽說做網頁要會“網頁三劍客”,所以又想學Dreamweaver、Flash。

後來開始知道有JSP、PHP、ASP.NET做動態網站這玩意兒。也想去學, 學學學……

這是幾乎所有初學者的通病。但是,這不是壞事,甚至可以說是好事。說明了你“求知慾”高!總比那些,生活沒有激情,整天知道上網、打遊戲、混日子的強。

但是如果你今天想學這個,明天又想學那個。這樣你就能永遠徘徊在技術的門外。

很多人都有過或者正在經歷這樣的苦悶日子:總覺得有“太多東西”要學了,然而人的精力是有限的,總有永遠學不完的感覺,所以心理特別急,整天惶惶不可終日,不知道先要學哪個,一會兒拿起這本書,一會拿起那本書,折騰了幾個月,突然發現自己什麼都沒有學到……

每一個大方向如果沒有上幾年的學習,很難能學習出什麼來。但程序設計的最根本的東西是相同的。所以我們學習要抓根本。俗話說:通一理,融百里。

學程序設計就像習武一樣,如果內功學的好,其他功夫就很容易上手。

君不見《倚天屠龍記》中的張無忌練了“九陽神功”8年,練“乾坤大挪移”只需12個時辰嗎?

古人歷經千辛萬苦才能找到這些“武功秘籍”。我們現在這些後輩,比起古人來說:簡直太幸運了。

去書店,各種各樣的心功心法,劍法,拳法,應 有盡有,看得你眼花繚亂…你選什麼呢?

今天練“六脈神劍”幾式,明天去學“降龍十八掌”幾招,後天又去練“發暗器”,這樣何時才有個盡頭呢?

你說,你什麼武功都會,但是“形似而神不似”,不得要領,不夠火候。一上擂臺,就被別人一掌打趴了。試問哪個軟件公司敢要一個號稱任何編程語言都會,而是每種語言只能寫出個“helloworld!”的程序員,你不被人家掃地出門才怪。

所以下面給大家盤點下初學編程的同學都會遇到的疑問或者狀態~看看自己有沒有中招?

給所有初學編程的人的深度解惑帖!我來給你指明方向!

01、學XX還是學XX更有前途?

看了上面的話,有的同學已經開始煩了,“知道了知道了,不止一個像你這樣的所謂的‘老前輩’跟我說過‘學什麼都一樣,思想才是最重要’的大道理,可是你們站著說話不嫌腰疼呀,現實是有很多技術需要學,比如做Web開發就有JSP、PHP、ASP.NET等好多方向,我總得選一個吧!到底學哪個有前途呢?我必須要選擇一個有前途的,選錯了就麻煩了。”

其實像“學XX還是學XX更有前途”的話沒意義,因為“選擇JSP還是選擇PHP”的前途的差別不像“選擇英語還是選擇日語”的前途差別那樣大,不存在“選錯方向”的問題,因為都是相通的,你也不能保證你畢業以後搞的就是你學的那個方向,更不能保證你靠你學的這點東西就能吃一輩子。

不過就像上邊說的“做Web開發就有JSP、PHP、ASP.NET等好多方向,我總得選一個吧!”這個問題是非常實際的,因為只有先學一個才能深入這個方向,把這個方向學通了才能想以後“一通百通”。

因此我的建議就是學校教過什麼語言,你就繼續深入學習這門語言,而不要去問“這門語言有沒有前途”這樣的傻問題。

儘量不要去學一門所謂“有前途”的新語言,因為你去學一門新語言就要把很多精力耗費在語言、語法本身,而耽誤了編程的實戰,而以一個已經學過的語言來學習的話,起碼語法本身不用再去學、開發工具本身不用再去熟悉,只要研究怎麼使用這門語言開發有用的程序就ok了。

不要管“哪門語言好就業、有前途”,因為那些“好就業、有前途”都是紙老虎。儘量不要學新語言,從自己最熟悉的語言入手,深入研究,出山後你就是被用人單位爭搶的紅人。

給所有初學編程的人的深度解惑帖!我來給你指明方向!

02、企業裡都需要什麼方面的才能?

這個要視用人單位的要求而定了。

如果還沒有畢業,也不知道未來要面對什麼樣的崗位。因此建議大家在上學期間不要偏科,所以的課程都要好好學,學好專業課,培養自己的“內功心法”,然後進入一個大公司,那麼大公司自然會為你安排一個人才培養計劃,在工作的環境中學習就更有目的性。

給所有初學編程的人的深度解惑帖!我來給你指明方向!

03、學什麼最容易?

由於現在的快速開發工具的不斷推出,使得軟件開發越來越容易,進入軟件開發的門檻也越來越低。很多人在IDE工具的誘騙之下,快的十天,慢的半個月就可以進入所謂“程序員”的領域,成了一個所謂的“程序員”。

這對於IDE提供商來說是樂得合不攏嘴的事情,但是對於軟件來說卻是一個無形的打擊。

由於快速工具的盛行,很多人把開發看作小菜一碟,特別是很多在校的大學生,都認為現在教的內容一旦出了學校都已經是落伍,無形中產生了厭學的心理。

今後的軟件開發逐漸趨於兩極化,一方面有越來越多的人將從事簡單的重複性開發,而且這部分的開發難度會逐漸降低;

另外一方面核心部分的開發會越來越複雜,這部分的入門所涉及的知識內容會逐步增加。所以對於今後希望從事軟件開發的同學們,需要好好的努力學習,學校的東西會有他們的用處,只要現在把基礎打紮實了,即後你們在軟件的領域會有很好的機會,不要盲目的放棄學習的機會。

給所有初學編程的人的深度解惑帖!我來給你指明方向!

04、有什麼速成的辦法沒有?

一個人學一門技術的速成方法就是不學那些所謂“沒用”的東西,直接告訴他最終結論和操作方式。

但是很多東西是在探索中、學習中才能領悟的,很多人在鑽研一個技術難題的過程中查資料、看書、求證,在這過程中不僅鍛鍊了自己思考問題的能力,而且夯實了基礎知識, 最重要的是在探索過程中收穫了很多意想不到的新東西,有很多朋友在鑽研一個問題的時候經常能無意中的學會很多新東西。

上山的“速成”方法是直接坐纜車上去,可是你會比那些登山者少看到很多路邊的風景。那麼你是願意做一個掌握“速成”方法的人,還是願意有機會看看路邊的風景呢?

最後一句話:切務浮沙築高臺,練從難處練,用從易處用!無速成,唯有堅持!

給所有初學編程的人的深度解惑帖!我來給你指明方向!

另外,初學編程的人大多都有這些錯誤認識:

1、C/C++太老了,過時了,平時用得很少,現在流行都Java、C#等等。

不要動不動覺得什麼東西過時了,COBOL還有OO版本面世,還有FORTRAN,LISP,好古老的語言吧,現在還用得很廣呢。

“一切語言都是紙老虎,一通百通”

學校已經開了編程語言的課,並且想繼續深入學習編程,那麼就繼續使用學過的語言來學習,不要再去學一門新的語言。

給所有初學編程的人的深度解惑帖!我來給你指明方向!

2、入門要從OO開始,培養用OO方式思考的習慣。

初學者一入門便擺弄Java、C++等很容易形成誤解,似乎OO=Java,C++…。

一切編程語言的根本都是面向過程的,Java、C++ 等語言也是支持面向對象特性的面向過程的語言。

面向過程就是if……else……、while、for這些東西,Java、C++等語言中難道就沒有這些語句了嗎?

給所有初學編程的人的深度解惑帖!我來給你指明方向!

過程式語言(或者說結構化方法)的精髓不會消亡,OO裡面也不可能擺脫掉一條條的語句、函數調用,結構化方法。

OO方法不是那麼容易學會的(OO語言的語法弄得很熟練不代表你懂OO),而結構化那套方法,自個寫個千把行的程序就很能體會了,我是說寫個實用點的東西,比如試著自個實現一些數據結構和算法,寫幾個小遊戲等。寫個一千行Helloworld等於沒寫。

我覺得方法是實踐中體會出來的,不是看看書就能學會的。過程式語言的代碼一般比較簡練,我們編程序最終的目的是要解決問題,是要計算,是要獲取信息,不要被OO、設計模式等迷糊了。

給所有初學編程的人的深度解惑帖!我來給你指明方向!

3、過程式語言弄久了,很難轉入OO的思維模式

個人覺得只有在用過程式方法做了十來年,編碼上十萬行後才有思維定勢,難以習慣用OO的眼光看待系統,然而這個轉變,我仍覺得比改變一個人的惡習容易許多。

OO方法不是學了個Java,C++等就能掌握的,需要實踐,需要時間。

過程式語言也容易培養一個人嚴謹的做事態度,比如用匯編,C等寫代碼,沒有命名空間、沒有一大堆類庫,沒有模板、沒有異常,你要花很多心思處理一些細節,比如警惕數組索引越界、懸掛指針、野指針等等,請不要覺得麻煩,這個就是計算機啊,底層就是這樣的啊。

給所有初學編程的人的深度解惑帖!我來給你指明方向!

4、C好難啊,我入門還是從Java,C#開始吧

語言只是表達思想的工具,不要只侷限於一種語言,不要狂熱於某一門語言。

來源:網絡


分享到:


相關文章: