选择开发语言和学习的路径(这个标题可能有点不准确)
? ?畢業一年多了,現在在一家公司擔任網絡管理員,事情很少過得很愜意,基本上沒有加班。但是漸漸的感覺沒有什么前途(錢途)。很多一起出來的的大學同學都向軟件開發方向發展,很多事java或者php,有些認識的好友在做嵌入式,開發待遇比我高很多,每次和他們在一起總是會談起現在的工資和待遇,我總是充滿羨慕的眼光看著他們。幾個好友他們也都是從事軟件開發,每次和他們在一起,聽到他們談論開發的心得和體會,或者一些新開發工具和技術時,我就只能呆呆的聽著,很多不懂(雖然是計算機科學及技術專業畢業——很雞肋的一個專業,學習的知識多而不精),用閩南話說就是“鴨子聽雷”,呵呵!
? ?就是這樣,因為待遇和生活工作的環境等的影響,讓我萌生從事軟件開發的念頭!有了這個想法,接下來就是選擇語言類型的問題了,現在的語言很多(比較出名,或者開發語言排名靠前):c、c++、java、php、c#等開發語言,到底哪個更好,更是適合我的要求呢?經過了好幾天不斷的百度、逛計算機軟件開發論壇、還有查看海峽人才市場提供崗位的數目和待遇,我最后懸著了c++。因為待遇高,工作2到三年基本可以等到7到8k的待遇,顯然比起現在的工作和其他語言有一定的優勢。網絡上看了下,基本上都說c++不好學,是一門永遠學不完的“糟糕開發語言”。c++不上不下,底層沒有c語言好,面向對象沒有c#和java好,而且學習的方向和內容很多:stl\mfc\QT,還要學習一些硬件和linux系統和tcp協議等,要學會并運用一門語言來做軟件開發是多門不容易,程序猿萬歲,軟件工程師門辛苦了!
百度了下c++的一般學習路徑如下:(下面是copy其他地方的內容)
C++大體分為C++的基本知識,template C++, Object-Oriented C++, STL四部分。
1.譚浩強的《C++的程序設計》是入門的首選,講的易懂,對那些初學者來說是非常不錯的選擇。雖然這本書沒有概括到C++的全部內容,但足可以把你引進C++的殿堂門口感受感受。
2.上一本書的缺少了模板,面向對象和STL部分,這時候可以看看THINKING IN C++,你會有種登堂入室的感覺,體會到C++的奇妙和大智慧。
3.這時候推薦你看C++ Primer中文版(第4版),你可以自己去當當網看看大家給它的評價http://product.dangdang.com/product.aspx?product_id=9157098&ref=search-0-mix ?一本久負盛名的C++經典教程。(可以多看幾遍)
4.C++當然不會缺少經典的書,還有很多好書,自己有空看看哪本和自己的胃口 就買來看看吧。
5.在學習過程中切勿求快,心浮氣躁。一定要多多練習,把模擬兩可的東西自己編程來驗證下。
當你學習C++后,你會急著想去編寫帶華麗界面的程序,展示展示自己。
選擇MFC和QT,你可以選擇一個:(以下是我的個人觀點)
? ? ? 1.很多公司都需要MFC的開發人員。
? ? ? 2.MFC的書籍肯定會遠遠多于QT,并且網上的資源也是這樣的。
? ? ? 3.學習MFC的人很多,你在不懂得時候可以隨時請教他們。
? ? ? 1.QT是完全的面向對象,MFC并不是。
? ? ? 2.諾基亞在官方網站宣布,將采用Qt作為未來Symbian和MeeGo平臺的唯一開發架構??梢奞T的嵌入式份額正在擴大。
? ? ? 3.MFC編寫的程序沒有QT那么好的跨平臺性,所以QT常用在手機(meego和symbian),linux,window平臺等等平臺上。
學習MFC的路徑:
1.孫鑫老師有一本 vc++的書和配套視頻,可以幫助你快速的對MFC有一個基本的認識。
2.《Windows程序設計(第2版)》講的非常的細致,會非常有耐心地為你講解每一個細節。對本質剖析得非常好。講原理,讓你知其實還知其所以然。
3.學習侯捷的<<深入淺出>>,你就開始了解MFC的內部機制,讓你對MFC的運行來龍去脈理解。
4.Visual C++技術內幕,又是一部帶你深入了解MFC的經典書。
學習QT:
1.C++ GUI Qt 4編程(第二版)經典之作,內容緊扣,詳實清楚,QT必備書。如果你發現這本書有點難,可以先看看零起點的書籍。
2.QT的文檔和強大的在線支持。
下面來自一個c++愛好者的學習心得:
最近一直在學習C++,看到這篇過去人的心得,讀之,有些共鳴,也意識到了一些問題。故引用在此,以紀念我學習C++的里程,從現在正式開始了,哈哈。
有50條哦,有些還是有價值的,可以關注一下的。
1.把C++當成一門新的語言學習(和C沒啥關系!真的。);
2.看《Thinking In C++》,不要看《C++變成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學者所以就不看;
4.不要被VC、BCB、BC、MC、TC等詞匯所迷惑——他們都是集成開發環境,而我們要學的是一門語言;
5.不要放過任何一個看上去很簡單的小編程問題——他們往往并不那么簡單,或者可以引伸出很多知識點;
6.會用Visual C++,并不說明你會C++;
7.學class并不難,template、STL、generic programming也不過如此——難的是長期堅持實踐和不遺余力的博覽群書;
8.如果不是天才的話,想學編程就不要想玩游戲——你以為你做到了,其實你的C++水平并沒有和你通關的能力一起變高——其實可以時刻記住:學C++是為了編游戲的;
9.看Visual C++的書,是學不了C++語言的;
10.浮躁的人容易說:XX語言不行了,應該學YY;——是你自己不行了吧!?
11.浮躁的人容易問:我到底該學什么;——別問,學就對了;
12.浮躁的人容易問:XX有錢途嗎;——建議你去搶銀行;
13.浮躁的人容易說:我要中文版!我英文不行!——不行?學呀!
14.浮躁的人容易問:XX和YY哪個好;——告訴你吧,都好——只要你學就行;
15.浮躁的人分兩種:a)只觀望而不學的人;b)只學而不堅持的人;
16.把時髦的技術掛在嘴邊,還不如把過時的技術記在心里;
17.C++不僅僅是支持面向對象的程序設計語言;
18.學習編程最好的方法之一就是閱讀源代碼;
19.在任何時刻都不要認為自己手中的書已經足夠了;
20.請閱讀《The Standard C++ Bible》(中文版:標準C++寶典),掌握C++標準;
21.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;
22.別指望看第一遍書就能記住和掌握什么——請看第二遍、第三遍;
23.請看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成開發環境的搖籃上,要學會控制集成開發環境,還要學會用命令行方式處理程序;
25.和別人一起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好;
26.請看《程序設計實踐》,并嚴格的按照其要求去做;
27.不要因為C和C++中有一些語法和關鍵字看上去相同,就認為它們的意義和作用完全一樣;
28.C++絕不是所謂的C的"擴充"——如果C++一開始就起名叫Z語言,你一定不會把C和Z語言聯系得那么緊密;
29.請不要認為學過XX語言再改學C++會有什么問題——你只不過又在學一門全新的語言而已;
30.讀完了《Inside The C++ Object Model》以后再來認定自己是不是已經學會了C++;
31.學習編程的秘訣是:編程,編程,再編程;
32.請留意下列書籍:《C++面向對象高效編程(C++ Effective Object-Oriented Software Construction)》《面向對象軟件構造(Object-Oriented Software Construction)》《設計模式(Design Patterns)》《The Art of Computer Programming》;
33.記住:面向對象技術不只是C++專有的;
34.請把書上的程序例子親手輸入到電腦上實踐,即使配套光盤中有源代碼;
35.把在書中看到的有意義的例子擴充;
36.請重視C++中的異常處理技術,并將其切實的運用到自己的程序中;
37.經常回顧自己以前寫過的程序,并嘗試重寫,把自己學到的新知識運用進去;
38.不要漏掉書中任何一個練習題——請全部做完并記錄下解題思路;
39.C++語言和C++的集成開發環境要同時學習和掌握;
40.既然決定了學C++,就請堅持學下去,因為學習程序設計語言的目的是掌握程序設計技術,而程序設計技術是跨語言的;
41.就讓C++語言的各種平臺和開發環境去激烈的競爭吧,我們要以學習C++語言本身為主;
42.當你寫C++程序寫到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將余下的部分粗略的完成以保證這個設計的完整性,然后分析自己的錯誤并重新設計和編寫(參見43);
43.別心急,設計C++的class確實不容易;自己程序中的class和自己的class設計水平是在不斷的編程實踐中完善和發展的;
44.決不要因為程序"很小"就不遵循某些你不熟練的規則——好習慣是培養出來的,而不是一次記住的;
45.每學到一個C++難點的時候,嘗試著對別人講解這個知識點并讓他理解——你能講清楚才說明你真的理解了;
46.記錄下在和別人交流時發現的自己忽視或不理解的知識點;
47.請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version 100.XX;
48.保存好你寫過的所有的程序——那是你最好的積累之一;
49.請不要做浮躁的人;
50.請熱愛C++!
? ?我會在這個的指導下不斷的向c++軟件開發工程師,前進,不管最后能不能通過自學c++找到工作我都無所謂,年輕不怕失敗,怕的是沒有去嘗試,老來空流淚的那種懊悔。
轉載于:https://blog.51cto.com/3768400/1361800
總結
以上是生活随笔為你收集整理的选择开发语言和学习的路径(这个标题可能有点不准确)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 给vs2010安装上cocos2d-x的
- 下一篇: jQuery实现右上角点击后滑下来的竖向