想走編程道路的人,進來看看。
說基礎,基礎是慢慢積累的,不用一下全看完。
電腦各種硬件,一定要了解一點,這樣才知道電腦是怎么工作的。硬件中重中之重。cpu,內存,硬盤,網卡,主板這幾個他們怎么協同工作的一定要了解。
C/C++一定要看看,哪怕你現在會java,會phython,會PHP,還是會javascripthtml,不會PHP的,你可以去千鋒學啊!
軟件的數據結構與算法一定要學一學,這個會把java的C++或其他面向對象的容器設計原理跟你說清楚的。我們所有用的,Set、Map、Queen等等這些東西,都是別人用基礎算法封裝好的,學會了有助于理解與使用。
有上面的基礎,一定要學一下操作系統,我們用的所有電腦,各種智能設備離不開操作系統,不會操作系統很多知識很難理解。操作系統一定會跟硬件掛鉤,所以挑戰學習操作系統前,一定要知道一些基本的硬件知識,否則一看不懂,看不懂就等于堅持不下去。
設計模式一定找時間學習一下,java或C++哪些基礎框架應用了很多的設計模式在里面就看你看得出來不?學會了有助于理解。舉java例子給各位,android的整個通信設計用到了MVC1設計模式,Context的實現類用了模版方法設計模式,各種監聽與intent用了觀察者設計模式。微軟的MFC用的跟android的設計模式差不多。javaAPI自己多線程就有生產者消費者模式,未來模式,整個I/O設計就是一個裝飾設計模式。C/C++編寫程序用的很少,我從學會到現在有個1年多了只寫過一個服務程序監聽的程序。所以應用場景里用的太具體的設計模式列舉不出來。
最最基礎的,得先學會一門編程語言,只有會一門編程語言并且經常用才會慢慢體會出編程思想來。編程思想,只看書或只靠別人叨叨,自己不動手是體會不出來的。
數據庫至少得會一個,否則你數據存那?自己寫存儲,貌似沒必要。數據庫學校老師教的時候不重視,悲哀,實際工作的時候天天要接觸。
有基礎了,找家公司實踐自己的思想去。編程完完全全就是創造性的工作。沒有做不到只有想不到。起先可以看別人寫的代碼,模仿到一定層次就可以自己創造。
想玩好編程,不停的學習。有志于寫程序的人,把我說的基礎三年內做到,不知不覺就會變成大牛。
最后,做編程英語一定要好,不會的同學努力從頭學(找好的視頻看)。英語這東西每天都接觸一點,總有一天你會不陌生的(工作8年后我堅持學了1年多了,完全從頭學)。學英語的理由很簡單,計算機的發源地美國,在計算機科學方面比國內N。Andoid,IOS,Mac,windows,Linux,Unix都來自國外,并且老外給我感覺嚴謹。國內對計算機方面的教學書籍能做到嚴謹的很少,甚至很多就是抄的別人的。書看多了自然會明白我說的真假。例子:java女作家孫XXX,我看過她寫的hibernate(無意貶低別人)。內容在Hibernate參考手冊里面有。很多思想來源于,澳大利亞一個作者寫的hibernate一本書。學會英語,可以了解第一手資料。不用等別人翻譯。很多書好書翻譯成壞書,例子不用列舉,以后如果看到對英文版的自己看。
PS:我個人通信專業畢業,因為在學校玩游戲逃課多了。找不到專業相關的工作,隨便找了個公司,做OA系統維護做了4年,實施做了1年。當初因為第一家公司的項目經理的自大實在把我惹火了。一直堅持學程序。27歲的時候來現在的公司開始了職業程序員的生涯。其間不太會寫程序的時候,被老板白眼過、被老板排擠過。厚著臉皮熬過頭兩年,對寫程序才慢慢開竅。從最初的寫lotusscript,再到js,html,css,java,C/C++經歷了漫長的7年終于有了自己的一席之地。失敗過無數次,最后,快打算辭職的時候。靠我一己之力,把公司的OA系統,開發成了移動版本跑。完完全全一個JS為核心實現的一個交互引擎。也因為這個產品。去年挽救了公司一個項目。實施了三個項目,也因此被老板給留了下來。
各位有志于寫程序的的同學,寫程序經常加班,甚至還很枯燥,還要看很多書。希望大家能堅持下來。程序員工資沒多少,能玩到30歲以上。基本上把工作當玩,把玩當工作。程序員的終極目標,軟件架構設計->晉升到系統架構設計(能到這層次,會很值錢,也很少有公司再雇用得起),自己也等著轉行或自己出來干吧。