【CSDN 編者按】“如果我們把人類文明想象成汽車的話,那么軟件開(kāi)發(fā)行業(yè)就相當(dāng)于汽車的引擎,編程語(yǔ)言就像引擎的燃料。”作為一名開(kāi)發(fā)者,需跟隨技術(shù)潮流的發(fā)展來(lái)學(xué)習(xí)新技術(shù)。2020年,你有計(jì)劃新學(xué)一門(mén)編程語(yǔ)言嗎?
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)南海,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
本文作者從一名架構(gòu)師的角度,詳細(xì)分析了7種現(xiàn)代編程語(yǔ)言的優(yōu)點(diǎn)與功能,你對(duì)哪門(mén)語(yǔ)言最感興趣呢?
作者 | Md Kamaruzzaman,軟件架構(gòu)師
譯者 | 彎月,責(zé)編 | 伍杏玲
封圖| CSDN 下載于視覺(jué)中國(guó)
出品 | CSDN(ID:CSDNnews)
以下為譯文:
如果我們把人類文明想象成汽車的話,那么軟件開(kāi)發(fā)行業(yè)就相當(dāng)于汽車的引擎,而編程語(yǔ)言就像引擎的燃料。作為一名開(kāi)發(fā)者,今年你應(yīng)該學(xué)習(xí)哪種編程語(yǔ)言呢?
學(xué)習(xí)一種新的編程語(yǔ)言無(wú)疑是時(shí)間、精力和智力上的巨大投資, 但是學(xué)習(xí)一種新的編程語(yǔ)言可以提升你的軟件開(kāi)發(fā)技術(shù)力,促進(jìn)你的職業(yè)發(fā)展。
在這里,我將獻(xiàn)上一份現(xiàn)代編程語(yǔ)言的列表,這些語(yǔ)言不僅有助于提高你的生產(chǎn)力,而且還可以促進(jìn)你的職業(yè)發(fā)展,并讓你成長(zhǎng)為更優(yōu)秀的開(kāi)發(fā)人員。這份列表還涵蓋了非常廣泛的領(lǐng)域:系統(tǒng)編程、應(yīng)用程序開(kāi)發(fā)、Web開(kāi)發(fā)、科學(xué)計(jì)算等。
什么是現(xiàn)代編程語(yǔ)言?
“現(xiàn)代編程語(yǔ)言”這個(gè)說(shuō)法本身就很含糊。許多人認(rèn)為Python和JavaScript等語(yǔ)言是現(xiàn)代編程語(yǔ)言,還認(rèn)為Java是一種古老的編程語(yǔ)言。實(shí)際上,這幾種語(yǔ)言大約在同一時(shí)間出現(xiàn):1995年。
大多數(shù)主流編程語(yǔ)言是上個(gè)世紀(jì)開(kāi)發(fā)的:七十年代(如C)、八十年代(如C ++)、九十年代(如Java、Python、JavaScript)。這些語(yǔ)言在設(shè)計(jì)上并沒(méi)有考慮現(xiàn)代軟件開(kāi)發(fā)生態(tài)系統(tǒng):多核CPU、GPU、快速的互聯(lián)網(wǎng)、移動(dòng)設(shè)備、容器和云等。盡管許多語(yǔ)言中的許多功能都已進(jìn)行一些改進(jìn),如并發(fā)等,而且在不斷調(diào)整自己以適應(yīng)時(shí)代,但它們依然保留了向后兼容性,無(wú)法拋棄那些過(guò)時(shí)的舊功能。
在這方面,Python就做得很好(某種意義上也未必是好事),Python 2和Python 3兩者之間有明確的分界線。很多語(yǔ)言常常會(huì)為解決同一個(gè)問(wèn)題提供十余種的方法,同時(shí)又沒(méi)有顧及到開(kāi)發(fā)人員的感受。根據(jù)StackOverflow的開(kāi)發(fā)人員調(diào)查,大多數(shù)舊時(shí)的主流編程語(yǔ)言在“最可怕的語(yǔ)言”排名都名列前茅:
如果非要在新舊編程語(yǔ)言之間劃個(gè)界限的話,那么應(yīng)該是2007年6月29日,也就是第一臺(tái)iPhone發(fā)行的時(shí)候。在這之后,編程語(yǔ)言界發(fā)生了很大變化。因此,在本文的列表中,我只考慮2007年以后的編程語(yǔ)言。
為什么要學(xué)習(xí)新語(yǔ)言?
首先,現(xiàn)代編程語(yǔ)言充分利用現(xiàn)代計(jì)算機(jī)硬件(多核CPU、GPU、TPU)、移動(dòng)設(shè)備、大量數(shù)據(jù)、高速互聯(lián)網(wǎng)、容器和云的優(yōu)勢(shì)。大多數(shù)現(xiàn)代編程語(yǔ)言會(huì)關(guān)注開(kāi)發(fā)人員的體驗(yàn),比如:
簡(jiǎn)潔明了的代碼(減少樣板代碼)
內(nèi)置的并發(fā)支持
空指針安全
類型推斷
簡(jiǎn)潔的功能集
降低學(xué)習(xí)難度
融合所有編程范例的最佳功能
本文列表的許多編程語(yǔ)言都帶有革命性地變化,并將永久地改變軟件行業(yè)。一些已成為主流編程語(yǔ)言,還有一些則有望取得突破。因此選擇這些語(yǔ)言作為第二種編程語(yǔ)言是明智的做法。
Rust
一直以來(lái),系統(tǒng)編程語(yǔ)言環(huán)境主要由靠近硬件的語(yǔ)言(如C、C ++等)主導(dǎo)。盡管它們可以完全控制程序和硬件,但是它們?nèi)狈?nèi)存安全性。即使它們支持并發(fā),使用C/C ++編寫(xiě)并發(fā)程序也很困難,因?yàn)闆](méi)有并發(fā)安全性。還有一些流行的編程語(yǔ)言是解釋性語(yǔ)言,例如Java、Python、Haskell。這些語(yǔ)言具備安全性,但需要龐大的運(yùn)行時(shí)或虛擬機(jī)。由于它們的運(yùn)行時(shí)間長(zhǎng),因此Java等語(yǔ)言不適合于系統(tǒng)編程。
許多人曾嘗試將C/C ++的功能與Java、Haskell的安全性相結(jié)合。然而,Rust才是第一個(gè)成功實(shí)現(xiàn)了這一點(diǎn)的編程語(yǔ)言。
Graydon Hoare在業(yè)余項(xiàng)目中開(kāi)發(fā)出了Rust,他的靈感來(lái)自研究編程語(yǔ)言Cyclone。Rust是開(kāi)源的,由Mozilla與許多其他公司和社區(qū)一起領(lǐng)導(dǎo)這門(mén)語(yǔ)言的開(kāi)發(fā)。Rust于2015年首次發(fā)布,并很快引起了社區(qū)的關(guān)注。
主要特征:
通過(guò)所有權(quán)和借用概念提供內(nèi)存安全和并發(fā)安全。
內(nèi)存安全和并發(fā)安全在編譯時(shí)確保,即如果程序代碼可以編譯,那么內(nèi)存既安全又沒(méi)有數(shù)據(jù)競(jìng)爭(zhēng)。這是Rust最吸引人的功能。
它還提供了Haskell中元編程的表現(xiàn)力。憑借不可變的數(shù)據(jù)結(jié)構(gòu)和功能編程功能,Rust提供了功能并發(fā)和數(shù)據(jù)并發(fā)。
Rust的速度非常快,純Rust的性能甚至優(yōu)于純C。
在沒(méi)有運(yùn)行時(shí)的情況下,Rust可以完全控制現(xiàn)代硬件(TPU、GPU、多核CPU)。
Rust具有LLVM支持。因此,Rust提供一流的與WebAssembly的互操作性,而且Web代碼也非常快。
流行度:
自2015年首次亮相以來(lái),Rust已被開(kāi)發(fā)人員廣泛接受,并在StackOverflow開(kāi)發(fā)人員調(diào)查中連續(xù)四年(2016、2017、2018、2019)被評(píng)選為最受歡迎的語(yǔ)言:
根據(jù)GitHub Octoverse的調(diào)查,Rust是運(yùn)行速度第二快的語(yǔ)言,僅次于Dart:
此外,根據(jù)編程語(yǔ)言流行度排名網(wǎng)站PyPl的數(shù)據(jù),Rust排名第18位,并呈上升趨勢(shì):
對(duì)比Rust提供的功能集,我們就會(huì)明白為什么微軟、亞馬遜、Google等科技巨頭相繼宣布投資Rust作為一種長(zhǎng)期的系統(tǒng)編程語(yǔ)言。
根據(jù)Google統(tǒng)計(jì)的趨勢(shì),在過(guò)去的5年中,Rust的熱度每年都在增加。
主要用途:
系統(tǒng)編程
Serverless 計(jì)算
商業(yè)應(yīng)用
主要競(jìng)爭(zhēng)對(duì)手:
C
C++
Go
Swift
Go
在本世紀(jì)初,Google面臨兩個(gè)擴(kuò)展問(wèn)題:開(kāi)發(fā)擴(kuò)展和應(yīng)用程序擴(kuò)展。開(kāi)發(fā)擴(kuò)展問(wèn)題指的是他們不能僅通過(guò)投入開(kāi)發(fā)人員的方式來(lái)添加更多功能。應(yīng)用程序擴(kuò)展問(wèn)題則指他們無(wú)法開(kāi)發(fā)出一款能夠擴(kuò)展到Google級(jí)別的計(jì)算機(jī)集群的應(yīng)用程序。
所以在2007年左右,Google創(chuàng)建了一種新的編程語(yǔ)言,用于解決這兩個(gè)擴(kuò)展問(wèn)題。兩位才華橫溢的Google軟件工程師Rob Pike(UTF-8)和Ken Thompson(UNIX OS)創(chuàng)建了一種新語(yǔ)言。
2012年,Google正式發(fā)布了第一版的Go編程語(yǔ)言。Go是一種系統(tǒng)編程語(yǔ)言,但與Rust不同,它還具有Runtime和垃圾收集器(幾兆字節(jié))。但是與Java或Python不同,這個(gè)Runtime包含了生成的代碼。最后,Go生成了一個(gè)本地的二進(jìn)制代碼,可以在沒(méi)有附加依賴項(xiàng)或運(yùn)行時(shí)的情況下在計(jì)算機(jī)中運(yùn)行。
主要特征:
Go具有一流的并發(fā)支持。Go不通過(guò)線程和鎖提供“共享內(nèi)存”并發(fā)性,因?yàn)榫幊屉y度太大。相反,它提供了基于CSP的消息傳遞并發(fā)性(基于Tony Hoare的論文)。Go使用“ Goroutine”(輕量級(jí)綠色線程)和“ Channel”進(jìn)行消息傳遞。
Go最大的殺手級(jí)功能是:簡(jiǎn)單,它是最簡(jiǎn)單的系統(tǒng)編程語(yǔ)言。新手軟件開(kāi)發(fā)人員只需幾天就可以編寫(xiě)高效的代碼,就像Python一樣。有些大規(guī)模的云原生項(xiàng)目(如Kubernetes、Docker)都是用Go編寫(xiě)的。
Go還內(nèi)置了垃圾收集器,這意味著開(kāi)發(fā)人員無(wú)需擔(dān)心C/C++中的內(nèi)存管理問(wèn)題。
Google投入了大量資金打造Go。因此Go擁有大量的工具支持。新手Go開(kāi)發(fā)人員擁有大量的工具生態(tài)系統(tǒng)。
一般,開(kāi)發(fā)人員80%的時(shí)間都花在了維護(hù)現(xiàn)有代碼上,用于編寫(xiě)新代碼的時(shí)間只占20%。由于其簡(jiǎn)單性,Go在語(yǔ)言維護(hù)方面表現(xiàn)出色。如今,Go在業(yè)務(wù)應(yīng)用程序中大量使用。
流行度:
Go一問(wèn)世就受到了軟件開(kāi)發(fā)社區(qū)熱烈的歡迎。2009年-2018年,Go一直在TIOBE編程語(yǔ)言排行榜上徘徊。Go的成功為Rust等新一代編程語(yǔ)言鋪平了道路。
如今,Go已是主流編程語(yǔ)言。最近,Go團(tuán)隊(duì)宣布了有關(guān)“Go 2”的消息,這門(mén)編程語(yǔ)言的發(fā)展會(huì)更加穩(wěn)固。
幾乎在所有的流行編程語(yǔ)言排行榜中,Go的排名都很高,已超過(guò)許多現(xiàn)有的語(yǔ)言。自2019年12月以來(lái),在TIOBE指數(shù)排名中,Go名列第15位:
根據(jù)StackOverFlow的調(diào)查,十大最受喜愛(ài)的編程語(yǔ)言中,Go也位列其中:
此外,根據(jù)GitHub的數(shù)據(jù),Go也是十大發(fā)展最迅速的語(yǔ)言之一:
Google趨勢(shì)顯示,在過(guò)去的5年中,Go的熱度每年都在增加。
主要用途:
系統(tǒng)編程
Serverless 計(jì)算
商業(yè)應(yīng)用
云原生開(kāi)發(fā)
主要競(jìng)爭(zhēng)對(duì)手:
C
C++
Rust
Python
Java
Kotlin
Java 是企業(yè)軟件開(kāi)發(fā)領(lǐng)域無(wú)可爭(zhēng)議的王者。近年來(lái),Java受到了一些負(fù)面評(píng)論:過(guò)于冗長(zhǎng),大量樣板代碼,容易出現(xiàn)意外的復(fù)雜性。但是,關(guān)于Java虛擬機(jī)(JVM)的爭(zhēng)論卻很少。JVM是軟件工程的杰作,經(jīng)過(guò)了時(shí)間的考驗(yàn),提供了硬核的runtime。
多年來(lái),Scala等JVM語(yǔ)言一直在努力克服Java的缺點(diǎn),想成為更好的Java,但他們都失敗了。最終,這場(chǎng)提升Java的探索以Kotlin的誕生結(jié)束。Jet Brains(流行的IDE IntelliJ背后的公司)開(kāi)發(fā)了Kotlin,它可以在JVM上運(yùn)行,克服了Java的很多缺點(diǎn),提供許多現(xiàn)代功能。
與Scala不同的是,Kotlin比Java更簡(jiǎn)單,還可在JVM中提供與Go或Python開(kāi)發(fā)人員同等的生產(chǎn)力。
Google宣布Kotlin是一流的Android應(yīng)用開(kāi)發(fā)語(yǔ)言,因此Kotlin在社區(qū)中的接受度得到了大幅提高。自2017年以來(lái),同樣受歡迎的Java Enterprise框架Spring也開(kāi)始支持Kotlin。我曾嘗試結(jié)合Kotlin與Reactive Spring使用,體驗(yàn)非常棒。
主要特征:
Kotlin的主要賣點(diǎn)在于其語(yǔ)言設(shè)計(jì)。我總是將Kotlin視為JVM上的Go/Python,因?yàn)樗?jiǎn)潔明了的代碼。因此,Kotlin的生產(chǎn)力很高。
與許多其他現(xiàn)代語(yǔ)言一樣,Kotlin提供了Null指針、安全性、類型推斷等功能。
由于Kotlin也運(yùn)行在JVM中,因此現(xiàn)有Java庫(kù)龐大的生態(tài)系統(tǒng)都可供使用。
Kotlin是一流的Android應(yīng)用開(kāi)發(fā)語(yǔ)言,并且已經(jīng)超過(guò)Java,成為開(kāi)發(fā)Android應(yīng)用的首選。
Kotlin得到了JetBrains和Open Source的支持,因此具有出色的工具支持。
Kotlin有兩個(gè)有趣的項(xiàng)目:Kotlin Native(將Kotlin編譯為原生代碼)和kotlin.js(Kotlin到JavaScript)。如果成功,則可以在JVM外部使用Kotlin。
Kotlin還提供了一種簡(jiǎn)單的方式來(lái)編寫(xiě)DSL(域特定語(yǔ)言)。
流行度:
自2015年首次發(fā)布以來(lái),Kotlin的知名度不斷飆升。根據(jù)Stack Overflow,Kotlin是2019年第四大最受歡迎的編程語(yǔ)言:
Kotlin還是增長(zhǎng)最快的編程語(yǔ)言之一,排名第四:
在流行編程語(yǔ)言排名網(wǎng)站PyPl的排名中,Kotlin名列第十二名,并具有較高的上升趨勢(shì):
自從Google宣布Kotlin是一流的Android應(yīng)用開(kāi)發(fā)語(yǔ)言以來(lái),Kotlin的流行趨勢(shì)出現(xiàn)了大幅上漲,如下所示:
主要用途:
企業(yè)應(yīng)用程序
主要競(jìng)爭(zhēng)對(duì)手:
TypeScript
JavaScript是一門(mén)優(yōu)秀的編程語(yǔ)言,在2015年之前,JavaScript有很多缺點(diǎn)。著名的軟件工程師Douglas Crockford寫(xiě)了一本書(shū)名為《JavaScript: The Good Parts》,暗示了JavaScript有很糟的部分。無(wú)模塊化,還有“回調(diào)地獄”,因此開(kāi)發(fā)人員都不喜歡維護(hù)特別大的JavaScript項(xiàng)目。
Google甚至還開(kāi)發(fā)了一個(gè)平臺(tái),可將Java代碼反編譯為JavaScript代碼(GWT)。許多公司和個(gè)人都曾嘗試開(kāi)發(fā)更好的JavaScript,例如CoffeeScript、Flow、ClojureScript。最終,微軟的TypeScript取得了成功。
微軟的一隊(duì)工程師在著名的Anders Hejlsberg的帶領(lǐng)下,創(chuàng)建了JavaScript的靜態(tài)類型、模塊化超集——TypeScript。
TypeScript可以編譯為JavaScript。于2014年首次發(fā)布后,TypeScript很快引起了社區(qū)的關(guān)注。Google當(dāng)時(shí)還計(jì)劃開(kāi)發(fā)JavaScript的靜態(tài)類型超集。Google對(duì)TypeScript青睞有加,以至于他們沒(méi)有開(kāi)發(fā)新的語(yǔ)言,而是選擇與微軟合作改進(jìn)TypeScript。
Google選擇TypeScript作為其SPA框架Angular 2+的主要編程語(yǔ)言。此外,流行的SPA框架React也提供對(duì)TypeScript的支持。另一個(gè)流行的JavaScript框架Vue.js也宣布將使用TypeScript開(kāi)發(fā)新的Vue.js 3:
另外,node.js的創(chuàng)建者Ryan Dahl已決定使用TypeScript來(lái)開(kāi)發(fā)安全的Node.js替代品Deno。
主要特征:
流行度:
開(kāi)發(fā)人員喜歡TypeScript的優(yōu)雅語(yǔ)言設(shè)計(jì)。在StackOverFlow最受歡迎的語(yǔ)言類別的調(diào)查中,TypeScript與Python并列第二名:
根據(jù)GitHub的排名,TypeScript是增長(zhǎng)最快的編程語(yǔ)言之一,排名第五:
從GitHub的貢獻(xiàn)度來(lái)看,TypeScript排名第七,打進(jìn)了前十:
Google的趨勢(shì)表明,在過(guò)去的幾年中,TypeScript的熱度越來(lái)越高:
主要用途:
主要競(jìng)爭(zhēng)對(duì)手:
Swift
當(dāng)初喬布斯拒絕在iOS中支持Java(和JVM),他認(rèn)為Java不再是主流編程語(yǔ)言。如今我們發(fā)現(xiàn)喬布斯當(dāng)初的估計(jì)是錯(cuò)的,雖然iOS仍然不支持Java。蘋(píng)果選擇了Objective-C作為iOS中的首選編程語(yǔ)言。Objective-C是一門(mén)很難掌握的語(yǔ)言,它不支持現(xiàn)代編程語(yǔ)言所要求的高生產(chǎn)力。
后來(lái),蘋(píng)果的Chris Lattner和其他人開(kāi)發(fā)了一種多范例、通用的、編譯編程語(yǔ)言——Swift,來(lái)替代Objective-C。Swift的第一個(gè)穩(wěn)定版本于2014年發(fā)布。Swift還支持LLVM編譯器工具鏈(也由Chris Lattner開(kāi)發(fā))。Swift與Objective-C代碼庫(kù)具有出色的互操作性,并且已確立為iOS應(yīng)用開(kāi)發(fā)中的主要編程語(yǔ)言。
主要特征:
流行度:
開(kāi)發(fā)人員對(duì)Swift的喜愛(ài)不亞于許多其他現(xiàn)代編程語(yǔ)言。根據(jù)StackOverflow的調(diào)查,Swift在最受歡迎的編程語(yǔ)言中排名第六:
2019年,在TIOBE的編程語(yǔ)言排名中,Swift的排名上升到了第10名。鑒于這種編程語(yǔ)言只有5年的歷史,可以說(shuō)是成績(jī)斐然:
Google的趨勢(shì)表明,在過(guò)去的幾年中,Swift的熱度出現(xiàn)了激增:
主要用途:
主要競(jìng)爭(zhēng)對(duì)手:
Dart
Dart是Google出品的第二大編程語(yǔ)言。Google是Web和Android領(lǐng)域的巨頭,因此Google在Web和應(yīng)用領(lǐng)域開(kāi)發(fā)自己的編程語(yǔ)言也不足為奇。在丹麥軟件工程師Lars Bak(領(lǐng)導(dǎo)Chrome的 JavaScript V8引擎開(kāi)發(fā))的帶領(lǐng)下,Google于2013年發(fā)布了Dart。
Dart是一種通用編程語(yǔ)言,支持“強(qiáng)類型”和“面向?qū)ο蟆本幊獭art也可以轉(zhuǎn)編譯為JavaScript,凡是JavaScript可以運(yùn)行的任何地方(例如Web、移動(dòng)、服務(wù)器)幾乎都可以運(yùn)行 Dart。
主要特征:
流行度:
根據(jù)GitHub Octoverse數(shù)據(jù)顯示,Dart是2019年增長(zhǎng)最快的編程語(yǔ)言,去年它的流行度增長(zhǎng)了五倍:
根據(jù)TIOBE指數(shù)顯示,Dart排名第23,僅用了4年時(shí)間就超過(guò)了很多其他的現(xiàn)代編程語(yǔ)言:
根據(jù)StackOverflow的調(diào)查,Dart在最受歡迎的編程語(yǔ)言中排名第12:
受Flutter的影響,Google的趨勢(shì)表明,在過(guò)去的兩年中,Dart的熱度急劇上升:
主要用途:
主要競(jìng)爭(zhēng)對(duì)手:
Julia
本文提及的大多數(shù)編程語(yǔ)言都是由大型公司開(kāi)發(fā)的,但Julia是個(gè)例外。科技計(jì)算領(lǐng)域通常都會(huì)使用動(dòng)態(tài)語(yǔ)言,例如Python、Matlab。雖然這些語(yǔ)言提供易于使用的語(yǔ)法,但不適用于大規(guī)模的科技計(jì)算。他們需要使用C/C ++庫(kù)執(zhí)行CPU密集型任務(wù),因此這就產(chǎn)生了著名的“兩種語(yǔ)言”的問(wèn)題,因?yàn)樗麄冃枰澈洗a來(lái)綁定兩種語(yǔ)言。由于編寫(xiě)的代碼需要在兩種語(yǔ)言之間來(lái)回切換,因此總是會(huì)損失部分性能。
為了解決這個(gè)問(wèn)題,麻省理工學(xué)院的一隊(duì)研究人員計(jì)劃從頭開(kāi)始創(chuàng)建一種新的語(yǔ)言,這種語(yǔ)言既可以利用現(xiàn)代硬件的優(yōu)勢(shì),而且還結(jié)合其他語(yǔ)言的優(yōu)勢(shì)。于是,Julia誕生了。
Julia是一種動(dòng)態(tài)的高級(jí)編程語(yǔ)言,提供一流的并發(fā)、并行和分布式計(jì)算支持。Julia的第一個(gè)穩(wěn)定版本于2018年發(fā)布,并很快受到社區(qū)和行業(yè)的關(guān)注。Julia可用于科學(xué)計(jì)算、人工智能和許多其他領(lǐng)域,而且還可以解決“兩種語(yǔ)言”的問(wèn)題。
主要特征:
流行度:
Julia在許多領(lǐng)域主要與Python競(jìng)爭(zhēng)。由于Python是最流行的編程語(yǔ)言之一,因此Julia想晉升主流還需要幾年的時(shí)間。
雖然Julia非常新(只有一歲),但仍在TIOBE指數(shù)中排到第43名:
Google趨勢(shì)顯示,在過(guò)去的一年中,Julia的熱度在穩(wěn)步增長(zhǎng):
但是考慮到Julia的功能集,以及NSF、DARPA、NASA、因特爾等公司的推動(dòng),相信Julia取得突破的進(jìn)展只是時(shí)間的問(wèn)題。
主要用途:
主要競(jìng)爭(zhēng)對(duì)手:
原文鏈接:
本文為 CSDN 翻譯,轉(zhuǎn)載請(qǐng)注明來(lái)源出處。
【End】
Python
Matlab
科學(xué)計(jì)算
高性能計(jì)算
數(shù)據(jù)科學(xué)
可視化
與Rust一樣,Julia的主要特征在于語(yǔ)言的設(shè)計(jì)。這種語(yǔ)言在不犧牲性能的情況下,將高性能和科學(xué)計(jì)算中現(xiàn)有編程語(yǔ)言的一些功能結(jié)合在一起。就目前的情況來(lái)看,Julia出色地完成了這項(xiàng)任務(wù)。
Julia是一種動(dòng)態(tài)編程語(yǔ)言,支持類型系統(tǒng)但類型不是必須的。因此,Julia這種編程語(yǔ)言很容易學(xué)習(xí),生產(chǎn)力很高。
Julia的核心是多調(diào)度編程范例。
Julia內(nèi)部支持并發(fā)、并行和分布式計(jì)算。
Julia為I/O密集型任務(wù)提供異步I/O。
Julia的運(yùn)行速度非常快,可用于需要數(shù)百萬(wàn)個(gè)線程的科學(xué)計(jì)算。
JavaScript
TypeScript
應(yīng)用開(kāi)發(fā)
UI開(kāi)發(fā)
與Go一樣,Dart也非常注重開(kāi)發(fā)人員的工作效率。由于Dart簡(jiǎn)潔的語(yǔ)法,以及高效的生產(chǎn)力,受到開(kāi)發(fā)人員的喜愛(ài)。
Dart還提供“強(qiáng)類型”和“面向?qū)ο蟆本幊獭?/p>
Dart是少數(shù)同時(shí)支持JIT編譯(運(yùn)行時(shí)編譯)和AOT編譯(創(chuàng)建時(shí)編譯)的編程語(yǔ)言之一。因此,Dart可以針對(duì)JavaScript運(yùn)行時(shí)(V8引擎),并且Dart可以編譯為快速的原生代碼(AOT編譯)。
跨平臺(tái)原生應(yīng)用程序開(kāi)發(fā)平臺(tái)Flutter選擇了Dart作為開(kāi)發(fā)iOS和Android應(yīng)用的編程語(yǔ)言。從那以后,Dart的流行度越來(lái)越高。
與Goog的Go編程語(yǔ)言一樣,Dart也具有出色的工具支持和龐大的Flutter生態(tài)系統(tǒng)。Flutter的日益普及也會(huì)推動(dòng)Dart的采用率升高。
Objective-C
Rust
Go
iOS應(yīng)用開(kāi)發(fā)
系統(tǒng)編程
客戶端開(kāi)發(fā)(通過(guò)WebAssembly)
Swift的殺手級(jí)功能之一是其語(yǔ)言設(shè)計(jì)。語(yǔ)言本身很簡(jiǎn)單,語(yǔ)法簡(jiǎn)潔,比Objective-C更高效。
Swift還提供了現(xiàn)代程序語(yǔ)言的功能:null安全。此外,它還提供了語(yǔ)法糖來(lái)避免“厄運(yùn)金字塔”。
作為一種編譯語(yǔ)言,Swift和C++一樣快。
Swift支持LLVM編譯器工具鏈。因此,我們可以在服務(wù)器端編程,甚至瀏覽器編程(使用WebAssembly)中使用Swift。
Swift提供了自動(dòng)引用計(jì)數(shù)(ARC)支持,可抑制內(nèi)存管理的不善。
JavaScript
Dart
Web UI開(kāi)發(fā)
服務(wù)器端開(kāi)發(fā)
與Go或Kotlin同樣,TypeScript的主要特征也是語(yǔ)言設(shè)計(jì)。TypeScript憑借其簡(jiǎn)潔明快的代碼,成為了目前最優(yōu)雅的編程語(yǔ)言之一。就開(kāi)發(fā)人員的生產(chǎn)力而言,它與JVM或Go/Python上的Kotlin并駕齊驅(qū)。TypeScript是生產(chǎn)力最高的JavaScript超集。
TypeScript是JavaScript的強(qiáng)類型超集,特別適合大型項(xiàng)目,而且可以稱為“可擴(kuò)展的JavaScript”。
單頁(yè)應(yīng)用程序框架的“三巨頭”(Angular、React、Vue.js)為T(mén)ypeScript提供了出色的支持。在Angular中,TypeScript是首選的編程語(yǔ)言。在React和Vue.js中,TypeScript越來(lái)越受歡迎。
最大的兩家技術(shù)巨頭:微軟和Google正在合作開(kāi)發(fā)由活躍的開(kāi)源社區(qū)支持的TypeScript。因此,TypeScript擁有最好的工具支持。
由于TypeScript是JavaScript的超集,因此凡是可以運(yùn)行JavaScript的任何地方都可以運(yùn)行TypeScript,包括瀏覽器、服務(wù)器、移動(dòng)設(shè)備、物聯(lián)網(wǎng)設(shè)備和云。
Java
Scala
Python
Go
記錄一下charts_flutter 的使用過(guò)程
1.先在pubspec.yaml添加chart包依賴
我這里使用的版本是
2.定義數(shù)據(jù)類型
3.定義數(shù)據(jù)源
如下圖所示,下圖為兩條線同理可加兩條線
設(shè)置如下:
輸入OD成本矩陣所需要的輸入元素是至少1個(gè)起始點(diǎn)與至少1個(gè)目的點(diǎn)。
當(dāng)起始點(diǎn)和目的點(diǎn)都是1個(gè)時(shí),就成了最短路徑分析了,只不過(guò)看不到代表最短路徑的那條折線了。
通常,我們可以通過(guò)批量導(dǎo)入起始點(diǎn)和目的地點(diǎn),而不用手工去打。
分析設(shè)置
和最短路徑分析類似,在輸出Shape中只有“無(wú)”、“直線”兩個(gè)選項(xiàng)。
多了兩個(gè)新的設(shè)置參數(shù):中斷值和要查找的目的地。
中斷值:當(dāng)超過(guò)給定的中斷值(搜索半徑),就認(rèn)為目的點(diǎn)不能到達(dá),就不作為結(jié)果。例如,超過(guò)1000km的距離的城市,就不算了,比如北京和廣州。
要查找的目的地:這個(gè)數(shù)值要小于等于目的點(diǎn)的個(gè)數(shù),默認(rèn)和目的點(diǎn)個(gè)數(shù)相等。如果給了一個(gè)值n,那么就會(huì)取該起始點(diǎn)的前n個(gè)最近目的點(diǎn)。
附上開(kāi)發(fā)環(huán)境:
折線圖是一個(gè) Widget,和普通 Widget一樣聲明即可:
LineChart 的構(gòu)造參數(shù)是一個(gè) LineChartData,其屬性如下:
配置了三條線,所以 lineBarsData 對(duì)應(yīng)的數(shù)組有三個(gè)元素。
看下 LineChartBarData 屬性:
圖表四個(gè)方向的邊框,有總顯示開(kāi)關(guān),決定是否顯示和隱藏所有,如果開(kāi)啟,又想隱藏個(gè)別邊框,需要設(shè)置透明色。
FlBorderData 對(duì)應(yīng)邊框信息,有兩個(gè)參數(shù), show 就是顯示與隱藏的邊框, border 是邊框數(shù)據(jù)。
FlTitlesData 可以配置4條坐標(biāo)軸,也有一個(gè)總開(kāi)關(guān),如果要顯示坐標(biāo)軸,就設(shè)為 true ,然后配置對(duì)應(yīng)位置的數(shù)據(jù):
每個(gè)位置對(duì)應(yīng)的是 SideTitles ,設(shè)置如下:
標(biāo)題是顯示在坐標(biāo)軸后面的文字標(biāo)題,每個(gè)軸對(duì)應(yīng)一個(gè)。
附上源碼
未來(lái)幾年前端本身的開(kāi)發(fā)技術(shù)應(yīng)該不會(huì)有大的方向變化,但是將會(huì)呈現(xiàn)出四大發(fā)展趨勢(shì):
第一個(gè)趨勢(shì)是入口應(yīng)用會(huì)小程序化
類似騰訊、阿里、滴滴、美團(tuán)這樣作為入口的應(yīng)用,會(huì)自己做自己的一套小程序體系,在自己的app內(nèi)通行。這里的意思不是說(shuō)大家都會(huì)去用微信小程序,而是會(huì)效仿微信小程序這套體系,搬到自己的app內(nèi)。主要原因是,這些入口應(yīng)用容納自己公司各類業(yè)務(wù)線,已經(jīng)臃腫不堪,使用原生開(kāi)發(fā)迭代效率跟不上,使用HTML又難以做到高性能,因此使用類似小程序的方案,可以做到暢享HTML多年來(lái)積累的開(kāi)發(fā)模式,同時(shí)裁撤大量平時(shí)用不到的API,降低渲染頁(yè)面的復(fù)雜度。這個(gè)趨勢(shì)會(huì)涉及到移動(dòng)端開(kāi)發(fā)。
第二個(gè)趨勢(shì)是Web前后端融合為全棧開(kāi)發(fā)
Node.js已經(jīng)給前端開(kāi)發(fā)很好地開(kāi)了個(gè)頭,這個(gè)頭就是讓前端人員了解HTTP協(xié)議的細(xì)節(jié),了解常規(guī)的API開(kāi)發(fā)。我相信很多人已經(jīng)看明白了,為什么我們要做前后端分離,這里面主要原因除了代碼開(kāi)發(fā)部署上的分離,還有一部分是讓不懂HTTP協(xié)議的人不要在接口層瞎鼓搗,因?yàn)檫@里面細(xì)節(jié)太多了,你都不了解HTTP緩存,你怎么知道哪個(gè)API的HTTP header應(yīng)該用什么呢。因此了解HTTP協(xié)議的前端,會(huì)慢慢吃掉這部分后端開(kāi)發(fā)的任務(wù),而了解HTTP協(xié)議的后端,也會(huì)因?yàn)槿罂蚣荛_(kāi)發(fā)模式的成熟而學(xué)會(huì)前端開(kāi)發(fā)。進(jìn)而,這些兩類人演化為全棧開(kāi)發(fā)。
第三個(gè)趨勢(shì)是營(yíng)銷類頁(yè)面小程序化
這個(gè)指的就是大家平時(shí)在微信里看到的各類營(yíng)銷網(wǎng)頁(yè),因?yàn)橹饕肟谠谖⑿牛虼俗兂晌⑿判〕绦颉_@個(gè)大家比較好理解吧,就不多說(shuō)了。小程序現(xiàn)在可能BUG多,功能跟不上,但是要替代這類網(wǎng)頁(yè)可能也就是2年不到的時(shí)間。
第四個(gè)趨勢(shì)才是大家看到的PWA、WASM代表的HTML內(nèi)的技術(shù)改進(jìn),這個(gè)能影響到的范圍看起來(lái)很大,但其實(shí)場(chǎng)景比較有限,主要是排除掉上面說(shuō)的1和3之外的空間。空間就在于這兩大技術(shù)目前都沒(méi)有成熟的最佳實(shí)踐,還需要探索。
親愛(ài)的小伙伴,你對(duì)前端技術(shù)感興趣嗎?想了解一個(gè)絢麗多彩網(wǎng)站和小程序是如何被制作出來(lái)的嗎?歡迎加入我們的前端技術(shù)大家庭:。在這里,不僅有志同道合的朋友,指導(dǎo)人生的老師,更有看不完的技術(shù)教程隨你挑!心動(dòng)嗎?想學(xué)嗎?那就動(dòng)動(dòng)你的小手手,加入我們吧!
HelloGitHub 分享 GitHub 上有趣、入門(mén)級(jí)的開(kāi)源項(xiàng)目。
這里有實(shí)戰(zhàn)項(xiàng)目、入門(mén)教程、黑 科技 、開(kāi)源書(shū)籍、大廠開(kāi)源項(xiàng)目等,涵蓋多種編程語(yǔ)言 Python、Java、Go、C/C++、Swift...讓你在短時(shí)間內(nèi)感受到開(kāi)源的魅力,對(duì)編程產(chǎn)生興趣!
1、 toybox :該項(xiàng)目將 200 多個(gè)常用的 Linux 命令行工具,做成一個(gè)可執(zhí)行文件。從而可以讓 Android 這種原本不支持 Linux 命令的系統(tǒng),也得以用上 ls、find、ps 等命令。還可以用于快速構(gòu)建最小的 Linux 環(huán)境
2、 the_silver_searcher :比 ack 更快的命令行搜索工具。速度快、功能強(qiáng)大、使用簡(jiǎn)單,支持 Linux、Windows、macOS 操作系統(tǒng),還能夠整合進(jìn) Vim 和 Emacs 等編輯器
3、 WindTerm :支持 SSH/Telnet/Serial/Shell/Sftp 的終端工具。雖然該軟件完全免費(fèi),但部分代碼尚未完全開(kāi)源,對(duì)安全敏感的同學(xué)可以再觀望下
4、 wavefunctioncollapse :基于波函數(shù)坍縮 (WFC) 算法,實(shí)現(xiàn)的無(wú)限城市示例。城市里有房子、樓梯、樹(shù)木、連接房屋的通道,你可以在城市中自由移動(dòng)、跳躍、飛行,但不論你怎么移動(dòng)都找不到盡頭,因?yàn)檫@座城市會(huì)無(wú)限延伸
5、 NETworkManager :管理和解決網(wǎng)絡(luò)問(wèn)題的工具。它集成了 IP 和端口掃描、WiFi 分析器、跟蹤路由、DNS 查詢等工具
6、 ppsspp :能夠運(yùn)行在 Android 和 PC 上的開(kāi)源 PSP 模擬器
7、 leocad :用來(lái)創(chuàng)建虛擬樂(lè)高模型的 CAD 工具。適用于 Windows、Linux 和 macOS 系統(tǒng)
8、 csshake :用 CSS 實(shí)現(xiàn)抖動(dòng)效果
9、 MangoDB :真正開(kāi)源的 MongoDB 替代品。它底層采用 PostgreSQL 作為存儲(chǔ)引擎,用 Go 語(yǔ)言實(shí)現(xiàn)了 MongoDB 協(xié)議,所以幾乎兼容所有的 MongoDB 庫(kù),遷移起來(lái)毫無(wú)負(fù)擔(dān)。如果你用不到 MongoDB 的高級(jí)功能,還受限于它的開(kāi)源協(xié)議,那么這個(gè)項(xiàng)目可作為 MongoDB 的開(kāi)源替代方案。它才剛剛起步,建議觀望一段時(shí)間或做足測(cè)試再用于生產(chǎn)環(huán)境
10、 caddy :用 Go 編寫(xiě)的輕量級(jí) Web 服務(wù)器。它相較于 Apache、Nginx 這些知名 Web 服務(wù)器,獨(dú)特點(diǎn)在于提供了編譯好的可執(zhí)行文件,實(shí)現(xiàn)了真正的開(kāi)箱即用。無(wú)需任何配置即可擁有免費(fèi)的 HTTPS、自動(dòng)把 Markdown 文件轉(zhuǎn)化成 HTML 等人性化的功能。如果是搭建中小型的 Web 服務(wù),它完全夠用而且省時(shí)省心
11、 croc :可以讓任意兩臺(tái)計(jì)算機(jī),安全方便地傳輸文件和文件夾的工具。輕松實(shí)現(xiàn)端到端加密的跨平臺(tái)文件傳輸,還支持多文件傳輸、傳輸中斷和恢復(fù)等功能
12、 jnativehook :獲取鍵盤(pán)和鼠標(biāo)事件的 Java 庫(kù)。輕松監(jiān)聽(tīng)按鍵、鼠標(biāo)移動(dòng)、點(diǎn)擊等事件
13、 spider-flow :用流程圖的方式編寫(xiě)爬蟲(chóng)的平臺(tái)。無(wú)需寫(xiě)代碼就可以快速完成一個(gè)簡(jiǎn)單的爬蟲(chóng)
14、 greenDAO :高性能的 Android ORM 庫(kù)。擁有體積小、易于使用、支持?jǐn)?shù)據(jù)庫(kù)加密等特點(diǎn),通過(guò)它 Android 開(kāi)發(fā)者可以采用面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫(kù),不需要再手寫(xiě)和拼接 SQL 啦
15、 vue-color-avatar :純前端實(shí)現(xiàn)的矢量風(fēng)格頭像生成網(wǎng)站。可以通過(guò)搭配不同的素材,生成個(gè)性化頭像。該項(xiàng)目使用 Vite + Vue3 開(kāi)發(fā),能夠幫助前端初學(xué)者熟悉 Vue3 語(yǔ)法并掌握項(xiàng)目搭建的相關(guān)知識(shí)
16、 colorfu :自動(dòng)生成由文字/顏色/圖片/紋理元素組成的壁紙
17、 pm2 :Node.js 的進(jìn)程管理工具。它容易上手操作簡(jiǎn)單,可以有效地提高 Node.js 程序運(yùn)行的穩(wěn)定性,支持自動(dòng)重啟、負(fù)載均衡、不停服務(wù)重啟、性能監(jiān)控等功能,多用于生產(chǎn)環(huán)境中管理、監(jiān)控 Node.js 進(jìn)程
18、 automa :通過(guò)圖形化界面拖拽功能模塊,實(shí)現(xiàn)瀏覽器自動(dòng)操作的擴(kuò)展工具。輕松實(shí)現(xiàn)自動(dòng)填表、截圖、定時(shí)執(zhí)行等操作。讓瀏覽器自動(dòng)完成預(yù)設(shè)工作流的插件,從而減少重復(fù)性操作提高效率
19、 PyWebIO :快速構(gòu)建 Web 應(yīng)用的 Python 工具。通過(guò)該項(xiàng)目你可在不寫(xiě) HTML、CSS、JS 代碼的前提下,僅用 Python 快速完成一個(gè)包含數(shù)據(jù)展示、表單的小型 Web 應(yīng)用頁(yè)面
20、 pottery :以 Python 的方式操作 Redis 的庫(kù)。忘記那些 Redis 命令吧,只要你知道如何使用 Python 字典,那么你就會(huì)用這個(gè)庫(kù)操作 Redis
21、 zulip :完全開(kāi)源的企業(yè)級(jí)即時(shí)通訊項(xiàng)目。后端采用 Python 語(yǔ)言實(shí)現(xiàn)性能足夠強(qiáng)大,功能齊全相當(dāng)于開(kāi)源、免費(fèi)的 Slack,擁有拖拽上傳文件、代碼高亮、Markdown 語(yǔ)法、應(yīng)用整合、容易接入的 API 等功能,還支持 Web、PC、iOS 和 Android 主流平臺(tái),眾多知名企業(yè)都在用,能夠有效地提高團(tuán)隊(duì)溝通和辦公效率。同時(shí)該項(xiàng)目對(duì)新手用戶友好,如果你想加入一個(gè)不錯(cuò)的 Python 開(kāi)源項(xiàng)目,推薦你花時(shí)間研究下它一定會(huì)有所收獲
22、 webssh :簡(jiǎn)單的 SSH 連接服務(wù)器的 Python Web 應(yīng)用。該項(xiàng)目后端采用 Tornado Web 框架和 Python SSH 庫(kù) paramiko,前端是 TypeScript 寫(xiě)的命令行前端組件 Xterm.js 實(shí)現(xiàn)。整個(gè)項(xiàng)目簡(jiǎn)單還具有實(shí)用價(jià)值,可作為 Python Web 的實(shí)戰(zhàn)項(xiàng)目學(xué)習(xí)
23、 django-debug-toolbar :Django 的調(diào)試工具欄。可顯示當(dāng)前請(qǐng)求和響應(yīng)有關(guān)的各種調(diào)試信息,包括耗時(shí)、SQL、配置、性能等信息
24、 hyperfine :命令行基準(zhǔn)測(cè)試工具。可用來(lái)查看和對(duì)比命令的耗時(shí),支持多次運(yùn)行的統(tǒng)計(jì)分析、結(jié)果導(dǎo)出等功能
25、 xcode-dev-cleaner :用于清理各種 Xcode 的緩存數(shù)據(jù),釋放存儲(chǔ)空間。注意是清除 Xcode 緩存數(shù)據(jù),不是卸載 Xcode 哈
26、 toml :更易讀和易于維護(hù)的配置文件格式。如果你厭倦了 INI 的局限性、層層嵌套的 JSON 和 YAML 令人心驚膽戰(zhàn)的縮進(jìn)語(yǔ)法,不防給 TOML 一個(gè)機(jī)會(huì),它支持多種數(shù)據(jù)類型、拋棄了縮進(jìn)和嵌套,而且眾多流行編程語(yǔ)言都有對(duì)應(yīng)的庫(kù)。TOML 已經(jīng)足夠成熟,絕對(duì)值得一試
27、 waka-readme-stats :自動(dòng)在 GitHub 個(gè)人首頁(yè)展示編程時(shí)長(zhǎng)的工具。該項(xiàng)目通過(guò) WakaTime 記錄用戶在 IDE 的使用時(shí)間,統(tǒng)計(jì)編程時(shí)長(zhǎng)和數(shù)據(jù),然后采用 GitHub Action 自動(dòng)獲取并動(dòng)態(tài)更新到 GitHub 個(gè)人首頁(yè)。輕而易舉地展示自己的編程時(shí)長(zhǎng)
28、 PathPlanning :常見(jiàn)的路徑規(guī)劃算法集合。項(xiàng)目包含了 Python 代碼實(shí)現(xiàn)、運(yùn)行過(guò)程動(dòng)畫(huà)以及相關(guān)論文
29、 howdy :為 Linux 系統(tǒng)提供人臉識(shí)別解鎖電腦的工具。通過(guò)電腦內(nèi)置的攝像頭和紅外設(shè)備,實(shí)現(xiàn)了類似 Windows Hello 風(fēng)格的身份認(rèn)證,可用于登陸、鎖屏、sudo 等任何需要輸入密碼的地方
30、 The-Open-Book :開(kāi)源的電子水墨屏閱讀設(shè)備。動(dòng)手能力強(qiáng)的同學(xué)可跟著這個(gè)項(xiàng)目,從焊電路板開(kāi)始親手制作出一個(gè)類 Kindle 的 4.2 英寸閱讀設(shè)備
31、 fl_chart :Flutter 圖表庫(kù)。它支持折線圖、條形圖、餅圖、散點(diǎn)圖和雷達(dá)圖
32、 ugo-compiler-book :《從頭開(kāi)發(fā)一個(gè)迷你 Go 語(yǔ)言》該書(shū)教你從頭實(shí)現(xiàn)迷你 Go 語(yǔ)言,內(nèi)容包含了詞法解析、語(yǔ)法樹(shù)構(gòu)建、函數(shù)閉包、接口、CGO 的實(shí)現(xiàn)等內(nèi)容
33、 archbase :教科書(shū)《計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)》第三版
34、 spring-in-action-v6-translate :《Spring 實(shí)戰(zhàn)第 6 版》中文翻譯
35、 best_AI_papers_2021 :2021 年必看的人工智能論文列表。該項(xiàng)目不是簡(jiǎn)單的羅列論文,它不僅包含相關(guān)論文的代碼、效果展示,還有深入的文章和講解視頻。通過(guò)學(xué)習(xí)這些前沿的人工智能論文,提前了解 AI 在未來(lái)更多可能性
36、 AnimeGANv2 :可以將圖片和視頻轉(zhuǎn)換成漫畫(huà)風(fēng)格的工具。采用的是神經(jīng)風(fēng)格遷移+生成對(duì)抗網(wǎng)絡(luò)(GAN)的組合,轉(zhuǎn)換速度快
感謝您的閱讀,如果覺(jué)得內(nèi)容還不錯(cuò)的話 求贊、求分享 ,您的每一次支持都將讓 HelloGitHub 變得更好!
網(wǎng)站題目:flutter折線圖統(tǒng)計(jì),flutter 圖表
分享路徑:http://chinadenli.net/article36/dsdeepg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、虛擬主機(jī)、全網(wǎng)營(yíng)銷推廣、企業(yè)建站、自適應(yīng)網(wǎng)站、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)