2018年編程語言排行榜
by Alexander Petkov
通過亞歷山大·佩特科夫(Alexander Petkov)
這是2018年學習的最佳編程語言 (Here are the best programming languages to learn in 2018)
This is the definitive guide for anyone wanting to choose the right programming language career path in 2018.
對于那些希望在2018年選擇正確的編程語言職業道路的人來說,這是權威指南。
And let me be clear about something:
并且讓我清楚一些事情:
This is not a “top hottest languages” post throwing around a bunch of names and buzzwords.
這不是一個“一堆最熱門的語言”的帖子,大堆的名字和流行語都是這樣。
This is an objective and practical review of the current state, tendencies, and safe near-future predictions of the IT industry at the start of 2018.
這是對2018年初IT行業的現狀,趨勢和對安全的近期預測的客觀客觀的回顧。
It’s based on statistical data from various trusted sources and is the result of a two-week period of in-depth research.
它基于來自各種受信任來源的統計數據,是經過兩周的深入研究的結果。
The goal of this post is to help you make an informed decision about which languages the IT market is looking for in 2018. It’ll help you decide which niche is worth the time and effort to master, and which will help you start (or continue) a successful and profitable career as a software developer.
這篇文章的目的是幫助您就IT市場在2018年尋找哪種語言做出明智的決定。它將幫助您確定值得掌握哪些時間和精力的利基市場,以及哪些會幫助您開始(或繼續) 作為軟件開發人員的成功且賺錢的職業 。
When trying to decide which programming language makes the best career path, developers typically look for these four traits:
當試圖確定哪種編程語言是最好的職業道路時,開發人員通常會尋找以下四個特征:
- High salary 高薪
- Popularity — plenty of job openings, variety 受歡迎程度-大量的職位空缺,種類繁多
- Tendency to become more in-demand in the future 將來變得更需求的趨勢
- Preferably easy to learn and pleasant to work with 最好易于學習并且愉快地工作
For each language outlined in the list, you’ll see:
對于列表中概述的每種語言,您將看到:
- A brief intro to get you familiar with the language, what types of career options it can offer, and what’s cool about it 一個簡短的介紹,以使您熟悉該語言,可以提供哪些類型的職業選擇以及它的優點
Language popularity diagrams according to TIOBE and GitHub Octoverse
根據TIOBE和GitHub Octoverse的語言流行度圖表
Salary comparison based on data from Indeed.com and StackOverflow’s 2017 survey
根據Indeed.com和StackOverflow的2017年調查數據進行薪資比較
The tendency in demand for the last five years according to Google Trends
根據Google趨勢 ,最近五年的需求趨勢
- A short example code snippet to give you a visual idea of the language’s syntax 簡短的示例代碼片段可讓您直觀地了解該語言的語法
At the end, I’ve included four lesser-known languages which gained rapid popularity in the past few years and are expected to be in very high demand for 2018.
最后,我介紹了四種鮮為人知的語言,這些語言在過去幾年中Swift普及,并且預計在2018年會有很高的需求。
Let’s dive right in with the number one pick.
讓我們一起來看看第一順位。
1. JavaScript (1. JavaScript)
JavaScript is the most popular language according to StackOverflow’s annual survey, with 62.5% of respondents claiming to use it.
根據StackOverflow的年度調查 ,JavaScript是最受歡迎的語言,有62.5%的受訪者聲稱使用過JavaScript。
It’s undoubtedly the dominant language of the web and the growth of JavaScript over the past decade has been immense. Why? Just look around and count how many web-enabled devices you can see. Stack Overflow’s co-founder and popular programming figure Jeff Atwood famously said:
毫無疑問,它是網絡的主導語言,并且在過去十年中,JavaScript的增長非常巨大。 為什么? 只需四處看看,計算一下您可以看到多少個啟用Web的設備。 Stack Overflow的聯合創始人兼流行編程人物Jeff Atwood曾 說過:
Any application that can be written in JavaScript will eventually be written in JavaScript.
任何可以用JavaScript編寫的應用程序最終都將用JavaScript編寫。
Having that in mind, it’s safe to say there will be no shortage of JavaScript opportunities in 2018 and beyond.
牢記這一點,可以肯定地說,在2018年及以后,JavaScript機會將不短缺。
JavaScript knowledge feeds into plenty of front-end frameworks such as Angular, React, Ember, Backbone, and others, as well as the Node.js run-time environment, which allows you to run JavaScript on the backend with high efficiency.
JavaScript知識可用于Angular,React,Ember,Backbone等許多前端框架,以及Node.js運行時環境,可讓您高效地在后端運行JavaScript。
Three of the top four most popular frameworks for 2017 according to StackOverflow are JavaScript-based.
根據StackOverflow,2017年最受歡迎的四個框架中的三個是基于JavaScript的。
If you enjoy immediately seeing the results of your work in action, for example making interactive web components, JavaScript is a good idea for you. Have in mind that a career in JavaScript implicitly means you should also be comfortable with HTML and CSS, which is basically what web pages are made of.
如果您喜歡立即看到工作成果,例如制作交互式Web組件,那么JavaScript對您來說是個好主意。 請記住,從事JavaScript隱式意味著您還應該熟悉HTML和CSS,這基本上就是構成網頁的內容。
Tools like Apache Cordova or React Native allow using JavaScript for mobile applications. It’s even possible to get into game development or desktop app development with projects like Electron.
諸如Apache Cordova或React Native之類的工具允許將JavaScript用于移動應用程序。 甚至可以通過Electron之類的項目來從事游戲開發或桌面應用程序開發。
Let’s see the stats behind JavaScript being the #1 pick:
讓我們看看JavaScript背后的統計數據是第一選擇:
JavaScript tendency in popularity for the past 5 years: Steady increase
過去5年中JavaScript的流行趨勢: 穩步增長
JavaScript example code snippet:
JavaScript示例代碼段:
2.迅捷 (2. Swift)
Swift is a relatively new programming language released by Apple in 2014. This is a language for developing native iOS or macOS applications.
Swift是Apple在2014年發布的一種相對較新的編程語言。這是用于開發本機iOS或macOS應用程序的語言。
It is considered an improvement in terms of usability and performance compared to Objective-C — the language used for Apple’s iOS and macOS operating systems.
與Objective-C(用于Apple的iOS和macOS操作系統的語言)相比,在可用性和性能方面被認為是一種改進。
Swift is generally favored by developers, standing at #4 in the list of most loved languages for 2017, after being #1 in 2015. Should you pick up a career with Swift, chances are you would enjoy it.
Swift通常受到開發人員的青睞, 在2015年排名第一之后,在2017年最受歡迎的語言列表中排名第四。 如果您選擇使用Swift從事職業,那么您很可能會喜歡它。
If you want to get into mobile development, you should definitely consider Swift as a high-paid career path. Generally, iOS apps have proven to be more profitable than Android apps.
如果您想進入移動開發領域,則絕對應該將Swift視為高薪職業道路。 通常,已證明iOS應用比Android應用更有利可圖 。
Swift tendency in popularity for the past 5 years: Steep up
過去5年流行趨勢Swift: 陡峭
Swift example code snippet:
Swift示例代碼段:
3. Python (3. Python)
Python is a general purpose language which you can find almost anywhere today. You’ll find it in web applications, desktop apps, network servers, machine learning, media tools and more.
Python是一種通用語言,如今您幾乎可以在任何地方找到它。 您會在Web應用程序,桌面應用程序,網絡服務器,機器學習,媒體工具等中找到它。
It’s used by big players like NASA or Google, where the Python creator Guido van Rossum was employed for about 8 years writing mostly…Python.
它被諸如NASA或Google之類的大型公司所使用,其中Python的創建者Guido van Rossum被雇用了大約8年,主要編寫Python。
Python code is neat, readable, and well-structured. Proper indentation is not just for beauty here — it determines code execution.
Python代碼簡潔,易讀且結構良好。 適當的縮進在這里不僅是美,它還決定了代碼的執行。
Python-based web development frameworks like Django and Flask have been gaining more and more popularity. Also, the language is heavily equipped with quality machine learning and data analysis libraries like Scikit-learn and Pandas.
諸如Django和Flask之類的基于Python的Web開發框架已經越來越受歡迎。 此外,該語言還配備了諸如Scikit-learn和Pandas之類的高質量機器學習和數據分析庫。
On the whole, career paths with Python are various and here to stay. It’s a good choice for beginner developers, as it’s high-level and easy to read and comprehend.
總體而言,Python的職業發展道路千差萬別,而且還會持續下去。 對于初學者來說,這是一個不錯的選擇,因為它是高級的,易于閱讀和理解。
Python tendency in popularity for the past 5 years: Impressive
過去5年Python的流行趨勢: 令人印象深刻
Python example code snippet:
Python示例代碼段:
4. Java (4. Java)
Java is arguably the most popular programming language as 90% of the Fortune 500 companies heavily use it. Its famous slogan “write once, run anywhere” captures one of the keys that makes Java so valuable — its powerful Java Virtual Machine (JVM), which makes it cross-platform compatible.
可以說Java是最受歡迎的編程語言,因為90%的財富500強公司都大量使用Java。 它著名的口號“編寫一次,隨處運行”捕獲了使Java如此有價值的關鍵之一-其功能強大的Java虛擬機(JVM),使其跨平臺兼容。
Popular career paths with Java are backend developer, big data developer, embedded systems engineer, or Android developer. Although not the most “trendy” language at the moment, Java is so heavily used that we can pretty much guarantee it won’t go anywhere in the next decade and beyond.
Java的流行職業道路是后端開發人員,大數據開發人員,嵌入式系統工程師或Android開發人員。 盡管Java目前并不是最“時髦”的語言,但Java的使用量如此之大,以至于我們可以保證在未來十年甚至更長的時間內它不會出現。
Because of this, you can be confident that there are plenty of Java job positions both in your city and remotely, which can’t be said for some of the less popular languages on this list. Thus, if you are comfortable with Java, it’s only a matter of time before you’ll find the right place.
因此,您可以確信,您所在的城市和遠程都有很多Java職位,對于此列表中某些較不流行的語言來說,這是不可以的。 因此,如果您對Java感到滿意,那么找到合適的位置只是時間問題。
Java tendency in popularity for the past 5 years: Decrease
過去5年Java流行趨勢: 減少
Java example code snippet:
Java示例代碼段:
5. C ++ (5. C++)
C++ is a highly efficient and flexible language, first created back in 1985. It has remained in high demand due to its performance, reliability, and variety of contexts you can use it in.
C ++是一種高效且靈活的語言,最早于1985年創建。由于其性能,可靠性以及可以使用它的各種上下文,它一直受到很高的要求。
Plenty of large systems have been created and maintained successfully using C++, including the likes of Microsoft, Oracle, PayPal, and Adobe.
使用C ++已成功創建并維護了許多大型系統,包括Microsoft,Oracle,PayPal和Adobe。
A career with C++ typically involves developing desktop applications, especially for performance-intensive tasks. While rather complex, getting comfortable with C++ would give you a deeper understanding of how languages work, for example by giving facilities for low-level memory manipulation.
使用C ++的職業通常涉及開發桌面應用程序,尤其是對于性能密集型任務。 盡管相當復雜,但熟悉C ++可以使您對語言的工作方式有更深入的了解,例如,通過提供用于低級內存操作的工具。
C++ tendency in popularity for the past 5 years: Ups and downs
過去5年C ++流行趨勢: 跌宕起伏
C++ example code snippet:
C ++示例代碼片段:
6.Ruby (6. Ruby)
Ruby is one of the most loved programming languages around. It’s designed to be friendly and easy to use by developers, as even its own tagline is “a programmer’s best friend.”
Ruby是周圍最受歡迎的編程語言之一。 它的設計宗旨是易于開發人員使用,因為即使它自己的標語也是“ 程序員最好的朋友” 。
Ruby is a high-level language which aims to achieve a lot with few lines of clean, readable code. This sometimes takes significant effort “under the hood,” which makes Ruby relatively slower in terms of efficiency compared to other popular languages — but it definitely boosts your productivity.
Ruby是一種高級語言,旨在通過幾行清晰易讀的代碼來實現很多目標。 有時,這需要花費大量的“內幕”才能完成,這使得Ruby的效率相對于其他流行語言而言相對較慢-但這絕對可以提高您的生產率。
Well-written Ruby code almost looks like sentences written in plain English. It’s a great choice for the first language to learn, as beginners typically pick it up fast and enjoy it along the way.
編寫良好的Ruby代碼幾乎看起來像是用簡單的英語編寫的句子。 對于初學者來說,這是一個很好的選擇,因為初學者通常會很快地學習它并在整個過程中享受它。
Ruby is mostly used for its most popular framework — Ruby on Rails. Ruby on Rails is a web framework which encapsulates all of Ruby’s ideas into a powerful tool for the web. The great productivity achieved with Rails makes it a common choice for startups who aim for a running start.
Ruby主要用于其最受歡迎的框架Ruby on Rails 。 Ruby on Rails是一個Web框架,它將Ruby的所有思想封裝到一個強大的Web工具中。 Rails帶來的高生產率使它成為那些希望開始運行的初創公司的通用選擇 。
A career with Ruby on Rails is definitely a great choice as the framework is “optimized for programmer happiness” and is also well-paid. The only major drawback of picking up a career with Ruby is that the language is not quite as popular compared to the languages mentioned above. Thus, job openings with Ruby may be limited in some locations.
Ruby on Rails的職業絕對是一個不錯的選擇,因為該框架已“ 針對程序員的幸福進行了優化 ”,并且報酬豐厚。 在Ruby從事職業的唯一主要缺點是,與上述語言相比,該語言不那么受歡迎。 因此,在某些地方,使用Ruby的職位空缺可能受到限制。
Ruby tendency in popularity for the past 5 years: Decrease
Ruby在過去5年的流行趨勢: 減少
Ruby example code snippet:
Ruby示例代碼片段:
7.Rust (7. Rust)
Rust is sponsored by Mozilla and was voted most liked by developers for a second consecutive year in StackOverflow surveys. This is a relatively new language, first appearing in 2010, which already gained remarkable popularity and is expected to improve even more in the future.
Rust由Mozilla贊助,并在StackOverflow調查中連續第二年被開發人員評為最喜歡的對象 。 這是一種相對較新的語言,于2010年首次出現,已經獲得了非凡的普及,并有望在未來進一步提高。
Rust is a compiled language which is often compared to C both in terms of use cases and performance. The main difference is that Rust is memory safe. One of the most common faults you could find in C code are dangling pointers, buffer overflows, or any other kind of memory errors. Rust is created with the purpose of avoiding those — the language literally makes it impossible for you to make such errors as they are caught during compilation (before the code was ever run).
Rust是一種編譯語言,在用例和性能方面經常與C進行比較。 主要區別在于Rust具有內存安全性。 在C代碼中可以找到的最常見故障之一是指針懸空,緩沖區溢出或任何其他類型的內存錯誤。 創建Rust的目的是為了避免這些錯誤-這種語言從字面上講使您無法犯下編譯期間(在運行代碼之前)捕獲的錯誤。
For a beginner, Rust might be a bit of a struggle to pick up as it insists on various rules to achieve the memory safety. However, experienced developers love it, and it’s quite possible that in the next few years Rust will be in very high demand.
對于初學者來說,Rust堅持各種規則以實現內存安全性可能會有些困難。 但是,經驗豐富的開發人員會喜歡它 ,并且在接下來的幾年中Rust的需求很可能很高。
As far as salary is concerned, Rust is considered well-paid, ranking second worldwide in StackOverflow’s 2017 survey.
就薪金而言,Rust被認為是高薪的,在StackOverflow的2017年調查中排名全球第二 。
One more reason to choose Rust is that the language is being developed by a household name in IT, Mozilla.
選擇Rust的另一個原因是該語言是由IT的Mozilla姓氏開發的。
Rust tendency in popularity for the past 5 years: Rising
過去5年流行的銹病趨勢: 上升
Rust example code snippet:
Rust示例代碼段:
8.長生不老藥 (8. Elixir)
Elixir is another new language, first appearing in 2011, that immediately gained popularity.
Elixir是另一種新語言,于2011年首次出現,立即受到歡迎。
Elixir was inspired by Erlang, a language developed back in the 1980s by Ericsson and stands as arguably one of the best tools for heavy concurrency. Elixir’s author José Valim himself said that he liked everything about Erlang, but also saw room for improvement. The biggest drawback of Erlang for developers is the often quirky syntax and usability plus the lack of intuitive package management.
Elixir受Erlang啟發, Erlang是愛立信于1980年代開發的一種語言,可以說是重型并發的最佳工具之一。 Elixir的作者JoséValim本人說 ,他喜歡Erlang的一切,但也看到了改進的空間。 對于開發人員來說,Erlang的最大缺點是語法和可用性常常很古怪,再加上缺乏直觀的軟件包管理。
Thus, Elixir appears — combining aspects from Ruby, a highly developer-friendly language and ecosystem, with those from Erlang.
因此,Elixir出現了-將Ruby(一種高度對開發人員友好的語言和生態系統)的各個方面與Erlang的各個方面相結合。
Elixir is mainly used for web development, and career options are typically well-paid but limited. The popularity of the language has been increasing year after year, so if your city has various IT companies around, Elixir developers may be highly sought after.
Elixir主要用于Web開發,職業選擇通常收入豐厚,但數量有限。 這種語言的流行度逐年增加,因此,如果您所在的城市周圍有多家IT公司,Elixir開發人員可能會受到強烈追捧。
Salary-wise, Elixir is typically well-paid standing at third place worldwide in StackOverflow’s 2017 survey.
在薪酬方面,Elixir在StackOverflow的2017年調查中通常位居全球第三 。
Elixir tendency in popularity for the past 5 years: Rising
過去5年中長生不老藥的流行趨勢: 上升
Elixir example code snippet:
Elixir示例代碼片段:
9. Scala (9. Scala)
Scala stands for Scalable Language, and is one of the many attempts to “rewrite Java” while improving its drawbacks. Scala code is compiled to run on the Java Virtual Machine (JVM).
Scala代表可擴展語言,并且是“改寫Java”同時改善其缺點的眾多嘗試之一。 Scala代碼被編譯為在Java虛擬機(JVM)上運行。
We can safely agree that Scala is already a success given the fact that big companies like LinkedIn, Twitter, and The Guardian use it in their codebases.
可以肯定地說,鑒于LinkedIn,Twitter和The Guardian等大公司在其代碼庫中使用了Scala,Scala已經成功。
Scala has the reputation of being a complex language to learn for a junior developer. But those who make it past the learning curve probably enjoy a great career as open positions for Scala developers are definitely popping up more and more.
Scala擁有成為初級開發人員學習的復雜語言的聲譽。 但是那些超越學習曲線的人可能會享有出色的職業,因為Scala開發人員的空缺職位肯定會越來越多。
Scala ranks high in salary surveys, making the top ten worldwide and sharing first place in the US according to StackOverflow’s 2017 report.
根據StackOverflow的2017年報告,Scala在薪水調查中排名很高,躋身全球前十名 ,并在美國排名第一。
Scala tendency in popularity for the past 5 years: Rising
Scala在過去5年的流行趨勢: 上升
Scala example code snippet:
Scala示例代碼片段:
10. R (10. R)
R is a programming language and environment used for statistics, graphic representation and data analysis. This is the #1 choice for data scientists. If you find yourself interested in this field, then R is a stable and profitable career choice for you.
R是一種用于統計,圖形表示和數據分析的編程語言和環境。 這是數據科學家的第一選擇。 如果您發現自己對此領域感興趣,那么R是您穩定且有利可圖的職業選擇。
R tendency in popularity for the past 5 years: Steady rise
過去5年的R流行趨勢: 穩步上升
R example code snippet:
R示例代碼段:
That concludes the list of the top ten programming languages you should consider learning in 2018.
總結了您應考慮在2018年學習的十大編程語言的列表。
If you are looking for free courses to try out any of the above-mentioned languages, you can check out our advice on choosing from the best tutorials or even having a dedicated website browse tutorials for you.
如果您正在尋找免費課程以嘗試上述任何一種語言,則可以查看有關從最佳教程中進行選擇的建議,甚至可以為您找到專門的網站瀏覽教程。
If you have any questions about a future career as a software developer, make use of our free featured material or contact us further for a professional opinion.
如果您對未來軟件開發人員的職業有任何疑問,請使用我們的免費精選材料,或與我們聯系以獲取專業意見。
下一步是什么? (What’s next?)
Choosing the right language career path is great — but usually problems start when trying to get “good enough” and get hired.
選擇正確的語言職業道路是很好的選擇-但是通常在嘗試變得“足夠好”并被錄用時開始出現問題。
Next, I’ll focus on the results of my research on why many developers give up before ever getting a job. The main reason is actually quite simple.
接下來,我將集中研究我的研究結果,以了解為什么許多開發人員在找到工作之前就放棄了。 主要原因實際上很簡單。
翻譯自: https://www.freecodecamp.org/news/best-programming-languages-to-learn-in-2018-ultimate-guide-bfc93e615b35/
2018年編程語言排行榜