軟件開發(fā)都用哪些語言編程 軟件開發(fā)都用哪些語言編程的
大家好,今天小編關(guān)注到一個(gè)比較有意思的話題,就是關(guān)于軟件開發(fā)都用哪些語言編程的問題,于是小編就整理了1個(gè)相關(guān)介紹軟件開發(fā)都用哪些語言編程的解答,讓我們一起看看吧。
游戲一般用什么編程語言開發(fā)?
這分服務(wù)端還是客戶端 客戶端 也要看你用什么游戲引擎 如果是Cocos那就是c++和Lua 或者Js如果是Unity 那么主要是c# 服務(wù)端一般是java c++
學(xué)習(xí)游戲開發(fā),需要掌握游戲編程和游戲引擎核心技術(shù),比如現(xiàn)在很多公司都在用的Unity,對(duì)C#編程和Unity核心技術(shù)都需要有規(guī)劃和系統(tǒng)地進(jìn)行學(xué)習(xí)。如果只是在網(wǎng)上找一些視頻和項(xiàng)目跟著學(xué),不能真正的去理解和消化變成自己的東西,最終的結(jié)果也只能是事倍功半。再說現(xiàn)在網(wǎng)上的視頻和項(xiàng)目包括很多的培訓(xùn)機(jī)構(gòu)教的都是一些換皮不換骨的內(nèi)容,好多還是基于Unity5.x的案例,也很難學(xué)到現(xiàn)在游戲公司真正需要的技術(shù)。建議到Paws3D學(xué)習(xí)中心來看看,每周六下午游戲開發(fā)私教營也可以預(yù)約到現(xiàn)場(chǎng)來試聽,線下課程除了能夠快速的幫助您提升游戲開發(fā)能力,還有機(jī)會(huì)參與獨(dú)立游戲項(xiàng)目的實(shí)戰(zhàn)開發(fā),歡迎到現(xiàn)場(chǎng)來參觀、體驗(yàn)與學(xué)習(xí)。
游戲本身會(huì)運(yùn)行在不同的平臺(tái),而平臺(tái)也影響了使用的語言。平臺(tái)主要有2大類,PC(也就是常用的電腦)和手機(jī)。它們上面都可以使用網(wǎng)頁來運(yùn)行游戲,所以額外我們把網(wǎng)頁瀏覽器上面跑的叫WEB端。針對(duì)上面的3種平臺(tái)類型。我們來聊一聊這些平臺(tái)上常見的游戲是用什么開發(fā)的。
PC端。大部分的游戲是C/C++開發(fā)的。這主要是因?yàn)槲覀兪褂玫牟僮飨到y(tǒng)如window,mac的底層都是c。使用C/C++可以極大的發(fā)揮性能上面的優(yōu)勢(shì)。比如下面這個(gè)NBA2K18就是用C/C++為主開發(fā)的。
手機(jī)端。手機(jī)端的游戲我們稱為手游。手機(jī)上面的操作系統(tǒng)主要是ios與android,也就是蘋果和安卓系統(tǒng)。在之前,android上面的游戲以java開發(fā)居多。這是因?yàn)閍ndroid系統(tǒng)本身就是以java開發(fā)為主。ios上面的游戲以object c開發(fā)居多,這也是因?yàn)橄到y(tǒng)本身的緣故。最近ios又出來swift語言。但是隨著技術(shù)的發(fā)展,程序員們發(fā)現(xiàn)一款游戲要部署到各個(gè)平臺(tái)的成本太高了。所以現(xiàn)在主流的技術(shù)是使用跨平臺(tái)的游戲引擎開發(fā),然后發(fā)布到不同的平臺(tái)。所以,語言的選擇從對(duì)平臺(tái)的依賴變成了對(duì)游戲引擎的依賴。那我們就要看看主流的游戲引擎有哪些?主流的游戲引擎有:unity,cocos,unreal等。unity采用的是C#語言為主。cocos下面以C++、lua、js等開發(fā)語言。unreal主要是以C++為主。從上面這些中你會(huì)發(fā)現(xiàn)語言有很多,使用的也很多。在商業(yè)項(xiàng)目以及目前主流技術(shù)中,大部分高水準(zhǔn)的游戲是以C++結(jié)合lua來開發(fā)的。C++負(fù)責(zé)處理高性能的部分,lua處理邏輯部分來加快開發(fā)速度。即使是使用unity引擎,大部分產(chǎn)商也會(huì)選擇C#結(jié)合lua的方式來開發(fā)。C#負(fù)責(zé)核心部分,lua處理邏輯部分。
再聊一下WEB端。WEB端以前是以flash為主,常見的就是4399的很多小游戲,都是flash為主。WEB端主要是一個(gè)html與js的解釋器。目前WEB開發(fā)國內(nèi)主要是3大引擎:白鷺、laya以及cocos-js。它們的主要開發(fā)語言為typescript,這主要是因?yàn)閠ypescript可以提供非常快的開發(fā)速度(就像lua一樣),同時(shí)它還具備提前暴露問題的能力。
實(shí)際上上面的部分主要聊的是游戲客戶端。在游戲領(lǐng)域,實(shí)際上分為服務(wù)端和客戶端。客戶端指對(duì)外玩家可以見到的畫面表現(xiàn)等。服務(wù)端是運(yùn)行在產(chǎn)商自己的服務(wù)器上的,支持玩家之間互相可見,同步,聊天等各種邏輯。對(duì)于服務(wù)端的語言,目前有C++結(jié)合lua以及C#、java、php等。這幾種都很常用,主流的大的游戲依然是C++為主。中小型的游戲各種都會(huì)用到。php常用于對(duì)網(wǎng)絡(luò)需求很低的游戲的做簡(jiǎn)單的數(shù)據(jù)處理。
上面的主要是一些理論,下面我們來實(shí)戰(zhàn)幾個(gè)問題,一會(huì)我們?cè)賮砜偨Y(jié)。
1. 王者榮耀是用什么開發(fā)的?王者榮耀使用的是unity引擎,而這種全民級(jí)別的游戲是非常注重性能的。所以它采用的是C++結(jié)合C#。核心用C++,邏輯用C#。為什么不是我們前面說的C#結(jié)合lua呢?因?yàn)轵v訊有這個(gè)技術(shù)實(shí)力,所以他們整體使用了更有性能優(yōu)勢(shì)的語言開發(fā)。
2. 微信里面的小游戲是用什么開發(fā)的?小游戲本質(zhì)上是個(gè)WEB的執(zhí)行環(huán)境。所以它上面的很多游戲都是typescript或者js開發(fā)的。之所以typescript還沒有普及,是因?yàn)樗纳鐓^(qū)不夠活躍。
3.怎么猜測(cè)一款游戲是什么語言開發(fā)的?先上網(wǎng)搜索它的開發(fā)引擎,如果搜索到了就看看它對(duì)性能是否要求高,來推導(dǎo)它的使用語言。如果搜索不到,那很可能是自研引擎。自研引擎大部分都是C++實(shí)現(xiàn)的。
近來遇到有很多人想從其它開發(fā)領(lǐng)域轉(zhuǎn)到游戲開發(fā)行業(yè)上來,他們或許覺得游戲開發(fā)工資高,或許覺得做游戲開發(fā)需要掌握的技術(shù)更高級(jí),可以鍛煉自己,或許覺得想換個(gè)環(huán)境等等。不管出于什么原因吧,都是希望自己獲得更好的發(fā)展。
游戲用什么編程語言開發(fā)?
1.首先建議先學(xué)習(xí)下出C++語言。
2.如果想只是做windows方面的游戲?qū)W習(xí),可以學(xué)習(xí)下DirectX,這個(gè)很方便在windows下做游戲開發(fā)。
3.如果要制作跨平臺(tái)游戲,建議學(xué)習(xí)下opengl/opengles,這是個(gè)很強(qiáng)大很專業(yè)的圖形接口,因?yàn)楹芏嗥脚_(tái)支持所以適合跨平臺(tái)游戲制作使用。
4.然后接著要是想學(xué)習(xí)3d游戲并迅速工作,建議學(xué)習(xí)u3d引擎、ue引擎這些游戲引擎,有了以上的基礎(chǔ)學(xué)習(xí)這些引擎也可以理解的更深入,u3d還會(huì)用到c#與js語言。
5.做2d游戲,可以使用cocos2dx等一些引擎,當(dāng)然你也可以使用上面的3d引擎制作2d游戲。
6.然后就是可以深入的研究一些開源的游戲引擎,終極目標(biāo)是可以自己做出一款比較棒的游戲引擎。
游戲開發(fā)是一個(gè)過程,為了激發(fā)玩家玩游戲熱情,通過遵循設(shè)計(jì)制作規(guī)則,來設(shè)計(jì)人物、場(chǎng)景等游戲要素。游戲開發(fā)現(xiàn)在主要分為PC端游戲開發(fā)和移動(dòng)端游戲開發(fā),無論是PC端還是移動(dòng)端,目前用到比較多得無非是c++、jcocos2d-x,objective-c等。
客戶端看游戲引擎,像現(xiàn)在最火的unity3D 就是C#+lua做手游開發(fā),虛幻的話就是C++,h5方向有兩個(gè)引擎分別是egret和laya box 用的是typescript。
服務(wù)端的話主要有3個(gè)流派,分別是cpython,clua 和erlang 。java 不入流,做什么都行,反過來就是做什么都不行。
總結(jié)就是服務(wù)端多語言混編交互的很多,各語言都有各自的發(fā)揮,客戶端跟引擎走。
到此,以上就是小編對(duì)于軟件開發(fā)都用哪些語言編程的問題就介紹到這了,希望介紹關(guān)于軟件開發(fā)都用哪些語言編程的1點(diǎn)解答對(duì)大家有用。