Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
hp,python,C++哪個(gè)更好一點(diǎn),哪個(gè)簡(jiǎn)單易學(xué)一點(diǎn)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,如今的編程語(yǔ)言其實(shí)都能算是簡(jiǎn)單易學(xué)了。不考慮算法和數(shù)據(jù)結(jié)構(gòu)等知識(shí),單從學(xué)會(huì)編程語(yǔ)言本身來(lái)講,只需要一點(diǎn)點(diǎn)英語(yǔ)基礎(chǔ),能認(rèn)識(shí)幾十個(gè)單詞,花一點(diǎn)時(shí)間,通常不超過(guò)三個(gè)月,就完全可以學(xué)會(huì)一門(mén)新的編程語(yǔ)言了。
不管你是從來(lái)沒(méi)有接觸過(guò)計(jì)算機(jī)編程,還是想換一種從未接觸的新的編程語(yǔ)言,通常都會(huì)有一個(gè)疑問(wèn):哪種編程語(yǔ)言適合我?也有人會(huì)好奇,到底哪種語(yǔ)言是世界上最好的編程語(yǔ)言,如果存在的話,學(xué)會(huì)這種語(yǔ)言不就行了。
在過(guò)去,通常意義上的編程指的都是桌面程序的開(kāi)發(fā),比如Windows操作系統(tǒng)中的記事本和計(jì)算器,都算是桌面應(yīng)用。在那個(gè)時(shí)代,通常只要學(xué)好一門(mén)語(yǔ)言就可以通吃大部分應(yīng)用場(chǎng)合了。曾經(jīng)有一種說(shuō)法,學(xué)好C++,走遍天下都不怕,可見(jiàn)一斑。
但在今天看來(lái),計(jì)算機(jī)編程已經(jīng)滲透到人類(lèi)生活的各個(gè)領(lǐng)域,計(jì)算機(jī)設(shè)備也不僅僅指的是PC機(jī),在Web領(lǐng)域、移動(dòng)端、傳統(tǒng)桌面、游戲和嵌入式設(shè)備中都大量運(yùn)行著程序代碼,來(lái)滿足人們?nèi)找嬖鲩L(zhǎng)的計(jì)算需求。對(duì)于沒(méi)有很多經(jīng)驗(yàn)的初學(xué)都來(lái)講,面對(duì)如此多的開(kāi)發(fā)環(huán)境,選擇一種語(yǔ)言是相當(dāng)困難的。
一、Web開(kāi)發(fā)
所謂Web開(kāi)發(fā),指的是編寫(xiě)一個(gè)網(wǎng)站,或者一個(gè)開(kāi)發(fā)一個(gè)基于瀏覽器的應(yīng)用軟件。Web開(kāi)發(fā)在編程領(lǐng)域是獨(dú)一無(wú)二的,與傳統(tǒng)的開(kāi)發(fā)方式截然不同。Web開(kāi)發(fā)可以說(shuō)是入門(mén)最簡(jiǎn)單的編程領(lǐng)域,同時(shí)隨著互聯(lián)網(wǎng)的普及,Web開(kāi)發(fā)是當(dāng)前最熱門(mén)的行業(yè)之一,所以我們認(rèn)為對(duì)于初學(xué)者來(lái)說(shuō),接觸Web開(kāi)發(fā)是一個(gè)不錯(cuò)的選擇。
HTML與CSS:雖然嚴(yán)格來(lái)講,它們并不是真正意義上的編程語(yǔ)言,但兩者都是創(chuàng)建網(wǎng)頁(yè)所必需的,HTML描述了頁(yè)面的數(shù)據(jù)結(jié)構(gòu),而CSS則決定了頁(yè)面的排版樣式及視覺(jué)效果。HTML與CSS都遵循W3C(萬(wàn)維網(wǎng)聯(lián)盟)所制定的標(biāo)準(zhǔn),并且簡(jiǎn)單易懂,很容易學(xué)會(huì)。
Javascript:傳統(tǒng)意義上的Javascript是指增加瀏覽器邏輯功能和實(shí)現(xiàn)頁(yè)面動(dòng)態(tài)變化的唯一途徑。同時(shí),它又是學(xué)習(xí)某些編程框架如JQuery的基礎(chǔ)。如今,Javascript可以同時(shí)在瀏覽器端和服務(wù)器端進(jìn)行開(kāi)發(fā),甚至利用某些工具,還能應(yīng)用于桌面領(lǐng)域。Javascript是現(xiàn)在最火熱的編程語(yǔ)言,不論是否從事Web開(kāi)發(fā),都應(yīng)該盡可能的掌握這門(mén)語(yǔ)言。
Python:Python語(yǔ)言通常應(yīng)用于服務(wù)器端邏輯,也就是說(shuō),在瀏覽器端,還是需要通過(guò)HTML, CSS和Javascript來(lái)構(gòu)建頁(yè)面。但在服務(wù)器端,Python則是一門(mén)神奇的語(yǔ)言,簡(jiǎn)單易學(xué),功能強(qiáng)大。越來(lái)越多的程序員加入到Phthon開(kāi)發(fā)的行列中,這讓其迅速成為了當(dāng)前最熱門(mén)的語(yǔ)言之一。
PHP: 有一種說(shuō)法,PHP是世界上最好的編程語(yǔ)言。這種說(shuō)法是否靠譜姑且不論,但PHP的確是一門(mén)效率很高的語(yǔ)言。由于這門(mén)語(yǔ)言在Web開(kāi)發(fā)領(lǐng)域?qū)儆诓皇悄敲磿r(shí)髦的語(yǔ)言,所以有許多歷史遺留問(wèn)題,顯得有些混亂。不過(guò)仍然有許多地方在使用PHP語(yǔ)言,比如著名的開(kāi)源博客平臺(tái)WordPress,要知道全世界27%的網(wǎng)站是通過(guò)WordPress搭建的。
二、移動(dòng)開(kāi)發(fā)
移動(dòng)開(kāi)發(fā)是目前軟件編程領(lǐng)域的大熱門(mén),并且在相當(dāng)長(zhǎng)的時(shí)間里,它將一直是整個(gè)行業(yè)最前沿的陣地。整個(gè)移動(dòng)開(kāi)發(fā)領(lǐng)域保持高速發(fā)展,技術(shù)日新月異,沒(méi)有任何放緩的跡象。人們?cè)絹?lái)越離不開(kāi)手機(jī),離不開(kāi)手機(jī)應(yīng)用,移動(dòng)開(kāi)發(fā)領(lǐng)域競(jìng)爭(zhēng)激烈,可選擇的編程語(yǔ)言也不多。神奇的是,每天都有各種神奇的應(yīng)用被開(kāi)發(fā)出來(lái),可見(jiàn)這一市場(chǎng)的繁榮。
Java: Java語(yǔ)言是開(kāi)發(fā)安卓應(yīng)用的主要編程語(yǔ)言,同時(shí)Java也被譽(yù)為世界上最偉大的語(yǔ)言之一,移動(dòng)開(kāi)發(fā)只是Java語(yǔ)言無(wú)數(shù)應(yīng)用場(chǎng)合中的一種而已。雖然說(shuō)你可以使用其它語(yǔ)言來(lái)編寫(xiě)安卓應(yīng)用,但使用Java來(lái)開(kāi)發(fā),通常會(huì)擁有更高的性能和靈活性,遇到問(wèn)題時(shí)也更容易在開(kāi)發(fā)社區(qū)找到解決方案。
Swift: iOS 系統(tǒng)的應(yīng)用此前一直是通過(guò)Objective C語(yǔ)言來(lái)開(kāi)發(fā)的,但現(xiàn)在蘋(píng)果公司更建議你采用其新開(kāi)發(fā)的Swift語(yǔ)言。相比較之下,Swift語(yǔ)言更容易學(xué)習(xí)和使用,很適合iOS開(kāi)發(fā)新手,通常用Swift語(yǔ)言開(kāi)發(fā)要比Objective C語(yǔ)言開(kāi)發(fā)更高效、穩(wěn)定。
Javascript: 可以看到,開(kāi)發(fā)安卓應(yīng)用和開(kāi)發(fā)iOS應(yīng)用采用了完全不同的技術(shù),這給開(kāi)發(fā)人員帶來(lái)了極大的困擾,為了能編寫(xiě)出同時(shí)運(yùn)行在兩個(gè)平臺(tái)的應(yīng)用,程序員可能要準(zhǔn)備兩個(gè)截然不同的開(kāi)發(fā)環(huán)境。于是就有一些框架應(yīng)運(yùn)而生了,它們?cè)试S開(kāi)發(fā)者用Javascript開(kāi)編寫(xiě)應(yīng)用,并幫你把代碼轉(zhuǎn)換為兩個(gè)不同的應(yīng)用安裝包。還有一些框架則利用內(nèi)嵌瀏覽器的技術(shù),通過(guò)Web頁(yè)面的方式來(lái)開(kāi)發(fā)移動(dòng)應(yīng)用。這些技術(shù)使得用Javascript來(lái)編寫(xiě)移動(dòng)端軟件成為一種可能。
三、桌面開(kāi)發(fā)
雖然桌面開(kāi)發(fā)領(lǐng)域不再那么熱門(mén),但并不意味著它已經(jīng)過(guò)時(shí)了。相反的,隨著計(jì)算機(jī)技術(shù)越來(lái)越深入我們的生活,桌面應(yīng)用的開(kāi)發(fā)需求仍然十分巨大。曾經(jīng),開(kāi)發(fā)桌面程序是一件非常復(fù)雜的事情,不過(guò)今非昔比,現(xiàn)在有了更多強(qiáng)大的工具,進(jìn)入桌面開(kāi)發(fā)領(lǐng)域已經(jīng)沒(méi)有那么高的門(mén)檻了。
Java: 在很久很久以前,Java應(yīng)用程序中的圖形用戶界面(GUI)都是通過(guò)Swing開(kāi)發(fā)包來(lái)實(shí)現(xiàn)的,不過(guò)現(xiàn)在一般都采用JavaFX框架,它提供了一個(gè)更豐富、更時(shí)尚、更現(xiàn)代的方式來(lái)構(gòu)建應(yīng)用程序設(shè)計(jì)。由于Java程序運(yùn)行在虛擬機(jī)中,所以擁有更高的兼容性和可移植性,可以在多種平臺(tái)上運(yùn)行。
C#: C#語(yǔ)言(C Sharp)是一種基于微軟公司推出的 .NET 框架的編程語(yǔ)言,與Java有許多相似之處。用C#語(yǔ)言開(kāi)發(fā)應(yīng)用程序,通常會(huì)用到 Visual Studio,Visual Studio被譽(yù)為最好的集成開(kāi)發(fā)工具,廣受C#開(kāi)發(fā)者的好評(píng)。你可以很方便的通過(guò)C#語(yǔ)言,并使用WPF框架來(lái)創(chuàng)建Windows桌面應(yīng)用。曾經(jīng)C#只能用于Windows平臺(tái)的開(kāi)發(fā),但現(xiàn)在,也可以通過(guò)Mono和Xamarin等第三方工具來(lái)實(shí)現(xiàn)跨平臺(tái)開(kāi)發(fā)。
Swift: 除了 iOS 應(yīng)用,Swift語(yǔ)言還可以用來(lái)開(kāi)發(fā)Mac系統(tǒng)的桌面應(yīng)用。如果你習(xí)慣于在蘋(píng)果生態(tài)系統(tǒng)下工作和學(xué)習(xí),那么Swift語(yǔ)言就是最好的選擇。
四、游戲開(kāi)發(fā)
游戲開(kāi)發(fā)過(guò)去一直是非常困難的事情,需要掌握大量的知識(shí)和工具,但現(xiàn)在,游戲編程變得越來(lái)越簡(jiǎn)單。隨著大量免費(fèi)(開(kāi)源)游戲引擎的出現(xiàn),你幾乎可以選擇任何主流語(yǔ)言,并可以用它來(lái)創(chuàng)建游戲。但是有些語(yǔ)言顯然是更優(yōu)秀的,如果你是新手,我們推薦你選擇這些語(yǔ)言。
C#: 許多時(shí)髦的游戲引擎都是采用C#語(yǔ)言開(kāi)發(fā)的,通常這些引擎支持2D和3D游戲開(kāi)發(fā),并且可以將構(gòu)建導(dǎo)出到許多平臺(tái),包括Windows、Mac、Linux、Android、iOS和HTML5等等。采用C#的游戲引擎通常都比較容易學(xué)習(xí),對(duì)開(kāi)發(fā)者更友好。
Java: 程序員可以使用諸如LibGDX框架這樣的開(kāi)源引擎來(lái)快速創(chuàng)建游戲,該框架可以導(dǎo)出到任何桌面平臺(tái),和安卓、iOS等移動(dòng)端。LibGDX是一個(gè)簡(jiǎn)單明了的框架,有助于快速生成產(chǎn)品。即使不談?dòng)螒蛞?,特別是在安卓平臺(tái),Java語(yǔ)言都是首選的游戲開(kāi)發(fā)工具。
Haxe: Haxe是一個(gè)全新的、現(xiàn)代的語(yǔ)言,你可以用它來(lái)取代其他的編程語(yǔ)言。通過(guò)游HaxeFlixel或Luxe這樣的戲引擎,開(kāi)發(fā)跨平臺(tái)的2D游戲的速度要比其他語(yǔ)言快得多??上У氖?,目前為止還沒(méi)有一款針對(duì)Haxe語(yǔ)言的3D引擎面市。
JavaScript: Javascript已經(jīng)取代Flash,成為開(kāi)發(fā)Web游戲的最佳和最快的方法。通過(guò)類(lèi)似Phaser這樣免費(fèi)開(kāi)源的HTML5游戲框架,以及像 nw.js 這樣的工具,快速開(kāi)發(fā)并包裝出一款Web或者桌面游戲。
五、數(shù)據(jù)處理和自動(dòng)化腳本
有時(shí)候我們學(xué)習(xí)編程語(yǔ)言并不是為了開(kāi)發(fā)一款應(yīng)用軟件,也許只是為了統(tǒng)計(jì)和分析一些數(shù)據(jù),或者用程序來(lái)實(shí)現(xiàn)一個(gè)自動(dòng)化腳本,代替人工來(lái)完成一些枯燥乏味的工作。這種情況下,下面兩種語(yǔ)言或許是不錯(cuò)的選擇:
R語(yǔ)言: R語(yǔ)言是一種主要用于數(shù)據(jù)挖掘、數(shù)據(jù)計(jì)算和數(shù)據(jù)分析的編程語(yǔ)言。如果你曾經(jīng)使用過(guò)MATLAB,那么可以把R語(yǔ)言看作是一個(gè)自由和開(kāi)放源碼的替代方案。雖然MATLAB更容易使用,功能也更強(qiáng)大,但它也很貴(售價(jià)高達(dá)上萬(wàn)元)。R語(yǔ)言唯一的缺點(diǎn)是入門(mén)比較難,如果你不介意它的學(xué)習(xí)曲線,那么選擇R語(yǔ)言能為給帶來(lái)許多好處。
Python: Python語(yǔ)言除了在Web開(kāi)發(fā)領(lǐng)域外,還經(jīng)常在數(shù)據(jù)計(jì)算中使用,因?yàn)樗且环N直觀而非冗長(zhǎng)的語(yǔ)言,學(xué)習(xí)和使用都很容易。你可以用它做各種事情,包括數(shù)據(jù)抓取、分析以及編寫(xiě)自動(dòng)化腳本。而類(lèi)似NumPy(數(shù)據(jù)計(jì)算)和Pada(數(shù)據(jù)分析)這樣的第三方工具則能讓你事半功倍。
本人最熟悉的是C++,10年碼農(nóng),差不多擼了10年C++。
java、golang、python、php、jsp也都寫(xiě)過(guò)相當(dāng)一段時(shí)間。
但,如果現(xiàn)階段讓我推薦,我會(huì)推薦NVM(node.js+vue.js+mysql/mongodb),前后端上下通吃沒(méi)有壓力,從Vue.js切入(不建議react和angular),可以用餓了么的ElementUI(基于Vue)寫(xiě)界面,Vue文檔非常友好,一兩天就能入門(mén),一周就能搭個(gè)可用平臺(tái),配合atom等開(kāi)源方案可以很輕松的制作desktop app或者移動(dòng)端app,后端node.js使用express庫(kù),寫(xiě)restful api相比python效率高很多(golang開(kāi)發(fā)效率差不多,java和C++就不說(shuō)了)。
node.js生態(tài)非常完善,基本想要的庫(kù)npm install一下就OK了。
絕對(duì)值得花小幾天嘗試一下,就算不適合也不虧。當(dāng)然前提要有一點(diǎn)點(diǎn)html、js、css基礎(chǔ)。網(wǎng)上有個(gè)斐波那契單一場(chǎng)景的性能對(duì)比,nodejs差不多是C++的4x倍,golang是C++的1.x倍。
雖然性能不及純后端語(yǔ)言,但技術(shù)棧單一,工作好找(現(xiàn)在國(guó)內(nèi)用Vue的公司開(kāi)始變多)。C++、golang性能確實(shí)高,但C++開(kāi)發(fā)效率低只能做后端,而golang只能用template方式開(kāi)發(fā)網(wǎng)站,并且繞不開(kāi)再學(xué)習(xí)前端技術(shù)棧(php也一樣)。而js本身就是前端技術(shù)棧的一部分,node.js自然而然具有天然優(yōu)勢(shì)。性能不夠、機(jī)器來(lái)湊,畢竟現(xiàn)在貴的還是人力哇!少開(kāi)發(fā)一個(gè)月,完全可以多租點(diǎn)機(jī)器了。
NVM絕對(duì)是創(chuàng)業(yè)公司或自主創(chuàng)業(yè)的不二選擇。
總之,可以看到,世界上沒(méi)有哪種語(yǔ)言是最好的,只有最適合自己的語(yǔ)言。
寫(xiě)在最后,很多人都知道我是自學(xué)全棧的,都以為我有很多web前端,PHP,JavaScript視頻學(xué)習(xí)資料,我就笑了,我確實(shí)有呀,哈哈哈,下面就是我收集的web前端,PHP,JavaScript全套視頻了。
這些都是我積累幾年來(lái)的web前端,PHP,JavaScript學(xué)習(xí)視頻,前前后后也花了有2萬(wàn)多元買(mǎi)的,我都看完了也沒(méi)啥用了,這里分享給大家,評(píng)論區(qū)。
創(chuàng)翻譯,原始鏈接 本文為awesome系列中的awesome java
Awesome Java
Java 框架、庫(kù)和軟件的精選列表
簡(jiǎn)化 bean 映射的框架
處理應(yīng)用程序的構(gòu)建周期和依賴(lài)關(guān)系的工具.
以編程方式操作字節(jié)碼的庫(kù)
提供緩存的庫(kù)。
與 CLI 相關(guān)的所有庫(kù).
可以動(dòng)態(tài)管理集群內(nèi)應(yīng)用程序的框架。
提供指標(biāo)和質(zhì)量測(cè)量的工具。
為測(cè)試套件啟用代碼覆蓋率指標(biāo)收集的框架和工具。
生成重復(fù)代碼的工具,可以有效減少代碼量和錯(cuò)誤.
幫助創(chuàng)建解析器、解釋器或編譯器的框架。
尋求從圖像和視頻中獲取高級(jí)信息的庫(kù)
提供外部配置的庫(kù)。
幫助實(shí)現(xiàn)優(yōu)化和可滿足性問(wèn)題的庫(kù)。
簡(jiǎn)化讀取/寫(xiě)入 CSV 數(shù)據(jù)的框架和庫(kù)。
高效和特定的數(shù)據(jù)結(jié)構(gòu)。
簡(jiǎn)化與數(shù)據(jù)庫(kù)交互的一切。
處理日期和時(shí)間相關(guān)的庫(kù)
有助于實(shí)現(xiàn)控制反轉(zhuǎn)范例的庫(kù)。
從根本上增強(qiáng)開(kāi)發(fā)過(guò)程。
用于編寫(xiě)分布式和容錯(cuò)應(yīng)用程序的庫(kù)和框架。
分布式事務(wù)提供了一種機(jī)制來(lái)確保在存在并發(fā)訪問(wèn)和部分故障的情況下數(shù)據(jù)更新的一致性。
以原生格式處理應(yīng)用程序分發(fā)的工具。
協(xié)助處理辦公文檔格式的庫(kù)。
與金融領(lǐng)域相關(guān)的庫(kù)。
形式化方法工具:證明助手、模型檢查、符號(hào)執(zhí)行等
促進(jìn)函數(shù)式編程的庫(kù)。
支持游戲開(kāi)發(fā)的框架。
用于處理地理空間數(shù)據(jù)和算法的庫(kù)。
創(chuàng)建現(xiàn)代圖形用戶界面的庫(kù)。
關(guān)于高性能計(jì)算的一切,從集合到特定庫(kù)。
幫助創(chuàng)建 HTTP 請(qǐng)求和/或綁定響應(yīng)的庫(kù)。
處理超媒體類(lèi)型序列化的庫(kù)。
簡(jiǎn)化部分開(kāi)發(fā)的集成開(kāi)發(fā)環(huán)境。.
幫助創(chuàng)建、評(píng)估或操作圖形圖像的庫(kù)。
有助于使 Java 內(nèi)省和反射 API 更容易和更快地使用的庫(kù)。
用于調(diào)度后臺(tái)作業(yè)的庫(kù)。
用于從 Java 對(duì)象序列化和反序列化 JSON 的庫(kù)。
JVM/JDK 的當(dāng)前實(shí)現(xiàn)。
記錄應(yīng)用程序行為的庫(kù)。
提供特定統(tǒng)計(jì)算法以從數(shù)據(jù)中學(xué)習(xí)的工具。
幫助在客戶端之間發(fā)送消息以確保協(xié)議獨(dú)立性的工具。
ActiveRPC - 用于復(fù)雜高負(fù)載分布式應(yīng)用程序和類(lèi)似 Memcached 解決方案的輕量級(jí)和快速庫(kù)。
其他一切。
用于創(chuàng)建或管理移動(dòng)應(yīng)用程序的工具。
監(jiān)控生產(chǎn)中應(yīng)用程序的工具。
用于使用特定于平臺(tái)的本機(jī)庫(kù)。
專(zhuān)門(mén)處理文本的庫(kù)。
用于構(gòu)建網(wǎng)絡(luò)服務(wù)器的庫(kù)。
處理對(duì)象持久性的API。
Java 平臺(tái)即服務(wù)。
幫助處理 PDF 文件的工具。
用于性能分析、分析和基準(zhǔn)測(cè)試的工具。
包含多個(gè)類(lèi)別的多個(gè)庫(kù)套件的框架。
幫助管理操作系統(tǒng)進(jìn)程的庫(kù)。
用于開(kāi)發(fā)反應(yīng)式應(yīng)用程序的庫(kù)。
專(zhuān)門(mén)用于創(chuàng)建 RESTful 服務(wù)的框架。
用于科學(xué)計(jì)算、分析和可視化的庫(kù)。
為搜索和分析索引文檔的引擎。
處理安全、身份驗(yàn)證、授權(quán)或會(huì)話管理的庫(kù)。
高效處理序列化的庫(kù)。
專(zhuān)門(mén)用于部署應(yīng)用程序的服務(wù)器。
在模板中替換表達(dá)式的工具。
從模型到視圖的測(cè)試工具。
簡(jiǎn)化測(cè)試異步服務(wù)的工具。
測(cè)試源自 TDD 并深受 DDD 和 OOAD 影響的軟件開(kāi)發(fā)過(guò)程。
與隨機(jī)數(shù)據(jù)的創(chuàng)建和處理有關(guān)的一切。
為特定用例提供運(yùn)行測(cè)試的環(huán)境。
提供自定義匹配器的庫(kù)。
其他與測(cè)試有關(guān)的東西。
模擬合作者以幫助測(cè)試單個(gè)、隔離單元的工具。
提供通用實(shí)用功能的庫(kù)。
幫助創(chuàng)建開(kāi)發(fā) shell 環(huán)境和在不同 Java 版本之間切換的實(shí)用程序。
分析網(wǎng)站內(nèi)容的庫(kù)。
分析網(wǎng)站內(nèi)容的庫(kù)。
Awesome Lists related to the Java & JVM ecosystem.
積極討論。
為此列表提供前端的網(wǎng)站。 請(qǐng)注意,不會(huì)有官方網(wǎng)站。 我們不與特定網(wǎng)站關(guān)聯(lián),每個(gè)人都可以創(chuàng)建一個(gè)。
Books that made a big impact and are still worth reading.
產(chǎn)生重大影響且仍然值得一讀的書(shū)籍。
編程時(shí)可以看或聽(tīng)的東西。
要關(guān)注的活躍帳戶。來(lái)自推特的描述.
這些網(wǎng)站值得閱讀.
熱烈歡迎進(jìn)行貢獻(xiàn)!
請(qǐng)先看 CONTRIBUTING 引導(dǎo) 和 驗(yàn)證工具.
近叨叨和公司里的實(shí)習(xí)生閑聊,小伙子提出了想要自己寫(xiě)游戲引擎的想法,激動(dòng)地和我講了半個(gè)小時(shí)的引擎架構(gòu)設(shè)想,生命周期怎么怎么定,我們現(xiàn)在用的引擎是多么多么的不行,有多少多少的問(wèn)題。
我只想說(shuō),WHAT?有木有搞錯(cuò)?自己寫(xiě)引擎?驚訝的我手中的大寶劍都軟了!小伙子干游戲程序猿真是屈才了!給你一個(gè)團(tuán)隊(duì)能干翻所有的引擎!
還真是閑著沒(méi)事車(chē)輪子排排造!看來(lái)是平時(shí)分配的小任務(wù)少了。叨叨干游戲程序猿也已多年,期間用過(guò)或者了解過(guò)的游戲引擎不下十幾款。不過(guò)叨叨做的是手游研發(fā),自然引擎都是手游相關(guān)的。在Cocos2d還沒(méi)有跨平臺(tái)前,Android平臺(tái)有N多款開(kāi)源引擎,例如:Angle、Rokon、LGame、AndEngine(用該引擎做過(guò)兩個(gè)小游戲)、libgdx、jPCT、Alien3d、Catcake等等。iOS平臺(tái)則有Cocos2d-iphone,當(dāng)時(shí)就已經(jīng)廣泛用在了iOS端的手游研發(fā)中了。但在Cocos2d-x跨平臺(tái)游戲引擎出來(lái)之后,這些開(kāi)源引擎基本沒(méi)有了市場(chǎng)。而叨叨所在的公司里大多數(shù)項(xiàng)目使用的是Unity3D,小部分用了Unreal4。目前手游市場(chǎng)上Cocos2d-x、Unity3D、Unreal4幾乎占了99%的份額,這些年TX出來(lái)的游戲基本都是Unity3D開(kāi)發(fā)的。下面就重點(diǎn)介紹下這三款游戲引擎。
Cocos2d-x是MIT許可證下發(fā)布的開(kāi)源游戲引擎,游戲開(kāi)發(fā)快速、簡(jiǎn)易、功能強(qiáng)大。2015年2月,觸控科技正式推出了游戲開(kāi)發(fā)一站式解決方案cocos,將Cocos 2d-x、Cocos Studio、Cocos Code IDE等框架及工具整合在一起。
Cocos2d-x核心優(yōu)勢(shì)在于允許開(kāi)發(fā)人員利用C++、Lua及Javascript來(lái)進(jìn)行跨平臺(tái)部署,覆蓋平臺(tái)包括iOS、Android、Windows Phone、Windows, Mac OSX 3及Tizen等等,省事省力省成本。
【特點(diǎn)】
易于使用:游戲開(kāi)發(fā)者可以把關(guān)注焦點(diǎn)放在游戲設(shè)置本身,而不必消耗大量時(shí)間學(xué)習(xí)晦澀難懂的OpenGL ES,此外,Cocos2d-x還提供了大量的規(guī)范。
高效:Cocos2d-x基于OpenGL ES進(jìn)行圖形渲染,從而讓移動(dòng)設(shè)備的GPU性能發(fā)揮到極致。
靈活:方便擴(kuò)展,易于集成第三方庫(kù)。
免費(fèi):基于MIT協(xié)議的免費(fèi)開(kāi)源框架,用戶可以放心使用,不用擔(dān)心商業(yè)授權(quán)的問(wèn)題。
社區(qū)支持:關(guān)心Cocos2d-x的開(kāi)發(fā)者自發(fā)建立了多個(gè)社區(qū)組織,可以方便的查閱各類(lèi)技術(shù)資料。
隨著Cocos Studio的推出,其包括了UI編輯器、動(dòng)畫(huà)編輯器、場(chǎng)景編輯器和數(shù)據(jù)編輯器,更是進(jìn)一步降低開(kāi)發(fā)難度,提高開(kāi)發(fā)效率,減少開(kāi)發(fā)成本。
官網(wǎng)地址:http://www.cocos2d-x.org/
Unity3D是由Unity Technologies開(kāi)發(fā)的一個(gè)讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫(huà)等類(lèi)型互動(dòng)內(nèi)容的多平臺(tái)的綜合型游戲開(kāi)發(fā)工具,是一個(gè)全面整合的專(zhuān)業(yè)游戲引擎。Unity類(lèi)似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的圖型化開(kāi)發(fā)環(huán)境為首要方式的軟件。其編輯器運(yùn)行在Windows 和Mac OS X下,可發(fā)布游戲至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平臺(tái)。也可以利用Unity web player插件發(fā)布網(wǎng)頁(yè)游戲,支持Mac和Windows的網(wǎng)頁(yè)瀏覽。它的網(wǎng)頁(yè)播放器也被Mac widgets所支持。
從2014年年底開(kāi)始,叨叨公司里幾乎所有的項(xiàng)目都轉(zhuǎn)到了Unity3D引擎中做開(kāi)發(fā),目前叨叨最熟悉的游戲引擎也是Unity3D。Unity3D使用的C#作為主要的語(yǔ)言,各種高級(jí)的語(yǔ)言特性使用的爽爽噠!再加上Unity Asset Store里提供各種插件支持及完整工程實(shí)例,讓叨叨是徹底愛(ài)上了Unity3D游戲引擎。
Unity3D官方還放出了超可愛(ài)的二次元萌娘“Unity娘”,更是符合眾多的二次元程序猿的口味!
官網(wǎng)地址:http://www.unity3d.com/
虛幻引擎4是享譽(yù)全球的3D游戲開(kāi)發(fā)工具,它支持從2D的移動(dòng)平臺(tái)游戲到電腦到游戲主機(jī)平臺(tái)的3D游戲大作的開(kāi)發(fā),如今市面上流行的很多優(yōu)秀游戲作品都是采用Unreal Engine4引擎開(kāi)發(fā)的,現(xiàn)在這款優(yōu)秀的3D游戲引擎正式宣布免費(fèi)提供給游戲開(kāi)發(fā)者們使用,用戶可以將 UE 免費(fèi)用于游戲開(kāi)發(fā)、虛擬現(xiàn)實(shí)、教育、建筑以及電影等方面。
前一代的虛幻引擎的代表作《戰(zhàn)爭(zhēng)機(jī)器》、《彩虹六號(hào)》、《生化奇兵》、《質(zhì)量效應(yīng)1、2》、《鏡之邊緣》、《蝙蝠俠:阿甘瘋?cè)嗽骸?、《永遠(yuǎn)的毀滅公爵》、《國(guó)土防線》,相信或多或少都有聽(tīng)過(guò),游戲的狂熱愛(ài)好者更是每款都不會(huì)錯(cuò)過(guò),其在PC端游上的表現(xiàn)更是大家有目共睹。作為第4代支持了移動(dòng)平臺(tái)的虛幻引擎4,各大游戲廠商都期待其在移動(dòng)端的卓越表現(xiàn)。
去年更有國(guó)人用虛幻引擎4打造了HGame,放出的游戲Demo更讓各位紳士激動(dòng)不已!
官網(wǎng)地址:https://www.unrealengine.com/
HGame的Demo地址就不放了!
最后再說(shuō)一句,這個(gè)世界的車(chē)輪已經(jīng)夠多了,造車(chē)輪需謹(jǐn)慎啊!少年郎!
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。