真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

go語言反編譯,go編譯命令

指令loadx是哪一種類型

負(fù)載 loadx是一個Lua模塊,可提供更好的load()。 用法 該模塊提供以下功能: loadx(chunk, [, chunkname [, mode [, upvalues...]]]) 加載一個塊。 此功能類似于Lua的本機(jī)load ,并且具有以下差異: 如果結(jié)果函數(shù)具有upvalues,則將upvalues設(shè)置為upvalues的值(如果指定了該參數(shù))。 如果沒有給出第一個升值,則將其設(shè)置為全局環(huán)境。 (當(dāng)加載一個主塊時,結(jié)果函數(shù)將始終只具有一個升值_ENV變量。但是,當(dāng)您加載從一個函數(shù)創(chuàng)建的二進(jìn)制塊(例如string.dump )時,結(jié)果函數(shù)可以具有任意數(shù)量的升值)。 有關(guān)chunk , chunk chunkname和mode的定義,請參見本機(jī)load 。 來自本地load所有警告可能適用。 也可以看看: load : , 。 string.dump :

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計,惠來網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:惠來等地區(qū)?;輥碜鼍W(wǎng)站價格咨詢:028-86922220

你可能感興趣的資源

LUA模塊源碼

lua模塊源碼。提供腳本初級命令,有需要的可自行添加

Lua 模塊與包

模塊類似于一個封裝庫,從 Lua 5.1 開始,Lua 加入了標(biāo)準(zhǔn)的模塊管理機(jī)制,可以把一些公用的代碼放在一個文件里,以 API 接口的形式在其他地方調(diào)用,有利于代碼的重用和降低代碼耦合度。 Lua 的模塊是由變量、函數(shù)等...

Lualoadstring函數(shù)用法實例

主要介紹了Lua loadstring函數(shù)用法實例,loadstring最典型的用處是去執(zhí)行外部代碼,也就是位于程序之外的代碼,需要的朋友可以參考下 Lua中的loadfile、dofile、loadstring、require用法實例 主要介紹了Lua中的loadfile、dofile、loadstring、requir...

lua模塊調(diào)用測試

lua 模塊調(diào)用,vs2012版本,實現(xiàn)了簡單的調(diào)用功能

lua實例:任務(wù)模塊

lua任務(wù)模塊代碼,提供給大家學(xué)習(xí)lua語法,及繼承思想

Lua和C/C++互相調(diào)用實例分析

下面對lua和c/c++的交互調(diào)用做一個實例分析: lua提供了API用于在c/c++中構(gòu)造lua的運(yùn)行環(huán)境,相關(guān)接口如下: //創(chuàng)建lua運(yùn)行上下文 lua_State* luaL_newstate(void) ; //加載lua腳本文件 int luaL_loadfile(lua_State *L, const ...

Lua腳本-C工具類資源-CSDN文庫

lua-5.2.1.tar.gz(71個子文件) lua-5.2.1 Makefile3KB src lzio.c2KB lgc.c36KB lua.c14KB loadlib.c21KB lstring.h1KB ldump.c3KB lfunc.c4KB ldo.h1KB Makefile6KB linit.c2KB ...

nginx,lua模塊安裝

nginx的lua模塊安裝

易語言lua的例子

易語言lua的例子,靜態(tài)易語言調(diào)用LUA51.DLL和模塊

lua-其它代碼類資源-CSDN文庫

lua,Lua:Go中用于Lua的VM和編譯器。edundxluaforkgopher-luaporject,這是一個用Go編寫的Lua5.1VM和編譯器。GopherLua與Lua的目標(biāo)相同:成為一種具有可擴(kuò)展語義的腳本語言。它提供了GoAPI,使您可以輕松地將腳本語言嵌入到Go宿主程序中。...

lua-5.3.4安裝包-其它代碼類資源-CSDN文庫

lua.hpp191B loadlib.c23KB lcorolib.c4KB Makefile7KB lualib.h1KB lfunc.c4KB ltable.c19KB lzio.h1KB lstring.h1KB ldebug.h1KB lstring.c6KB llex.h2KB lstrlib.c46KB

易語言Lua支持庫

易語言Lua支持庫源碼,Lua支持庫,GetNewInf,lua_ProcessNotifyLib,建立全局信息,內(nèi)部_附加功能主函數(shù),函數(shù)改C調(diào)用約定,加載內(nèi)存庫,取內(nèi)存DLL函數(shù)地址,調(diào)用內(nèi)存函數(shù),到子程序指針,取子程序地址,取指針地址,取文本指針,...

一個用lua寫的游戲腳本實例

一個用lua寫的游戲腳本實例,是word格式的,值得一看,通過這個例子你可以了解到游戲中的腳本是怎么寫的

一個比較好的LUA斷點測試工具

一個比較好的LUA斷點測試工具一個比較好的LUA斷點測試工具一個比較好的LUA斷點測試工具一個比較好的LUA斷點測試工具

易語言LUA支持庫1.0#0版(第三方)

這是一組全局函數(shù),當(dāng)您在您的應(yīng)用程序中實現(xiàn)一個能被LUA調(diào)用的函數(shù)時候,需要用到這些函數(shù)。主要是數(shù)據(jù)交換相關(guān)。包含 LUA取參數(shù)數(shù)目、LUA取參數(shù)類型、LUA取參數(shù)值、LUA加返回值、LUA擴(kuò)展棧。后續(xù)版本可能會根據(jù)...

