有不少網友在接觸程式設計之前都存在不少疑惑,現在小編就對大家的疑惑談一談我個人的看法。
本人不是專家,僅供參考。如果能為別人提供一點點幫助,那麼我會感到榮幸之至。
一、程式好學嗎?多久才能學會程式設計?
這個因人而宜。通常情況下,從實現第一個“Hello World”,到比較熟練的編寫程式碼,這個過程可能比學習其它的電腦技術要長一些。例如學習Photoshop,很多人有三、兩個月就可以勝任影樓處理照片這樣的工作。而同樣的時間,誰能保證你能成為一個熟練的程式設計師呢?
二、學習程式設計需要什麼基礎?
理論上來說,學習程式設計需要比較好的數學基礎和邏輯思考能力,英文好一點就更棒了。
數學基礎和英文方面,我覺得初學者有高中程度就可以了。這三點之中,我覺得最重要的就是邏輯思考能力的培養。學習程式設計的過程,其實就是培養邏輯思考能力的過程,就是掌握程式設計思想的過程。
程式設計入門之後,如果想要提升自己的程式設計水平,你可能還要掌握更多的知識:資料結構、演算法、電腦原理、編譯原理和作業系統原理等電腦科學的理論基礎,以及代數系統、圖論和離散數學等數學理論基礎知識。
三、歲數大了能學程式嗎?
能,當然能,為什麼不能呢?所謂“活到老,學到老”,四、五十歲了還在學習程式設計的比比皆是,但是年輕人在記憶力等方面的優勢還是非常明顯的。如果想學習程式語言,並且以後作為自己的職業,那麼你應該知道,各個公司招人的時候,都是有年齡限制的。
四、學習哪種程式語言好?
許多朋友喜歡看武俠小說,這裡我打這樣一個比方:.Net和Java就相當於武林中的少林派和武當派,這兩個門派影響力巨大,門人眾多,如果你投入他們的門下,是很自然的事;而Delphi、PHP等語言相當於華山、青城等門派,同樣也是名門正派,如果你投入他們的門下,藝成之後同樣可以笑傲江湖。
我們來回想一下自己的學生時代:許多同學在同一間教室裡學習著相同的課程,有很多疑難問題不用麻煩老師,請教同學就可以解決了。學習程式設計也是一樣,如果你身邊有朋友精通某一門語言,而你也在學習這門語言,想想看,你是不是會得到許多幫助?
假設我剛從中學畢業,小小年紀便早早的去工廠做工人、做學徒工了,我學習程式設計只是為了多掌握一門技術,這樣以後可能會有好的發展。這個場景中的我,可能會學習Java、C#、C++和PHP等比較流行的語言,學習流行語言的好處是工作機會多;行動開發現在炙手可熱,貌似錢景不錯,Android等也可以在考慮之列了。
假設我對自己的工作很滿意,屬於各方面都非常穩定的那種人。此時的我在學程式設計時,就沒有必要去趕時髦、追流行,我會學習一些與自己工作相關、對工作有幫助的語言。例如:我在辦公室工作,專門的財務軟體太龐大,無法滿足自己工作的個性需求。那麼我可以學習VFP或Powerbuilder這些專注於資料處理的語言,根據自己的需求,編寫程式把原來分散在各個Excel文件中的資料統一管理起來,這樣既方便了工作,又可以獲得好的評價,甚至變身成為同事眼中的「高手」;再例如,如果我在網路公司工作,每天以敬佩的目光仰望著公司裡的程式設計師和技術人員。這個場景中的我如果學編程,大概會學一些與公司業務相關的WEB程式語言。
假設我身邊有許多朋友學過程式設計並且中途放棄了,因而導致我自信心不足。那麼,我需要先為自己培養興趣和信心,我可能會從VB、VFP等比較容易入門的語言開始學習,這些語言很容易就能做出一些範例,給人一種成就感。直到有一天我把Visual Studio安裝到電腦上,並且開始編寫第一個ASP.NET程序,這時我才發現:這不是和VB差不多嗎,拖曳上一些控件,然後為各個事件編寫程式碼…
假設我學習程式設計純粹是為了滿足求知欲,沒有任何其它的因素在裡面。許多人覺得程式設計難學,其實都是指針惹的禍。好吧,我一定要學C/C++,一定要馴服指標。直到若干年後,豁然回首……
假設我是一個優柔寡斷的人,思考了許多天仍然沒有做決定。每天上網閒逛時,我發現怎麼有這麼多招網頁程式設計人員的呢?是的,ASP.NET+MSSQL和PHP+MYSQL這兩個組合,只要我精通了其中的一個,在任何城市都可以找到工作。
總之,選擇程式語言時要選擇最適合你的,沒有最好的程式語言,只有最適合你的程式語言。
五、程式設計賺錢嗎?
軟體產業的薪資比一般產業應該要高一些,但開發者需要承受比較高的工作壓力,熬夜加班是家常便飯,這都是需要考慮的。
一般來說,正規公司和大公司給的薪水和待遇會高一些。這裡面有地區差異,還要看個人能力。例如主程,使用同一種語言並且從事類似的工作,在一線城市的大公司可能月薪過萬,而在小地方,卻可能只有三、兩千的樣子。
同時也要看所處的產業和選用的程式語言。例如,Java和PHP非常流行,但Java程式設計師和PHP程式設計師的薪水不一定最高,反而是一些使用比較冷門程式語言的開發者能夠得到較高的薪水。
六、怎樣學習網頁程式設計?
學習網頁編程,一般要了解前端的HTML/CSS,也要掌握一門資料庫技術。學習任何一門程式語言差不多都會牽涉到資料庫,資料庫技術與程式設計是密不可分的。
以我學習ASP.NET的過程為例,ASP.NET和C#本身沒有讓我感覺到什麼,反倒是讓CSS困擾了很長時間,最後當然是抽時間惡補CSS了。因此我認為,在學習任何一門網頁程式語言之前,最好先打好HTML/CSS的基礎。
七、學習程式設計時要注意什麼?
過動腦,多實踐,打好基礎,養成良好的編碼習慣。除此之外,還要有毅力,不能「三天捕魚,兩天曬網」的。
想做好一件事情除了方法還有心態也是很重要的,不管做什麼事情都要堅持再堅持努力再努力。