您应该在2020年首先学习哪种编程语言? ɐʌɐɾdıɹɔsɐʌɐɾ:ɹǝʍsuɐ
Most people’s journey toward learning to program starts with a single late-night Google search.
大多數(shù)人學(xué)習(xí)編程的旅程都是從一個(gè)深夜Google搜索開始的。
Usually it’s something like “Learn ______”
通常它類似于“學(xué)習(xí)______”
But how do they decide which language to search for?
但是,他們?nèi)绾螞Q定要搜索的語(yǔ)言呢?
“They always joke about Java on Silicon Valley. I guess I should learn that.”“他們總是在硅谷開玩笑說(shuō)Java。 我想我應(yīng)該學(xué)那個(gè)?!?Or:
要么:
“Haskell. So hot right now. Haskell.”哈斯克爾。 現(xiàn)在太熱了。 哈斯克爾?!?Or:
要么:
“That Go gopher is just so gosh-darn cute.”“那個(gè)地鼠真是太可愛了?!?And then there’s the rest of us. We’ll probably search for something like:
然后是我們其余的人。 我們可能會(huì)搜索類似的內(nèi)容:
“Which programming language should I learn first?”“我應(yīng)該首先學(xué)習(xí)哪種編程語(yǔ)言?”Few questions are so commonly asked that they get the full infographic treatment. But this is one of them:
很少有人問(wèn)過(guò)這么普遍的問(wèn)題,以至于他們得到完整的信息圖表處理。 但這是其中之一:
Deciding on your first programming language can be a fun process — kind of like one of those “Which Quentin Tarantino character are you?” personality quizzes.
確定您的第一門編程語(yǔ)言可能是一個(gè)有趣的過(guò)程-有點(diǎn)像“您是哪個(gè)昆汀·塔倫蒂諾角色?”中的一個(gè)。 個(gè)性測(cè)驗(yàn)。
But before you run off to learn Ruby because you enjoyed playing with Play-Doh as a kid, let me remind you: the stakes are pretty high here.
但是在您因?yàn)樾r(shí)候喜歡玩Play-Doh而開始學(xué)習(xí)Ruby之前,讓我提醒您:這里的賭注相當(dāng)高。
It will take you hundreds of hours of practice to become even remotely competent with your first programming language.
要想遠(yuǎn)程掌握第一門編程語(yǔ)言,將需要數(shù)百小時(shí)的練習(xí)時(shí)間。
So you should consider the following factors:
因此,您應(yīng)該考慮以下因素:
- the job market for the language 語(yǔ)言的就業(yè)市場(chǎng)
- the long term prospects for the language 語(yǔ)言的長(zhǎng)期前景
- how easy the language is to learn 語(yǔ)言學(xué)習(xí)起來(lái)有多容易
- what projects you can build while you’re learning (and share with friends so you can stay motivated) 您在學(xué)習(xí)時(shí)可以構(gòu)建哪些項(xiàng)目(并與朋友分享,以便保持動(dòng)力)
Every year brings new programming languages, and with them, new academic papers. And new web comics.
每年都會(huì)帶來(lái)新的編程語(yǔ)言,并隨之帶來(lái)新的學(xué)術(shù)論文。 以及新的網(wǎng)絡(luò)漫畫。
Seriously. Check out this gem from last month:
說(shuō)真的 看看上個(gè)月的這張寶石:
When it comes to choosing a first programming language, there’s no shortage of options. To narrow it down a bit, here are the most common Google searches related to learning programming, over the past 12 years:
在選擇第一種編程語(yǔ)言時(shí),不乏選擇。 為了縮小范圍,以下是過(guò)去12年中與學(xué)習(xí)編程相關(guān)的最常見的Google搜索:
Java has had its ups and downs.
Java經(jīng)歷了風(fēng)風(fēng)雨雨。
Python has gradually risen to become the most popular choice.
Python已逐漸成為最受歡迎的選擇。
But tucked away below these is the Little Engine That Could, slowly choo-choo’ing up in popularity over the past few years. And that engine is JavaScript.
但是隱藏在這些之下的是“可能制造的小引擎”,在過(guò)去幾年中逐漸流行起來(lái)。 該引擎是JavaScript。
Before I talk about these programming languages, let me clarify:
在討論這些編程語(yǔ)言之前,讓我澄清一下:
- I’m not arguing that any one language is objectively better than any other 我并不是說(shuō)任何一種語(yǔ)言在客觀上都比其他任何一種都要好
- I agree that developers should eventually learn more than one language 我同意開發(fā)人員最終應(yīng)該學(xué)習(xí)多種語(yǔ)言
- I’m arguing that first they should learn one language well. And — as you can probably guess from the upside down text in my headline — that language should be JavaScript. 我在爭(zhēng)辯說(shuō)他們首先應(yīng)該學(xué)習(xí)一種語(yǔ)言。 而且-正如您可能從標(biāo)題中的上下顛倒文字中猜測(cè)的那樣-該語(yǔ)言應(yīng)為JavaScript。
Let’s kick things off by exploring how programming is currently taught in school.
讓我們開始探索目前學(xué)校如何教授編程的事情。
計(jì)算機(jī)科學(xué)101 (Computer Science 101)
Universities have traditionally taught programming under the umbrella of computer science, which itself is often seen as an extension of mathematics, or tie-in to an electrical engineering degree.
傳統(tǒng)上,大學(xué)在計(jì)算機(jī)科學(xué)的保護(hù)下教授編程,這本身通常被視為數(shù)學(xué)的擴(kuò)展,或與電氣工程學(xué)位緊密結(jié)合。
Of course, as you may have heard by now:
當(dāng)然,如您現(xiàn)在所聽到的:
“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.” — Eric S. Raymond“計(jì)算機(jī)科學(xué)教育不能使任何人成為專家程序員,而學(xué)習(xí)畫筆和顏料可以使某人成為專家畫家?!?—埃里克·雷蒙德(Eric S. Raymond)As of 2016, many universities still treat programming like it’s computer science, and computer science like it’s math.
截至2016年,許多大學(xué)仍將編程視為計(jì)算機(jī)科學(xué),而將計(jì)算機(jī)科學(xué)視為數(shù)學(xué)。
As a result, many introductory programming courses focus on low-level-of-abstraction languages like C, or mathematically-focused languages like MATLAB.
因此,許多入門編程課程都將重點(diǎn)放在諸如C的低層次抽象語(yǔ)言或諸如MATLAB的以數(shù)學(xué)為重點(diǎn)的語(yǔ)言上。
And department chairs generally stay the course, pointing to annual programming language leaderboards like the TIOBE Index, or this one from the IEEE:
部門主席通常會(huì)繼續(xù)學(xué)習(xí),指向年度編程語(yǔ)言排行榜,例如TIOBE Index或IEEE的這一排行榜:
Most of these leaderboards look virtually identical to how they were 10 years ago.
這些排行榜中的大多數(shù)看上去幾乎與10年前一樣。
But change does happen. Even in academia.
但是改變的確發(fā)生了。 即使在學(xué)術(shù)界。
In 2014, Python overtook Java as a the most popular language of instruction at top US Computer Science programs.
2014年,Python 超過(guò)Java ,成為美國(guó)計(jì)算機(jī)科學(xué)頂級(jí)程序中最流行的指令語(yǔ)言。
And yet another change is bound to… eventually… happen.
然而,另一改變必將……最終……發(fā)生。
Because if you look at the languages actually used by the workforce, it paints a very different picture:
因?yàn)槿绻榭磩趧?dòng)力實(shí)際使用的語(yǔ)言,它會(huì)描繪出截然不同的畫面:
More than half of all developers use JavaScript. It’s vital to front-end web development and increasingly relevant for back-end development. And it’s rapidly expanding into areas like game development and the Internet of Things.
所有開發(fā)人員中超過(guò)一半使用JavaScript。 這對(duì)前端Web開發(fā)至關(guān)重要,并且對(duì)后端開發(fā)越來(lái)越重要。 而且它正在Swift擴(kuò)展到游戲開發(fā)和物聯(lián)網(wǎng)等領(lǐng)域。
Job postings also mention JavaScript more than any programming language other than Java:
職位發(fā)布還提到JavaScript,而不是Java以外的任何其他編程語(yǔ)言:
It’s no accident that we built our open source community’s curriculum around JavaScript. Over the past two years, more than 5,000 people have used Free Code Camp to get their first developer job.
我們圍繞JavaScript構(gòu)建開源社區(qū)的課程并非偶然。 在過(guò)去的兩年中,有超過(guò)5,000人使用Free Code Camp獲得了他們的第一份開發(fā)人員工作。
I’m not advocating JavaScript because I teach it. I teach JavaScript because it’s the surest path to a first developer job.
我不提倡JavaScript,因?yàn)槲医踢^(guò)它。 我教JavaScript是因?yàn)檫@是完成第一項(xiàng)開發(fā)人員工作的最可靠途徑。
But is JavaScript right for you? Is it worthy of being your first programming language? Let’s explore those factors I mentioned earlier.
但是JavaScript是否適合您? 值得成為您的第一門編程語(yǔ)言嗎? 讓我們探討一下我前面提到的那些因素。
因素1:就業(yè)市場(chǎng) (Factor 1: The job market)
If you’re learning to program purely out of intellectual curiosity, feel free to skip this factor. But if you — like the vast majority of people learning to program — want to use this skill to get a job, this is an important consideration.
如果您純粹出于好奇心而學(xué)習(xí)編程,請(qǐng)隨時(shí)跳過(guò)此因素。 但是,如果您(像絕大多數(shù)學(xué)習(xí)編程的人一樣)想要使用此技能來(lái)找到工作,這是一個(gè)重要的考慮因素。
As I mentioned earlier, Java is mentioned in more job postings than any other programming language. JavaScript is a close second.
正如我之前提到的,職位招聘中提到的Java比其他任何編程語(yǔ)言都多。 JavaScript緊隨其后。
But here’s the thing about JavaScript: even though it’s been around for 20 years, it only recently became a serious tool that companies like Netflix, Walmart, and PayPal would build entire applications around.
但是,關(guān)于JavaScript的事情就是這樣:盡管它已經(jīng)存在20年了,但直到最近它才成為一種重要的工具,像Netflix,Walmart和PayPal這樣的公司可以圍繞它構(gòu)建整個(gè)應(yīng)用程序。
As a result, plenty of companies are hiring JavaScript developers, but there just aren’t that many on the job market.
結(jié)果,很多公司都在雇用JavaScript開發(fā)人員,但是在就業(yè)市場(chǎng)上的人并不多。
There are 2.7 Java developers competing for every open Java position. Competition for PHP and iOS jobs is similarly fierce.
有2.7位Java開發(fā)人員爭(zhēng)奪每個(gè)Java開放職位。 同樣,PHP和iOS工作的競(jìng)爭(zhēng)也很激烈。
But for every open JavaScript position, there are only 0.6 JavaScript developers. It is very much a sellers’ market for developers with JavaScript skills.
但是對(duì)于每個(gè)開放JavaScript職位,只有0.6個(gè)JavaScript開發(fā)人員。 對(duì)于具有JavaScript技能的開發(fā)人員來(lái)說(shuō),這是一個(gè)很大的賣方市場(chǎng)。
因素2:長(zhǎng)期前景 (Factor 2: The long term prospects)
The average JavaScript project receives twice as many pull requests as the average Java, Python, or Ruby project. And on top of this, JavaScript is growing faster than any other popular language.
普通JavaScript項(xiàng)目收到的拉取請(qǐng)求是普通Java,Python或Ruby項(xiàng)目的兩倍。 最重要的是,JavaScript的增長(zhǎng)速度快于任何其他流行語(yǔ)言。
JavaScript’s ecosystem also benefits from a heavy investment of money and engineering talent from companies like Google, Microsoft, Facebook, and Netflix.
JavaScript的生態(tài)系統(tǒng)還得益于Google,Microsoft,Facebook和Netflix等公司的巨額資金和工程人才的投資。
For example, TypeScript (a statically-typed superset of JavaScript) has more than 100 open source contributors, many of whom are Microsoft and Google employees being paid to work on it.
例如,TypeScript(JavaScript的靜態(tài)類型超集)擁有100多個(gè)開源貢獻(xiàn)者,其中許多人是Microsoft和Google的雇員,正在為其工作。
This type of inter-company cooperation is harder to find with Java. Oracle — who effectively owns Java through its acquisition of Sun Microsystems — often sues companies who try to expand upon it.
用Java很難找到這種類型的公司間合作。 通過(guò)收購(gòu)Sun Microsystems來(lái)有效擁有Java的Oracle 經(jīng)常起訴那些試圖對(duì)其進(jìn)行擴(kuò)展的公司。
因素3:學(xué)習(xí)困難 (Factor 3: Difficulty to learn)
Most programmers would agree that high-level scripting languages are relatively easy to learn. JavaScript falls into this category, along with Python and Ruby.
大多數(shù)程序員都同意高級(jí)腳本語(yǔ)言相對(duì)容易學(xué)習(xí)。 JavaScript以及Python和Ruby都屬于這一類。
Even though universities still teach languages like Java and C++ as first languages, they’re considerably harder to learn.
即使大學(xué)仍將Java和C ++之類的語(yǔ)言作為第一語(yǔ)言來(lái)教,但它們卻很難學(xué)習(xí)。
因素4:可以用它構(gòu)建的項(xiàng)目 (Factor 4: Projects you can build with it)
This is where JavaScript really shines. JavaScript runs on any device that has a browser, right there in the browser. You can build basically anything with JavaScript, and share it anywhere.
這就是JavaScript真正發(fā)揮作用的地方。 JavaScript可在裝有瀏覽器的任何設(shè)備上運(yùn)行,就在瀏覽器中。 您基本上可以使用JavaScript構(gòu)建任何東西,然后在任何地方共享。
Because of JavaScript’s ubiquity, Stack Overflow co-founder Jeff Atwood coined his now-famous law:
由于JavaScript的普及,Stack Overflow聯(lián)合創(chuàng)始人Jeff Atwood提出了他現(xiàn)在著名的法律:
“Any application that can be written in JavaScript, will eventually be written in JavaScript.”
“ 能在JavaScript編寫的任何應(yīng)用程序,最終將用JavaScript編寫的?!?
And with each passing month, Atwood’s Law holds strong.
而且, 隨著時(shí)間的流逝 ,阿特伍德定律變得越來(lái)越強(qiáng)大。
Java once promised to run everywhere, too. You may remember Java Applets. Oracle officially killed them off earlier this year.
Java曾經(jīng)承諾也可以在任何地方運(yùn)行。 您可能還記得Java Applets 。 Oracle今年早些時(shí)候正式殺死了他們。
Python suffers from much the same problems:
Python遭受很多相同的問(wèn)題:
“How can I give this game I made to my friend? Even better, is there a way can I put this on my phone so I can show it to kids at school without them having to install it? Um.” — James Hague in Retiring Python as a Teaching Language
“如何將我制作的這款游戲給我的朋友? 更好的是,有什么方法可以將其放在手機(jī)上,這樣我就可以將它們展示給學(xué)校的孩子,而無(wú)需他們安裝嗎? 嗯?!?-James Hague,《 退休使用Python作為教學(xué)語(yǔ)言》
By contrast, here are some apps that members of our open source community built in their browsers on CodePen. You can click through and use these right in your browser:
相比之下,這是我們的開源社區(qū)成員在CodePen的瀏覽器中構(gòu)建的一些應(yīng)用程序。 您可以在瀏覽器中單擊并使用以下內(nèi)容:
很好地學(xué)習(xí)一種語(yǔ)言。 然后學(xué)習(xí)第二個(gè)。 (Learn one language well. Then learn a second one.)
If you keep jumping from language to language, you won’t get far.
如果您不斷從一種語(yǔ)言跳到另一種語(yǔ)言, 那么您將走不遠(yuǎn) 。
In order to move beyond the basics, you need to learn your first language well. Then your second language will be much, much easier.
為了超越基礎(chǔ)知識(shí),您需要很好地學(xué)習(xí)母語(yǔ)。 這樣,您的第二語(yǔ)言就會(huì)容易得多。
From there, you can branch out, and become a more well-rounded developer by learning lots of languages:
您可以從那里分支出來(lái),通過(guò)學(xué)習(xí)許多語(yǔ)言來(lái)成為更全面的開發(fā)人員:
- C is a great way to learn how computers actually work in terms of memory management, and is useful in high-performance computing C是學(xué)習(xí)計(jì)算機(jī)在內(nèi)存管理方面實(shí)際工作方式的一種好方法,并且對(duì)高性能計(jì)算很有用。
- C++ is great for game development. C ++非常適合游戲開發(fā)。
- Python is awesome for science and statistics. Python對(duì)于科學(xué)和統(tǒng)計(jì)資料來(lái)說(shuō)是很棒的。
- Java is important if you want to work at large tech companies. 如果您想在大型高科技公司工作,那么Java非常重要。
But learn JavaScript first.
但是先學(xué)習(xí)JavaScript。
OK, now I’m going to attempt the impossible — I’m going to try and anticipate objections from the comments section.
好的,現(xiàn)在我將嘗試不可能的事情-我將嘗試并預(yù)期評(píng)論部分的反對(duì)意見。
異議1:但是JavaScript不會(huì)慢嗎? (Objection 1: But isn’t JavaScript slow?)
JavaScript is — for most practical purposes — as fast as high-performance languages.
在大多數(shù)實(shí)際情況下,JavaScript的速度與高性能語(yǔ)言一樣快。
JavaScript (Node.js) is orders of magnitude faster than Python, Ruby, and PHP.
JavaScript(Node.js)比Python,Ruby和PHP快幾個(gè)數(shù)量級(jí)。
It is also nearly as fast as high-performance languages like C++, Java, and Go.
它也幾乎與C ++,Java和Go等高性能語(yǔ)言一樣快。
Here are the results of the most comprehensive recent cross-language benchmark:
以下是最近最全面的跨語(yǔ)言基準(zhǔn)測(cè)試的結(jié)果:
異議2:但是JavaScript不是靜態(tài)類型的 (Objection 2: But JavaScript isn’t statically typed)
Like Python and Ruby, JavaScript is dynamically typed, which is convenient. But you can get into trouble. Here I intend for exampleArray to be an array. I set its values, then check its length — meaning the number of elements it contains.
像Python和Ruby一樣,JavaScript是動(dòng)態(tài)類型的,這很方便。 但是您可能會(huì)遇到麻煩。 在這里,我打算將exampleArray作為一個(gè)數(shù)組。 我設(shè)置了它的值,然后檢查了它的長(zhǎng)度,即它包含的元素?cái)?shù)量。
exampleArray = [1, 2] -> [1, 2]exampleArray.length -> 2But then I accidentally assign it to be a string.
但是后來(lái)我不小心將其分配為字符串。
exampleArray = “text” -> “text”exampleArray.length -> 4These kinds of errors happen all the time in dynamically typed languages. Most developers just put checks in place to prevent them, and write tests accordingly.
這些類型的錯(cuò)誤始終以動(dòng)態(tài)類型的語(yǔ)言發(fā)生。 大多數(shù)開發(fā)人員只是將檢查放在適當(dāng)?shù)奈恢靡苑乐顾鼈儼l(fā)生,并相應(yīng)地編寫測(cè)試。
If you absolutely must have static typing in your first programming language, then I still recommend you learn JavaScript first. Then you can quickly pick up TypeScript.
如果您絕對(duì)必須在第一種編程語(yǔ)言中進(jìn)行靜態(tài)鍵入,那么我仍然建議您首先學(xué)習(xí)JavaScript。 然后,您可以快速選擇TypeScript。
“Typescript has a learning curve, but if you already know JavaScript, it will be a smooth one.” — Alex Ewerl?f on TypeScript
“ Typescript有一個(gè)學(xué)習(xí)曲線,但是如果您已經(jīng)了解JavaScript,那將是一個(gè)平穩(wěn)的過(guò)程?!?— TypeScript上的AlexEwerl?f
異議3:但我真的很想開發(fā)一個(gè)移動(dòng)應(yīng)用 (Objection 3: But I really want to make a mobile app)
I still recommend learning JavaScript first.
我仍然建議先學(xué)習(xí)JavaScript。
JavaScript features several tools for making native mobile apps, such as Angular Cordova and React Native.
JavaScript具有用于制作本地移動(dòng)應(yīng)用程序的多種工具,例如Angular Cordova和React Native 。
Also, it’s worth pointing out that the mobile app development’s best days may very well be behind it.
另外,值得指出的是,移動(dòng)應(yīng)用程序開發(fā)的最佳時(shí)期可能已經(jīng)過(guò)去。
For starters, as much as people use mobile apps, nearly half of all developer jobs are web development. Compare this with a mere 8% of jobs that involve mobile app development.
對(duì)于初學(xué)者來(lái)說(shuō),與使用移動(dòng)應(yīng)用程序的人一樣多,幾乎所有開發(fā)人員的工作都是Web開發(fā)。 與此相比,僅有8%的涉及移動(dòng)應(yīng)用程序開發(fā)的工作。
The grand vision of “there’s an app for that” has not come to pass. Instead, most smartphone owners have stopped downloading new apps.
“為此目的有一個(gè)應(yīng)用程序”的宏偉愿景尚未實(shí)現(xiàn)。 相反,大多數(shù)智能手機(jī)所有者已停止下載新應(yīng)用 。
Sure — they still use apps. Mostly Facebook, Google Maps, and handful of others. As such, much of the demand for mobile app developers is concentrated in a few large employers.
當(dāng)然-他們?nèi)栽谑褂脩?yīng)用程序。 主要是Facebook,Google地圖以及其他少數(shù)幾個(gè)。 因此,對(duì)移動(dòng)應(yīng)用程序開發(fā)人員的大部分需求都集中在少數(shù)大型雇主上。
The outlook for those mobile development jobs is hard to forecast. Many aspects of developing, maintaining, and distributing mobile apps are easier with JavaScript. So companies like Facebook and Google are investing heavily in better tools for building these using JavaScript.
這些移動(dòng)開發(fā)工作的前景很難預(yù)測(cè)。 使用JavaScript可以更輕松地開發(fā),維護(hù)和分發(fā)移動(dòng)應(yīng)用程序的許多方面。 因此,像Facebook和Google這樣的公司都在大力投資于更好的工具,以使用JavaScript構(gòu)建這些工具。
As of 2016, pretty much all development is web development. Everything touches that big platform that is “the web.” And the next wave of devices that you’ll talk to around your home, and cars that pick your kids up from school — they’ll all be piped together using the web, too.
截至2016年,幾乎所有開發(fā)都是Web開發(fā)。 一切都觸及那個(gè)大平臺(tái),即“網(wǎng)絡(luò)”。 下一波您將在家里與之交談的設(shè)備,以及將孩子接送學(xué)校的汽車-它們也都將通過(guò)網(wǎng)絡(luò)通過(guò)管道連接在一起。
And that means JavaScript.
那就是JavaScript。
異議4:JavaScript是否不是10天內(nèi)編寫的玩具語(yǔ)言? (Objection 4: Isn’t JavaScript a toy language that was written in 10 days?)
JavaScript has a quirky history.
JavaScript具有古怪的歷史 。
You will undoubtedly hear people crack jokes at its expense.
毫無(wú)疑問(wèn),您會(huì)聽到人們?yōu)樾υ挾冻龅拇鷥r(jià)。
Well people love to hate on C++, too. And like JavaScript, C++ has succeeded despite this hate, and now it’s pretty much everywhere as well.
人們也很喜歡討厭C ++。 和JavaScript一樣,盡管有這種討厭,C ++還是成功了,現(xiàn)在在幾乎所有地方也是如此。
So if anybody ever gives you a hard time for learning JavaScript instead of elite-language-of-the-week, just remember the famous words of the guy who created C++:
因此,如果有人讓您很難學(xué)習(xí)JavaScript,而不是每周學(xué)習(xí)精通語(yǔ)言,那么請(qǐng)記住創(chuàng)建C ++的那個(gè)人的著名話:
“There are only two kinds of programming languages: those people always bitch about and those nobody uses.” — Bjarne Stroustrup“只有兩種編程語(yǔ)言:那些總是無(wú)聊的人和那些沒(méi)人使用的語(yǔ)言?!?— Bjarne StroustrupI only write about programming and technology. If you follow me on Twitter I won’t waste your time. ?
我只寫關(guān)于編程和技術(shù)的文章。 如果您在Twitter上關(guān)注我,我不會(huì)浪費(fèi)您的時(shí)間。 ?
翻譯自: https://www.freecodecamp.org/news/what-programming-language-should-i-learn-first-19a33b0a467d/
總結(jié)
以上是生活随笔為你收集整理的您应该在2020年首先学习哪种编程语言? ɐʌɐɾdıɹɔsɐʌɐɾ:ɹǝʍsuɐ的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 空间复杂度 用什么符号表示_什么是大O符
- 下一篇: github持续集成的设置_如何使用Gi