Lua中的loadfile、dofile、loadstring、require用法實例

主要介紹了Lua中的loadfile、dofile、loadstring、require用法實例,需要的朋友可以參考下

emoji.lua:Lua的基本表情符號支持模塊

表情符號 :speech_balloon:Lua的基本表情符號支持模塊 :crescent_moon:例子 local emoji = require ( " emoji " )print (emoji. emojify ( " I :heart: :tea:! " ))-- "I :red_heart: :teacup_without_handle:!...

LuaForWindows_v5.1.5-52 安裝包

Lua 是一個小巧的腳本語言。作者是巴西人。該語言的設(shè)計目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。 Lua腳本可以很容易的被C/C++代碼調(diào)用,也可以反過來調(diào)用C/C++的函數(shù),這使得Lua在應(yīng)用...

single-dir.lua:將 Lua 模塊的所有依賴收集到一起

要使用目錄“single-dir-out/modules”中的模塊運(yùn)行 Lua 應(yīng)用程序, LUA_CPATH按如下方式設(shè)置LUA_PATH和LUA_CPATH : $ export LUA_PATH= " modules/?.lua;modules/?/init.lua " $ export LUA_CPATH= " modules/?....

DMC-Lua-Library:一組很棒的 Lua 模塊

DMC Lua 庫這個庫 repo 只是我其他 repos 中 Lua 模塊的集合,所以它只是一個方便的地方來獲取和更新所有這些。 我積極使用所有模塊在服務(wù)器(使用 )和移動設(shè)備(使用 Corona SDK)上構(gòu)建應(yīng)用程序。 文檔在每個相應(yīng)...

lua iconv For windows

本來以為很簡單 結(jié)果找了半天發(fā)現(xiàn)都是很坑爹的辦法 linux下可以直接安裝luaiconv windows下呢 只好自己編了 本來想找個別人寫好的 發(fā)現(xiàn)根本找不到 更坑爹的是 我用eclipse的LDT開發(fā) 結(jié)果發(fā)現(xiàn)它的lua vm沒辦法加載c庫...

lua-amalg:Lua模塊的合并

lua-amalg:Lua模塊的合并

xlsxwriter.lua, 用于創(chuàng)建 Excel XLSX文件的lua模塊.zip

xlsxwriter.lua, 用于創(chuàng)建 Excel XLSX文件的lua模塊 用于Lua的 Xlsxwriter用于創(chuàng)建 Excel XLSX... xlsxwriter模塊Xlsxwriter是一個Lua模塊,可以用于將文本。數(shù)字。公式和超鏈接寫入 Excel 2007 + XLSX文件中的多個工

lua-newmodule:使 Lua 模塊和 init.lua 變得簡單

