Ⅰ 程序員學哪種語言最好
1 、對普通人而言不建議C或C++
高手請略過,該語言底層,比較難,用的少。但對該語言一直懷有深深的敬意
2 、不建議學習Oracle、Cisco和C#系列
使用的公司少,就業面狹窄。Oracle主要金融、銀行在用,Cisco是路由器技術,用的公司也比較少,C#運行的Window伺服器環境貌似只佔了5%,這些語言並不是說不行,而是使用面狹窄
具體看下不同語言的差異
3、Web前端
web前端是最近才火的一個專業,遙想兩年前,做前端的還是被親切的稱為「前端仔」,從事的是一些切圖、布局、做瀏覽器兼容性等等不是那麼有技術含量的工作,很多公司的前端甚至外包出去,「前端仔」一直生活在程序員鄙視鏈的最底層。
4、服務端開發
如果想學服務端開發,隨便選一門語言即可,無論是Java、PHP還是Python,都是得到廣泛應用。
服務端主要工作包括業務邏輯的開發、數據模型的設計、可能還有中間件的開發、部署上線任務等等。
服務端工程師的發展方向是架構師以及CTO了,需要根據用戶量,產品特徵來設計整個系統的架構。比如現在需要做一個互聯網產品,這個產品的用戶量你需要估計有多大,根據用戶量推算需要多少伺服器,是否要做分布式,前端緩存要不要,用什麼語言開發等等.....這都是架構師或者CTO需要解決的工作。
其實服務端還包括很多內容,比如可能需要開發中間件,還需要部署開發測試環境,自動化測試工具等等,這些都屬於後端工程師的范疇。
5、機器學習工程師(數據科學)
其實市面上對機器學習的理解不對的,機器學習應該屬於數據科學的范疇,可笑的是社會上只是吹噓這個概念,而連基礎的概念都很少有人清楚
6、C/C++
C++能做什麼呢?貌似什麼都能做,又什麼都不能做... 但學習C++對了解計算機體系結構還是非常有作用的,其應用范圍包括操作系統、驅動開發、黑客技術、反編譯軟體破解、外掛開發等等,包括Nodjs、Java虛擬機、資料庫的底層代碼都是用C++來完成,所以如果你立志做一名極客,可能C++還是必須掌握的。但是其比較難,不像其它語言擼幾天就能擼個網站跑起來,C++從入門到應用實在是一件挺困難的事。
7、硬體工程師
偏傳統行業,研發周期長,沒軟體行業迭代快。需要的技能包括C/C++語言、匯編、電子電路、濾波器、arm等等。由於產業鏈條長,迭代慢,缺乏爆發性增長能力,整體收入並沒軟體工程師高。當然,硬體公司一旦成長起來更容易形成行業壟斷力,比如大疆、Intel等等,而且,確實很好玩是不是?
Ⅱ 請問游戲程序員應該學什麼語言
我不是這方面的高手,但有幾點建議,希望對您有所幫助
一、最好是c和c++,圖形方面的組件開發等這些
二、新手入門這些市面上的東西基本上對您估計沒有實用價值的。
最好的辦法,學好基礎,然後找到游戲公司做幾年。慢慢深入。
國內的絕大部分學校都不具備這種資質,更別說一些小教程了。最好找游戲公司工作是最好的
以上是我的認識。
Ⅲ 程序員需要學多種語言嗎
得看這位程序員的知識到什麼程度了
如果是高級架構師級別的,那多學一些知識,擴大自己的知識面也無妨
如果是中級,或是初級,建議選一門,讓自己在這一門里鑽研到極致
如果是菜鳥級,想好自己以後要往哪方面走,選定一門,開始學習
學習最忌三心二意。俗話說:「傷其十指不如斷其一指」,每門都學一點,還不如專心學好一個方向。這個道理誰都懂,可是又該學哪個方向呢?難道只能跟著感覺走嗎?
不!
最實際的方向,應該跟著工作走,工作需要什麼,我們就學什麼,把工作需要的技能熟練掌握,有很多好處。
首先,可以集中精力,在某一方面鑽研得更加深入。所謂「百招會不如一招絕」,有了絕招,你還怕不能在「武林」立足嗎?《天龍八部》中的慕容復武功博學無比,最後還不是被只會一招六脈神劍的段譽打得落花流水?
Java基礎視頻教程:
周一、三、五、六、試聽
Ⅳ 編程怎麼入門/程序員需要學什麼
編程這個概念很大,不同領域需要學習的編程語言不同。
應該先從你興趣開始,有興趣再決定編程領域,有了編程領域在決定語言.不同的語言對應著不同編程領域,只有確定這些信息了,才知道要看什麼書籍。
如果你要學完那是有點不現實.因此你要回想一下你興趣來源是什麼?比如喜歡做黑客,喜歡研究反病毒,喜歡為Windows桌面開發一些實用的小軟體等等.要分析好興趣來由,在決定你的發展方向,就好了.比如你喜歡為WINDOWS開發軟體,那麼 C語言是必備基礎,學好好瞭然後在擴展一門面向對象的語言比如C++ C# JAVA 等.這些是不錯的選擇。然後光有語言不行,為了軟體的質量保證,還需要研究一下系統理論基礎,這樣你的軟體才能做到對系統的作家兼容性和獲取最佳性能。
Ⅳ 要做程序員需要學會什麼
要做程序員需要學會什麼
程序員的崗位需求很多,例如大型網路公司、軟體開發公司等等都需要程序員。
程序員需要學習:
1、掌握數據及其轉換、數據的機內表示、算術和邏輯運算,以及相關的應用數學基礎知識;
2、理解計算機的組成以及各主要部件的性能指標;
3、掌握操作系統、程序設計語言的基礎知識;
4、熟練掌握計算機常用辦公軟體的基本操作方法;
5、熟練掌握基本數據結構和常用演算法;
6、熟練掌握C程序設計語言,以及C++、Java、Visual Basic中的一種程序設計語言;
7、熟悉資料庫、網路和多媒體的基礎知識;
8、掌握軟體工程的基礎知識,了解軟體過程基本知識、軟體開發項目管理的常識;
9、了解常用信息技術標准、安全性,以及有關法律、法規的基本知識;
10、了解信息化、計算機應用的基礎知識;
11、正確閱讀和理解計算機領域的簡單英文資料。
程序員必備技能:
1、熟練開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。
而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。
其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。
另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
2、熟知資料庫
作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。
雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
3、了解操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。
要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。
Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式。
從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。
至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
4、明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。
XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
5、不要將軟體工程與CMM分開
大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員。
一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能。
如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。
6、需求理解能力
程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求。
要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
7、模塊化思維能力
作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。
這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
就業方向:
1、網路開發
現在網路已經成為世界通訊的一座橋梁,好像Javascript、PHP、Ruby這幾類開發語言大部分是用作網路開發方面。
2、企業軟體開發
JAVA、C#、VB這幾類開發語言都實現了面向對象開發的目標,更多時候用於企業系統的開發。
3、系統軟體
C語言、C++、Object-C這些軟體更多是用在系統軟體開發,嵌入式開發的方面。
當然,這分類不是絕對,像JAVA、C#、VB很多時候也用於動態網站的開發。在很開發項目都會使用集成開發的方式,同一個項目裡面使用多種開發語言,各展所長,同步開發。
Ⅵ 想當程序員,我應該先學什麼語言
學習計算機語言並不難,但若讓LZ第一次就學JAVA的話估計
非天才攻不了,精通編程也不是一朝一夕的學習任務啊~
建議先學Turbo C 2.0,標準的C語言,雖然派不上什麼用場
,但是作為計算機語言培養思維的話是非常重要的,比較的簡
單易懂,易操作。
可視化編程VB6.0,這個對於軟體的開發是非常有用的利器!
當然結構也會相對的復雜,優點是非常的直觀,如果你想往軟
件開發發展的話這個是必學。
到此,可以說已經不是一般的編程的小輩,有一定經驗的話學
任何語言也不會覺得難了,接下來便可以學VC++或JAVA,
JAVA比較熱門,但是你若學活了JAVA定能有一凡大事業哦~
最後,你說的網站編程。現在應該已經不存在網站編程這個說
法了,FrontPage、Dreamwear的出現已經讓HTML變成一門傻
瓜語言,如果真的想學好網站設計的話,學動態語言是很有必
要的,目前流行的有ASP、PHP、CGI三大門動態語言,當然連
接的資料庫SQL、ACCESS也有一定必要去掌握的
Ⅶ 成為程序員要學什麼語言
首先定位好做哪種技術,然後在學習相關的內容,目前需求大的是PHP、HTML5技術人員。
各開發語言的使用: VVIP
1、iOS:Objective-C(核心語言),C語言(基礎語言,重點在數據結構和演算法),Swift(趨勢語言)
2、Android:Java
3、大數據:Java
4、VR:C#
5、跨平台技術:C++
6、WEB:HTML5 + JS
7、游戲: Cocoas2D等C++、JS語言
Ⅷ 要當程序員 需要會哪幾種語言
信息技術的更新速度是驚人的,程序員的職業生涯則是一個要求不斷學習的過程,永遠不能固步自封。本人在工作期間曾看見過很多程序員只要有閑暇時間就瀏覽一些沒有太大作用的網頁,在網上聊天,打游戲,浪費了大量的時間,十分不可取。而另外一種情況是,IT技術的日新月異使很多程序員眼花繚亂,什麼都想學,卻又不知從何學起,今天看看這個,明天學學那個,貪多不熟。
雖然IT技術發展迅速,但很多技術都是有規律可循,一些基本的概念、原理和方法還很通用,可以舉一反三。本人根據自己的體會和經驗,向那些剛剛踏入IT行業的新程序員們或正在迷茫的程序員們推薦程序員必須掌握的七種武器,有了這七種武器,雖不敢說笑傲江湖,但將自己立於不敗之地還是可以的。
第一種武器:開發工具
至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是我重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而本人對SUN公司的「網路即計算機」的概念相當欣賞,並相信JAVA即其相關的技術集JAVA One會成為未來的主流開發工具之一。其次,如果能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,C++ Builder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
第二種武器:資料庫
為什麼資料庫是如此重要?很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL, Postgres等。
第三種武器:操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的了解後,你會發現自己上了一個新的台階。
第四種武器:網路協議TCP/IP
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEB Services,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
第五種武器:DCOM/CORBA/XML/WEB Services
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間件平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。程序員需要做的不僅僅是利用商業的開發平台來開發軟體,而是要理解這些技術的初衷,即為什麼需要這項技術,如果你能理解了這一點,再回頭看這些技術的具體實現,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布計算的基石之一。
第六種武器:軟體工程與CMM
現代大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。一句話可以概括我的看法:「創意無限,流程保證」。
第七種武器:強烈的好奇心
什麼才是一個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。
Ⅸ 一般的程序員需要會幾種語言一般都是哪幾種
一個真正程序員應該會C,並且至少還要會其它的一種語言(是精通)
一個好的程序員應該還要會匯編,而且至少要會目前最流行的語言(不是精通)
Ⅹ 做程序員學習哪一種程序語言最佳
一般都是java,java是所有語言的基礎,並且所有的語言都離不開java,它可以算是老大哥了