程序员,为你的将来定位好学习的方向!
??? 在新技術新編程語言不段涌現的IT界,有人說:“原地不動就是倒退”,如果不能熟練掌握兩門以上的主流編程語言或技術,被社會淘汰就是遲早的事。也有人認為“一招通吃遍天”,只要精通掌握一門語言技術,同樣可以成為IT職場中的香餑餑。同樣的,面對層出不窮的新編程語言,有的開發者放掉了自己已掌握的而改學新出現的語言,例如Ruby,Elang,Scala;而更多的開發人員選擇了堅守,對正在使用的語言技術深度挖掘,積累更豐富的經驗。
如果你的目標是成為一名架構師,在面對業界眼花繚亂的技術/語言時該如何做出選擇,CSDN本期“專家看臺”專訪了某企業管理軟件開發公司CTO 呂建偉。呂建偉具有10年企業管理軟件商業開發運營從業經歷,曾任某中型軟件公司首席架構師、微軟Vendor商業咨詢顧問、Borland特約顧問、CTO。多年致力于企業管理軟件開發過程管理、產品框架、行業發展/技術發展/產品競爭的研究)。他將就有關話題與大家一起討論,分享他的觀點。
呂建偉首先表示,自己是做架構師出身,雖然現在已經脫離了架構,身在CTO位置上,主要關注產品戰略發展、開發過程管理、產品Framework、IT行業發展變化、新產品新應用新盈利模式、客戶行業變化、競爭者變化。但自己對當前流行的熱門技術還是一直在跟蹤。雖然考慮到作為公司長期賴以生存的產品和競爭策略,很多最新的技術不能迅速應用到產品開發中。但對新技術成熟度和切入點的考察,一直是他關注和感興趣的問題。
記者:如果是想成為一名架構師,在面對業界眼花繚亂的技術/語言時該如何做出選擇?
呂建偉:我首先為大家畫一張圖,對當前IT業界主流技術做個架構分層。
從這張圖可以看到,每一個技術都是在各自的層次上做了適當發展,而且都是為了彌補本層現有產品和架構的問題。呂建偉首先提醒,對于未來想做架構師的朋友,不管是學習.Net,Windows,SQLSERVER,從現在開始一定要有架構的思路。要分層,從點到線,從線到面,從面到體系來橫豎切分。
而且一個產品架構,也往往是這么多層,而且在應用軟件架構上,也就是:表現層、業務層、數據層。其他我們都是利用的中間件和VM和OS的現成技術,我們本身一般無須深入。而表現層、業務層、數據層,層與層之間都有接口層,而不是硬性接口,否則就成鐵板一塊了。一般架構經驗不足的架構師,往往容易出現這樣的毛病,層是分開了,自己沾沾自喜,以為這個架構是很有擴展性的。但具體一應用,就發現很硬,動不了。這就是缺乏接口層的原因。
記者:通過你的講解,大家對當前主流IT架構有了大概的了解,但是光有這樣的圖,大家好像還不解渴。對于一些剛出道新入門的朋友該如何從中選擇,究竟是精通一門語言技術,還是掌握兩門語言技術,哪個才更有錢途和前途,才能更好的找到工作。這是大家目前更關注的問題。想當架構師,那是遙遠的夢。必須先把溫飽問題解決了。
呂建偉:對于這個問題,要看個人的具體情況,需要分開來回答:
如果你的學歷和能力,只能進入一般的軟件公司或集成公司,那么選擇微軟的技術體系不錯。因為微軟體系,網上很多學習資料,而且大量的企業應用是用微軟技術開發的,而且很多公司也用微軟技術。所以公司多,你好找工作。微軟的技術一般固定:C#+Asp.net+SQLSERVER+Visual Studio。
如果你的學歷和能力,能進入做大型企業應用的公司,那么你就選擇JAVA的技術體系。因為現在大型企業,基本都用JAVA開發。你可以從eclipse、structs、hibernate、WebService、Tomcat、Apache、JBoss、POJO、Oracle開始學習,然后再學習WebLogic、WebSphere、Portal技術、工作流技術。
如果你想進入互聯網公司或web2.0創業公司。那么一般Php、Mysql、Apache、Ruby on Rails、Python是你的學習目標。
如果你想進入手機開發,那么Symbian和C++(Nokia,市場份額最大)、J2ME(android產品,google發布,還未正式生產,但應該很有前途)、Windows Mobile(微軟,好開發,從開發思路到工具到語言,都是你所熟悉的)。這三類短期內會三者鼎立,誰也不會把誰干掉 。至于5年之后,就不好說,至少5年內,是手機時代,是手機無線時代,每個廠商都在爭搶這一塊未來最有錢途的肉。
如果你想進入目前炙手可熱的網游公司。做服務器端,你得C++過硬、網絡傳輸技術過硬、并發線程處理、了解Linux編程要和了解windows編程一樣深入。如果你想做客戶端,那么圖形圖像處理算法你得首先過關。當然,現在很多引擎、工具、AI包、材質庫、腳本減少了不少客戶端編程的難度。
如果你想進入現在已經未來10年內一直很熱的嵌入式編程,那么C++,而且你的單片機編程你得過關。中國是世界第一制造大國,而且這種局面在5-10年內也很難改變。制造,過去比誰的工人成本低。但是現在材料和人工的增長,使制造壓力巨大。就只能提升自己的制造能力。
制造高尖端的產品,就需要高尖端的流水線。而且,中國的電子產品也越來越強大,日本產品從最初的獨霸中國,漸漸變成了中國國貨的天下。在手機上、數碼相機上、家電、冰箱、DVD、空調、汽車、交通、醫療、數控,等等,很多領域需要嵌入式編程。就連咱們的嫦娥一號也是嵌入式編程的典范。華為、中興這些通信設施也是嵌入式編程范圍。
當然,你也可以劍走偏鋒。過去是Notes編程,隨著國產OA的興起,Notes編程漸漸衰退。但是,中國現在大型企業都在上線ERP,而且大多用的是Oracle或SAP的ERP。這些ERP產品,都提供了客戶化定制編程開發環境,提供了完備的應用API。大型企業應用ERP,都需要定制化開發,大量缺乏這類人才。但是,市面上這些學習資料都非常少,這是個難題。
另外,現在的外包也非常熱,各地建立外包園,就跟當年建立軟件園一樣群起。想進入外包公司,首先日語或英語需要過關。咱們國家的外包,一般來自日本和歐美。在開發中,一般也是三種語言的主流:C++、C#、JAVA。
總之,我們說了很多開發技術以及語言,其實是各個量級的語言是相類似的,學習了一種,其它幾種都很類似。我看開發語言,一般分為:核心底層開發語言、業務運算層開發語言、腳本層開發語言。核心底層,一般C/C++使用最廣泛,畢竟大量操作系統和硬件驅動都是由C/C++編寫,從性能到控制深度和力度都有保證。在業務運算層面,C#和JAVA為主流,分別代表微軟和非微軟陣營的兩大技術體系。Delphi、VB也是在業務運算層面工作,但畢竟現在不為這兩大陣營廠商主流力挺(一項技術的廣泛應用,不僅在于這項技術的革新性,也在于支持它的公司的業界推動。)。
在腳本層面上,過去的ASP,現在的Perl、PHP、Ruby、Python、ASP.NET都是在腳本層面工作。每一層面上的開發語言都互相借鑒競爭發展,所以你現在會看到JAVA和C#越來越像,Ruby on Rails一出,立即在其它腳本語言上立即出了開源社團支持類Rails框架。
所以,從以上分析來看,C++、C#、JAVA,都是當今的主流。都在各方面都應用很廣。你選擇哪一類都會有很多的機會和空間。但如果你學了C++,又怕以后碰不到C++的工作,還要學C#,還要學JAVA,那么你終將一事無成。
記者:根據你的觀點,開發者必須先在掌握一門語言技術的基礎上再考慮學其他的新技術。但開發者有可能擔心自己學到的是過時的技術,不被社會承認和接受,對自己未來發展不利。對于最新的技術,開發人員該如何適時跟進呢?
呂建偉:其實,現在的技術都是在彌補和改進它所致力解決的問題域的現狀,真正的技術革命并沒有產生(語義Web會是一個革命,但什么時候發生,誰會領導下次革命未知)。不管是最近的當紅炸子雞:Ruby on Rails,還是Google帶起的AJAX,還是現在的FLEX和Sliverlight的爭霸,都是在現狀的改良。
不過,我們要看到的是,現在的互聯網應用不管橫插進許多3D互聯網、3G手機終端新技術,但有個趨勢是大勢所趨,我們必須看到。
??????????????????????????????????????????????????? 呂建偉近照
從XML、RSS、XMLHttp、Json、Google個人定制、Google API、SAAS、虛擬化、云計算、WebService、REST、SOA、腳本語言、Mashup的興起,其實都在往同一個方向前進。那就是:Open API。UIOK.net
SUN總裁和Oracle總裁當年都曾布道:網絡就是計算機。現在終于成真。
我們傳統在WINDOWS下編程,其實WINDOWS內核我們一般是無法調用和接觸到的,我們一般工作在API層面。所以,WINDOWS在程序員的面前,就是WINDOWS API,這就是我們通常的WINDOWS 編程。但是,在互聯網上我們如何編程?我們過去是在一個個的制造網站,當網站密布全球的時候,URL連接把整個互聯網串在一起的時候,互聯網變成了一個地球巨型計算機。如何在這個巨型計算機上編程,是現在微軟、IBM、Google都在致力研究和競爭的事情。
我們順應大潮,踏準技術的腳步,就能參與到全球產業鏈中。
所以,一項新技術出來,我們先看它和現有技術的關聯,看現在這些關聯的技術到底共同特性是什么,看領導這些技術潮流的大公司的研究重點和支持力度,我們就知道業界技術潮流都在往哪個主流方向走。當然,在這個主流中,各個公司都會根據自己所處的競爭優劣勢推出自己的產品,唱的論調也各有重點。不過我們無須眼花繚亂,因為它們都是殊路同歸。它們要解決的都是一個問題。
總結
以上是生活随笔為你收集整理的程序员,为你的将来定位好学习的方向!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: osg 相机
- 下一篇: 质感设计 android,扣丁学堂And