提出了一種更好、更簡單的定義模塊的方法(沒有 module() 函數(shù)?。?。 請參閱: : 。 在 Lua 5.2 中刪除了 module() 函數(shù)。 見 更多關(guān)于 Lua 模塊? 您應(yīng)該閱讀以下文章: 基基托寫道: I wrote about ...

lua 5.3.5 windows預(yù)編譯exe/dll文件 lua5.3.5.win.zip

lua5.3(32位/64位)windows 預(yù)編譯(exe/DLL) adding: lua5.3.5-x86/lua.exe (in=14336) (out=7311) (deflated 49%) adding: lua5.3.5-x86/lua.o (in=24873) (out=9654) (deflated 61%) adding: lua5.3.5-x86/lua...

ISO14229-1中文

國際統(tǒng)一診斷標(biāo)準(zhǔn)ISO14229-1中文

Vulkan編程指南.pdf

Vulkan編程指南高清版,內(nèi)容可復(fù)制,非常實用.

反編譯工具 dll to c

能夠把DLL轉(zhuǎn)換成可編譯的C或C++代碼。親測可用,無病毒。

USB type C 16Pin

在畫PCB板的時候,如果沒有元器件的3d封裝會很難受,typec接口在繪制PCB經(jīng)常會用到,但是網(wǎng)上關(guān)于typec的3D封裝很少,就算有,絕大部分都是24pin的引腳的,16p的引腳特別難找到,博主我也是花了好長時間才找到的。如果各位急需typec16pin的封裝,但是又沒有積分下載的話,可以去淘寶上搜索 “CSDN下載” 只需要 1毛錢 就可以下載。

基于stm32水質(zhì)監(jiān)測系統(tǒng)(畢設(shè))

基于stm32水質(zhì)監(jiān)測系統(tǒng)(畢設(shè))

評論

如何用 純C++開發(fā)安卓應(yīng)用

純C++,你想多的。

除非你從頭開始寫系統(tǒng)api。

沒有android給你提供的api,或者別人提供的類庫,你用純C++自己實先去。

C/C++ 開發(fā)android,可以使用NDK;

Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google稱為“NDK”。

眾所周知,Android程序運(yùn)行在Dalvik虛擬機(jī)中,NDK允許用戶使用類似C / C++之類的原生代碼語言執(zhí)行部分程序。

NDK包括了:

從C / C++生成原生代碼庫所需要的工具和build files。

將一致的原生庫嵌入可以在Android設(shè)備上部署的應(yīng)用程序包文件(application packages files ,即.apk文件)中。

支持所有未來Android平臺的一系列原生系統(tǒng)頭文件和庫

為何要用到NDK?

概括來說主要分為以下幾種情況:

1. 代碼的保護(hù),由于apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大。

2. 在NDK中調(diào)用第三方C/C++庫,因為大部分的開源庫都是用C/C++代碼編寫的。

3. 便于移植,用C/C++寫的庫可以方便在其他的嵌入式平臺上再次使用。

2、或者使用Qt for android。使用qt提供的C++類庫(加上了Qt自己的特性)開發(fā)andriod

不過建議對C/C++非常熟練才用C/C++開發(fā)。不然內(nèi)存溢出呵呵。

不是浸淫C++技術(shù)的高手的話,老老實實學(xué)java或者go吧。

python語言的特點是什么

Python 特點:簡單易學(xué)

Python 是一種代表簡單注意思想的語言,閱讀一個良好的 Python 程序,即使是在 Python 語法要求非常嚴(yán)格的大環(huán)境下,給人的感覺也像是在讀英語段落一樣。

換句話說,Python 編程語言最大的優(yōu)點之一,是其具有偽代碼的特質(zhì),它可以讓我們在開發(fā) Python 程序時,專注于解決問題,而不是搞明白語言本身。

Python 特點:開源

Python 是 FLOSS(自由/開源源碼軟件)之一,簡單地理解就是,用戶使用 Python 進(jìn)行開發(fā)和發(fā)布自己編寫的程序,不需要支付任何費(fèi)用,也不用擔(dān)心版權(quán)問題,即使作為商業(yè)用途,Python 也是免費(fèi)的。

開源正在成為軟件行業(yè)的一種發(fā)展趨勢,現(xiàn)在有很多商業(yè)軟件公司都開始將自己的產(chǎn)品變成開源的(例如 Java)。也許,Python 的開源正是它如此優(yōu)秀的原因之一,因為會有這么一群人,他們希望看到一個更加優(yōu)秀的 Python,從而為了這個目標(biāo),不斷地對 Python 進(jìn)行創(chuàng)造,不斷地改進(jìn)。

Python 特點:高級語言

Python 是高級語言,因此當(dāng)使用 Python 語言編寫程序時,我們無需再考慮一些底層細(xì)節(jié)方面的問題。例如,如何管理程序使用的內(nèi)存等等。

Python 特點:解釋型語言

一個用編譯型語言(如 C 或 C++)寫的程序,可以從源文件轉(zhuǎn)換到一個計算機(jī)使用的語言。這個過程主要通過編譯器完成。當(dāng)運(yùn)行程序的時候,我們可以把程序從硬盤復(fù)制到內(nèi)存中并且運(yùn)行。

而 Python 語言寫的程序,則不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序。在計算機(jī)內(nèi)部,由 Python 解釋器把源代碼轉(zhuǎn)換成字節(jié)碼的中間形式,然后再把它翻譯成計算機(jī)使用的機(jī)器語言并運(yùn)行。

事實上,由于不再擔(dān)心如何編譯程序,使得使用 Python 變得更加簡單,我們只需要將 Python 程序復(fù)制到另外一臺計算機(jī)上,它就可以工作了。因此,Python 程序更加易于移植。

Python 特點:可移植性

由于 Python 是開源的,它已經(jīng)被移植到許多平臺上。如果能夠避免使用依賴系統(tǒng)的特性,那就意味著,所有 Python 程序都無需修改就可以在好多平臺上運(yùn)行,包括 Linux 、Windows、FreeBSD、Solaris 等等,甚至還有 PocketPC、Symbian 以及 Google 基于 Linux 開發(fā)的 Android 平臺。

解釋型語言幾乎天生就是跨平臺的。Python 作為一門解釋型的語言,它天生具有跨平臺的特征,只要為平臺提供了相應(yīng)的 Python 解釋器,Python 就可以在該平臺上運(yùn)行。

Python 特點:面向?qū)ο?/p>

Python 既支持面向過程編程,也支持面向?qū)ο缶幊獭T凇懊嫦蜻^程”的語言中(如 C 語言),程序僅僅是由可重用代碼的函數(shù)構(gòu)建起來的;而在“面向?qū)ο蟆钡恼Z言(如 C++)中,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。

與其他編程語言(如 C++ 和 Java)相比,Python 是以一種非常強(qiáng)大,而又簡單的方式實現(xiàn)的面向?qū)ο缶幊獭?/p>

Python 特點:強(qiáng)大的功能

Python 強(qiáng)大的功能也許才是很多用戶支持 Python 的最重要的原因,從字符串處理到復(fù)雜的 3D 圖形編程,Python 借助擴(kuò)展模塊都可以輕松完成。

實際上,Python 的核心模塊已經(jīng)提供了足夠強(qiáng)大的功能,使用 Python 精心設(shè)計的內(nèi)置對象可以完成許多功能強(qiáng)大的操作。

此外,Python 的社區(qū)也很發(fā)達(dá),即使一些小眾的應(yīng)用場景,Python 往往也有對應(yīng)的開源模塊來提供解決方案。

Python 特點:可擴(kuò)展性

Python 的可擴(kuò)展性體現(xiàn)為它的模塊,Python 具有腳本語言中最豐富和強(qiáng)大的類庫,這些類庫覆蓋了文件 I/O、GUI、網(wǎng)絡(luò)編程、數(shù)據(jù)庫訪問、文本操作等絕大部分應(yīng)用場景。

Python 可擴(kuò)展性一個最好的體現(xiàn)是,當(dāng)我們需要一段關(guān)鍵代碼運(yùn)行的更快時,可以將其用 C 或 C++ 語言編寫,然后在 Python 程序中使用它們即可。

除了以上幾個特點(也可稱之為優(yōu)點)之外,作為一個解釋型語言,Python 自然也有一些弱點,比如:

速度慢:Python 程序比 Java、C、C++ 等程序的運(yùn)行效率都要慢。

源代碼加密困難:不像編譯型語言的源程序會被編譯成目標(biāo)程序,Python 直接運(yùn)行源程序,因此對源代碼加密比較困難。

其實,這兩個缺點并不是什么大問題,首先,由于目前計算機(jī)的硬件速度越來越快,軟件工程往往更關(guān)注開發(fā)過程的效率和可靠性,而不是軟件的運(yùn)行效率;至于第二個問題就更不是問題了,現(xiàn)在軟件行業(yè)的大勢本就是開源,就像 Java 程序同樣很容易反編譯,但絲毫不會影響它的流行。

編程時選用的程序設(shè)計語言,對軟件的開發(fā)與維護(hù)的影響?

【CSDN 編者按】“如果我們把人類文明想象成汽車的話,那么軟件開發(fā)行業(yè)就相當(dāng)于汽車的引擎,編程語言就像引擎的燃料。”作為一名開發(fā)者,需跟隨技術(shù)潮流的發(fā)展來學(xué)習(xí)新技術(shù)。2020年,你有計劃新學(xué)一門編程語言嗎?

本文作者從一名架構(gòu)師的角度,詳細(xì)分析了7種現(xiàn)代編程語言的優(yōu)點與功能,你對哪門語言最感興趣呢?

作者 | Md Kamaruzzaman,軟件架構(gòu)師

譯者 | 彎月,責(zé)編 | 伍杏玲

封圖| CSDN 下載于視覺中國

出品 | CSDN(ID:CSDNnews)

以下為譯文:

如果我們把人類文明想象成汽車的話,那么軟件開發(fā)行業(yè)就相當(dāng)于汽車的引擎,而編程語言就像引擎的燃料。作為一名開發(fā)者,今年你應(yīng)該學(xué)習(xí)哪種編程語言呢?

學(xué)習(xí)一種新的編程語言無疑是時間、精力和智力上的巨大投資, 但是學(xué)習(xí)一種新的編程語言可以提升你的軟件開發(fā)技術(shù)力,促進(jìn)你的職業(yè)發(fā)展。

在這里,我將獻(xiàn)上一份現(xiàn)代編程語言的列表,這些語言不僅有助于提高你的生產(chǎn)力,而且還可以促進(jìn)你的職業(yè)發(fā)展,并讓你成長為更優(yōu)秀的開發(fā)人員。這份列表還涵蓋了非常廣泛的領(lǐng)域:系統(tǒng)編程、應(yīng)用程序開發(fā)、Web開發(fā)、科學(xué)計算等。

什么是現(xiàn)代編程語言?

“現(xiàn)代編程語言”這個說法本身就很含糊。許多人認(rèn)為Python和JavaScript等語言是現(xiàn)代編程語言,還認(rèn)為Java是一種古老的編程語言。實際上,這幾種語言大約在同一時間出現(xiàn):1995年。

大多數(shù)主流編程語言是上個世紀(jì)開發(fā)的:七十年代(如C)、八十年代(如C ++)、九十年代(如Java、Python、JavaScript)。這些語言在設(shè)計上并沒有考慮現(xiàn)代軟件開發(fā)生態(tài)系統(tǒng):多核CPU、GPU、快速的互聯(lián)網(wǎng)、移動設(shè)備、容器和云等。盡管許多語言中的許多功能都已進(jìn)行一些改進(jìn),如并發(fā)等,而且在不斷調(diào)整自己以適應(yīng)時代,但它們依然保留了向后兼容性,無法拋棄那些過時的舊功能。

在這方面,Python就做得很好(某種意義上也未必是好事),Python 2和Python 3兩者之間有明確的分界線。很多語言常常會為解決同一個問題提供十余種的方法,同時又沒有顧及到開發(fā)人員的感受。根據(jù)StackOverflow的開發(fā)人員調(diào)查,大多數(shù)舊時的主流編程語言在“最可怕的語言”排名都名列前茅:

如果非要在新舊編程語言之間劃個界限的話,那么應(yīng)該是2007年6月29日,也就是第一臺iPhone發(fā)行的時候。在這之后,編程語言界發(fā)生了很大變化。因此,在本文的列表中,我只考慮2007年以后的編程語言。

為什么要學(xué)習(xí)新語言?

首先,現(xiàn)代編程語言充分利用現(xiàn)代計算機(jī)硬件(多核CPU、GPU、TPU)、移動設(shè)備、大量數(shù)據(jù)、高速互聯(lián)網(wǎng)、容器和云的優(yōu)勢。大多數(shù)現(xiàn)代編程語言會關(guān)注開發(fā)人員的體驗,比如:

簡潔明了的代碼(減少樣板代碼)

內(nèi)置的并發(fā)支持

空指針安全

類型推斷

簡潔的功能集

降低學(xué)習(xí)難度

融合所有編程范例的最佳功能

本文列表的許多編程語言都帶有革命性地變化,并將永久地改變軟件行業(yè)。一些已成為主流編程語言,還有一些則有望取得突破。因此選擇這些語言作為第二種編程語言是明智的做法。

Rust

一直以來,系統(tǒng)編程語言環(huán)境主要由靠近硬件的語言(如C、C ++等)主導(dǎo)。盡管它們可以完全控制程序和硬件,但是它們?nèi)狈?nèi)存安全性。即使它們支持并發(fā),使用C/C ++編寫并發(fā)程序也很困難,因為沒有并發(fā)安全性。還有一些流行的編程語言是解釋性語言,例如Java、Python、Haskell。這些語言具備安全性,但需要龐大的運(yùn)行時或虛擬機(jī)。由于它們的運(yùn)行時間長,因此Java等語言不適合于系統(tǒng)編程。

許多人曾嘗試將C/C ++的功能與Java、Haskell的安全性相結(jié)合。然而,Rust才是第一個成功實現(xiàn)了這一點的編程語言。

Graydon Hoare在業(yè)余項目中開發(fā)出了Rust,他的靈感來自研究編程語言Cyclone。Rust是開源的,由Mozilla與許多其他公司和社區(qū)一起領(lǐng)導(dǎo)這門語言的開發(fā)。Rust于2015年首次發(fā)布,并很快引起了社區(qū)的關(guān)注。

主要特征:

通過所有權(quán)和借用概念提供內(nèi)存安全和并發(fā)安全。

內(nèi)存安全和并發(fā)安全在編譯時確保,即如果程序代碼可以編譯,那么內(nèi)存既安全又沒有數(shù)據(jù)競爭。這是Rust最吸引人的功能。

它還提供了Haskell中元編程的表現(xiàn)力。憑借不可變的數(shù)據(jù)結(jié)構(gòu)和功能編程功能,Rust提供了功能并發(fā)和數(shù)據(jù)并發(fā)。

Rust的速度非常快,純Rust的性能甚至優(yōu)于純C。

在沒有運(yùn)行時的情況下,Rust可以完全控制現(xiàn)代硬件(TPU、GPU、多核CPU)。

Rust具有LLVM支持。因此,Rust提供一流的與WebAssembly的互操作性,而且Web代碼也非???。

流行度:

自2015年首次亮相以來,Rust已被開發(fā)人員廣泛接受,并在StackOverflow開發(fā)人員調(diào)查中連續(xù)四年(2016、2017、2018、2019)被評選為最受歡迎的語言:

根據(jù)GitHub Octoverse的調(diào)查,Rust是運(yùn)行速度第二快的語言,僅次于Dart:

此外,根據(jù)編程語言流行度排名網(wǎng)站PyPl的數(shù)據(jù),Rust排名第18位,并呈上升趨勢:

對比Rust提供的功能集,我們就會明白為什么微軟、亞馬遜、Google等科技巨頭相繼宣布投資Rust作為一種長期的系統(tǒng)編程語言。

根據(jù)Google統(tǒng)計的趨勢,在過去的5年中,Rust的熱度每年都在增加。

主要用途:

系統(tǒng)編程

Serverless 計算

商業(yè)應(yīng)用

主要競爭對手:

C

C++

Go

Swift

Go

在本世紀(jì)初,Google面臨兩個擴(kuò)展問題:開發(fā)擴(kuò)展和應(yīng)用程序擴(kuò)展。開發(fā)擴(kuò)展問題指的是他們不能僅通過投入開發(fā)人員的方式來添加更多功能。應(yīng)用程序擴(kuò)展問題則指他們無法開發(fā)出一款能夠擴(kuò)展到Google級別的計算機(jī)集群的應(yīng)用程序。

所以在2007年左右,Google創(chuàng)建了一種新的編程語言,用于解決這兩個擴(kuò)展問題。兩位才華橫溢的Google軟件工程師Rob Pike(UTF-8)和Ken Thompson(UNIX OS)創(chuàng)建了一種新語言。

2012年,Google正式發(fā)布了第一版的Go編程語言。Go是一種系統(tǒng)編程語言,但與Rust不同,它還具有Runtime和垃圾收集器(幾兆字節(jié))。但是與Java或Python不同,這個Runtime包含了生成的代碼。最后,Go生成了一個本地的二進(jìn)制代碼,可以在沒有附加依賴項或運(yùn)行時的情況下在計算機(jī)中運(yùn)行。

主要特征:

Go具有一流的并發(fā)支持。Go不通過線程和鎖提供“共享內(nèi)存”并發(fā)性,因為編程難度太大。相反,它提供了基于CSP的消息傳遞并發(fā)性(基于Tony Hoare的論文)。Go使用“ Goroutine”(輕量級綠色線程)和“ Channel”進(jìn)行消息傳遞。

Go最大的殺手級功能是:簡單,它是最簡單的系統(tǒng)編程語言。新手軟件開發(fā)人員只需幾天就可以編寫高效的代碼,就像Python一樣。有些大規(guī)模的云原生項目(如Kubernetes、Docker)都是用Go編寫的。

Go還內(nèi)置了垃圾收集器,這意味著開發(fā)人員無需擔(dān)心C/C++中的內(nèi)存管理問題。

Google投入了大量資金打造Go。因此Go擁有大量的工具支持。新手Go開發(fā)人員擁有大量的工具生態(tài)系統(tǒng)。

一般,開發(fā)人員80%的時間都花在了維護(hù)現(xiàn)有代碼上,用于編寫新代碼的時間只占20%。由于其簡單性,Go在語言維護(hù)方面表現(xiàn)出色。如今,Go在業(yè)務(wù)應(yīng)用程序中大量使用。

流行度:

Go一問世就受到了軟件開發(fā)社區(qū)熱烈的歡迎。2009年-2018年,Go一直在TIOBE編程語言排行榜上徘徊。Go的成功為Rust等新一代編程語言鋪平了道路。

如今,Go已是主流編程語言。最近,Go團(tuán)隊宣布了有關(guān)“Go 2”的消息,這門編程語言的發(fā)展會更加穩(wěn)固。

幾乎在所有的流行編程語言排行榜中,Go的排名都很高,已超過許多現(xiàn)有的語言。自2019年12月以來,在TIOBE指數(shù)排名中,Go名列第15位:

根據(jù)StackOverFlow的調(diào)查,十大最受喜愛的編程語言中,Go也位列其中:

此外,根據(jù)GitHub的數(shù)據(jù),Go也是十大發(fā)展最迅速的語言之一:

Google趨勢顯示,在過去的5年中,Go的熱度每年都在增加。

主要用途:

系統(tǒng)編程

Serverless 計算

商業(yè)應(yīng)用

云原生開發(fā)

主要競爭對手:

C

C++

Rust

Python

Java

Kotlin

Java 是企業(yè)軟件開發(fā)領(lǐng)域無可爭議的王者。近年來,Java受到了一些負(fù)面評論:過于冗長,大量樣板代碼,容易出現(xiàn)意外的復(fù)雜性。但是,關(guān)于Java虛擬機(jī)(JVM)的爭論卻很少。JVM是軟件工程的杰作,經(jīng)過了時間的考驗,提供了硬核的runtime。

多年來,Scala等JVM語言一直在努力克服Java的缺點,想成為更好的Java,但他們都失敗了。最終,這場提升Java的探索以Kotlin的誕生結(jié)束。Jet Brains(流行的IDE IntelliJ背后的公司)開發(fā)了Kotlin,它可以在JVM上運(yùn)行,克服了Java的很多缺點,提供許多現(xiàn)代功能。

與Scala不同的是,Kotlin比Java更簡單,還可在JVM中提供與Go或Python開發(fā)人員同等的生產(chǎn)力。

Google宣布Kotlin是一流的Android應(yīng)用開發(fā)語言,因此Kotlin在社區(qū)中的接受度得到了大幅提高。自2017年以來,同樣受歡迎的Java Enterprise框架Spring也開始支持Kotlin。我曾嘗試結(jié)合Kotlin與Reactive Spring使用,體驗非常棒。

主要特征:

Kotlin的主要賣點在于其語言設(shè)計。我總是將Kotlin視為JVM上的Go/Python,因為它簡潔明了的代碼。因此,Kotlin的生產(chǎn)力很高。

與許多其他現(xiàn)代語言一樣,Kotlin提供了Null指針、安全性、類型推斷等功能。

由于Kotlin也運(yùn)行在JVM中,因此現(xiàn)有Java庫龐大的生態(tài)系統(tǒng)都可供使用。

Kotlin是一流的Android應(yīng)用開發(fā)語言,并且已經(jīng)超過Java,成為開發(fā)Android應(yīng)用的首選。

Kotlin得到了JetBrains和Open Source的支持,因此具有出色的工具支持。

Kotlin有兩個有趣的項目:Kotlin Native(將Kotlin編譯為原生代碼)和kotlin.js(Kotlin到JavaScript)。如果成功,則可以在JVM外部使用Kotlin。

Kotlin還提供了一種簡單的方式來編寫DSL(域特定語言)。

流行度:

自2015年首次發(fā)布以來,Kotlin的知名度不斷飆升。根據(jù)Stack Overflow,Kotlin是2019年第四大最受歡迎的編程語言:

Kotlin還是增長最快的編程語言之一,排名第四:

在流行編程語言排名網(wǎng)站PyPl的排名中,Kotlin名列第十二名,并具有較高的上升趨勢:

自從Google宣布Kotlin是一流的Android應(yīng)用開發(fā)語言以來,Kotlin的流行趨勢出現(xiàn)了大幅上漲,如下所示:

主要用途:

企業(yè)應(yīng)用程序

主要競爭對手:

TypeScript

JavaScript是一門優(yōu)秀的編程語言,在2015年之前,JavaScript有很多缺點。著名的軟件工程師Douglas Crockford寫了一本書名為《JavaScript: The Good Parts》,暗示了JavaScript有很糟的部分。無模塊化,還有“回調(diào)地獄”,因此開發(fā)人員都不喜歡維護(hù)特別大的JavaScript項目。

Google甚至還開發(fā)了一個平臺,可將Java代碼反編譯為JavaScript代碼(GWT)。許多公司和個人都曾嘗試開發(fā)更好的JavaScript,例如CoffeeScript、Flow、ClojureScript。最終,微軟的TypeScript取得了成功。

微軟的一隊工程師在著名的Anders Hejlsberg的帶領(lǐng)下,創(chuàng)建了JavaScript的靜態(tài)類型、模塊化超集——TypeScript。

TypeScript可以編譯為JavaScript。于2014年首次發(fā)布后,TypeScript很快引起了社區(qū)的關(guān)注。Google當(dāng)時還計劃開發(fā)JavaScript的靜態(tài)類型超集。Google對TypeScript青睞有加,以至于他們沒有開發(fā)新的語言,而是選擇與微軟合作改進(jìn)TypeScript。

Google選擇TypeScript作為其SPA框架Angular 2+的主要編程語言。此外,流行的SPA框架React也提供對TypeScript的支持。另一個流行的JavaScript框架Vue.js也宣布將使用TypeScript開發(fā)新的Vue.js 3:

另外,node.js的創(chuàng)建者Ryan Dahl已決定使用TypeScript來開發(fā)安全的Node.js替代品Deno。

主要特征:

流行度:

開發(fā)人員喜歡TypeScript的優(yōu)雅語言設(shè)計。在StackOverFlow最受歡迎的語言類別的調(diào)查中,TypeScript與Python并列第二名:

根據(jù)GitHub的排名,TypeScript是增長最快的編程語言之一,排名第五:

從GitHub的貢獻(xiàn)度來看,TypeScript排名第七,打進(jìn)了前十:

Google的趨勢表明,在過去的幾年中,TypeScript的熱度越來越高:

主要用途:

主要競爭對手:

Swift

當(dāng)初喬布斯拒絕在iOS中支持Java(和JVM),他認(rèn)為Java不再是主流編程語言。如今我們發(fā)現(xiàn)喬布斯當(dāng)初的估計是錯的,雖然iOS仍然不支持Java。蘋果選擇了Objective-C作為iOS中的首選編程語言。Objective-C是一門很難掌握的語言,它不支持現(xiàn)代編程語言所要求的高生產(chǎn)力。

后來,蘋果的Chris Lattner和其他人開發(fā)了一種多范例、通用的、編譯編程語言——Swift,來替代Objective-C。Swift的第一個穩(wěn)定版本于2014年發(fā)布。Swift還支持LLVM編譯器工具鏈(也由Chris Lattner開發(fā))。Swift與Objective-C代碼庫具有出色的互操作性,并且已確立為iOS應(yīng)用開發(fā)中的主要編程語言。

主要特征:

流行度:

開發(fā)人員對Swift的喜愛不亞于許多其他現(xiàn)代編程語言。根據(jù)StackOverflow的調(diào)查,Swift在最受歡迎的編程語言中排名第六:

2019年,在TIOBE的編程語言排名中,Swift的排名上升到了第10名。鑒于這種編程語言只有5年的歷史,可以說是成績斐然:

Google的趨勢表明,在過去的幾年中,Swift的熱度出現(xiàn)了激增:

主要用途:

主要競爭對手:

Dart

Dart是Google出品的第二大編程語言。Google是Web和Android領(lǐng)域的巨頭,因此Google在Web和應(yīng)用領(lǐng)域開發(fā)自己的編程語言也不足為奇。在丹麥軟件工程師Lars Bak(領(lǐng)導(dǎo)Chrome的 JavaScript V8引擎開發(fā))的帶領(lǐng)下,Google于2013年發(fā)布了Dart。

Dart是一種通用編程語言,支持“強(qiáng)類型”和“面向?qū)ο蟆本幊?。Dart也可以轉(zhuǎn)編譯為JavaScript,凡是JavaScript可以運(yùn)行的任何地方(例如Web、移動、服務(wù)器)幾乎都可以運(yùn)行 Dart。

主要特征:

流行度:

根據(jù)GitHub Octoverse數(shù)據(jù)顯示,Dart是2019年增長最快的編程語言,去年它的流行度增長了五倍:

根據(jù)TIOBE指數(shù)顯示,Dart排名第23,僅用了4年時間就超過了很多其他的現(xiàn)代編程語言:

根據(jù)StackOverflow的調(diào)查,Dart在最受歡迎的編程語言中排名第12:

受Flutter的影響,Google的趨勢表明,在過去的兩年中,Dart的熱度急劇上升:

主要用途:

主要競爭對手:

Julia

本文提及的大多數(shù)編程語言都是由大型公司開發(fā)的,但Julia是個例外??萍加嬎泐I(lǐng)域通常都會使用動態(tài)語言,例如Python、Matlab。雖然這些語言提供易于使用的語法,但不適用于大規(guī)模的科技計算。他們需要使用C/C ++庫執(zhí)行CPU密集型任務(wù),因此這就產(chǎn)生了著名的“兩種語言”的問題,因為他們需要粘合代碼來綁定兩種語言。由于編寫的代碼需要在兩種語言之間來回切換,因此總是會損失部分性能。

為了解決這個問題,麻省理工學(xué)院的一隊研究人員計劃從頭開始創(chuàng)建一種新的語言,這種語言既可以利用現(xiàn)代硬件的優(yōu)勢,而且還結(jié)合其他語言的優(yōu)勢。于是,Julia誕生了。

Julia是一種動態(tài)的高級編程語言,提供一流的并發(fā)、并行和分布式計算支持。Julia的第一個穩(wěn)定版本于2018年發(fā)布,并很快受到社區(qū)和行業(yè)的關(guān)注。Julia可用于科學(xué)計算、人工智能和許多其他領(lǐng)域,而且還可以解決“兩種語言”的問題。

主要特征:

流行度:

Julia在許多領(lǐng)域主要與Python競爭。由于Python是最流行的編程語言之一,因此Julia想晉升主流還需要幾年的時間。

雖然Julia非常新(只有一歲),但仍在TIOBE指數(shù)中排到第43名:

Google趨勢顯示,在過去的一年中,Julia的熱度在穩(wěn)步增長:

但是考慮到Julia的功能集,以及NSF、DARPA、NASA、因特爾等公司的推動,相信Julia取得突破的進(jìn)展只是時間的問題。

主要用途:

主要競爭對手:

原文鏈接:

本文為 CSDN 翻譯,轉(zhuǎn)載請注明來源出處。

【End】

Python

Matlab

科學(xué)計算

高性能計算

數(shù)據(jù)科學(xué)

可視化

與Rust一樣,Julia的主要特征在于語言的設(shè)計。這種語言在不犧牲性能的情況下,將高性能和科學(xué)計算中現(xiàn)有編程語言的一些功能結(jié)合在一起。就目前的情況來看,Julia出色地完成了這項任務(wù)。

Julia是一種動態(tài)編程語言,支持類型系統(tǒng)但類型不是必須的。因此,Julia這種編程語言很容易學(xué)習(xí),生產(chǎn)力很高。

Julia的核心是多調(diào)度編程范例。

Julia內(nèi)部支持并發(fā)、并行和分布式計算。

Julia為I/O密集型任務(wù)提供異步I/O。

Julia的運(yùn)行速度非???,可用于需要數(shù)百萬個線程的科學(xué)計算。

JavaScript

TypeScript

應(yīng)用開發(fā)

UI開發(fā)

與Go一樣,Dart也非常注重開發(fā)人員的工作效率。由于Dart簡潔的語法,以及高效的生產(chǎn)力,受到開發(fā)人員的喜愛。

Dart還提供“強(qiáng)類型”和“面向?qū)ο蟆本幊獭?/p>

Dart是少數(shù)同時支持JIT編譯(運(yùn)行時編譯)和AOT編譯(創(chuàng)建時編譯)的編程語言之一。因此,Dart可以針對JavaScript運(yùn)行時(V8引擎),并且Dart可以編譯為快速的原生代碼(AOT編譯)。

跨平臺原生應(yīng)用程序開發(fā)平臺Flutter選擇了Dart作為開發(fā)iOS和Android應(yīng)用的編程語言。從那以后,Dart的流行度越來越高。

與Goog的Go編程語言一樣,Dart也具有出色的工具支持和龐大的Flutter生態(tài)系統(tǒng)。Flutter的日益普及也會推動Dart的采用率升高。

Objective-C

Rust

Go

iOS應(yīng)用開發(fā)

系統(tǒng)編程

客戶端開發(fā)(通過WebAssembly)

Swift的殺手級功能之一是其語言設(shè)計。語言本身很簡單,語法簡潔,比Objective-C更高效。

Swift還提供了現(xiàn)代程序語言的功能:null安全。此外,它還提供了語法糖來避免“厄運(yùn)金字塔”。

作為一種編譯語言,Swift和C++一樣快。

Swift支持LLVM編譯器工具鏈。因此,我們可以在服務(wù)器端編程,甚至瀏覽器編程(使用WebAssembly)中使用Swift。

Swift提供了自動引用計數(shù)(ARC)支持,可抑制內(nèi)存管理的不善。

JavaScript

Dart

Web UI開發(fā)

服務(wù)器端開發(fā)

與Go或Kotlin同樣,TypeScript的主要特征也是語言設(shè)計。TypeScript憑借其簡潔明快的代碼,成為了目前最優(yōu)雅的編程語言之一。就開發(fā)人員的生產(chǎn)力而言,它與JVM或Go/Python上的Kotlin并駕齊驅(qū)。TypeScript是生產(chǎn)力最高的JavaScript超集。

TypeScript是JavaScript的強(qiáng)類型超集,特別適合大型項目,而且可以稱為“可擴(kuò)展的JavaScript”。

單頁應(yīng)用程序框架的“三巨頭”(Angular、React、Vue.js)為TypeScript提供了出色的支持。在Angular中,TypeScript是首選的編程語言。在React和Vue.js中,TypeScript越來越受歡迎。

最大的兩家技術(shù)巨頭:微軟和Google正在合作開發(fā)由活躍的開源社區(qū)支持的TypeScript。因此,TypeScript擁有最好的工具支持。

由于TypeScript是JavaScript的超集,因此凡是可以運(yùn)行JavaScript的任何地方都可以運(yùn)行TypeScript,包括瀏覽器、服務(wù)器、移動設(shè)備、物聯(lián)網(wǎng)設(shè)備和云。

Java

Scala

Python

Go

golang生成的二進(jìn)制可以反編譯嗎

和C/C++編譯的程序一樣,都是機(jī)器碼,如果你能反編譯C的就能反編譯Go的。

可以反編譯成匯編

Linux的這個go文件怎么解壓?

go語言寫的,是編譯運(yùn)行的話,那就是反編譯了,不然不成;除非得到的是源文件……

若是解釋執(zhí)行,直接就能看見代碼了唄


網(wǎng)站標(biāo)題:go語言反編譯,go編譯命令
文章源于:http://weahome.cn/article/hddehd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部