编程语言排行榜2017
Learn more about functional programming with our Functional JavaScript Programming course.
通过我们的“ 函数式JavaScript编程”课程了解有关函数式编程的更多信息。
Many of you will reflect on your skill set and career choices as we embark on the new year. There are numerous sources of “best language” statistics, so that’s where we’ll begin …
在我们踏入新的一年的过程中,许多人会反思自己的技能和职业选择。 “最佳语言”统计数据有很多来源,因此我们将开始……
More than 56,000 developers in 173 countries completed the Stack Overflow Developer Survey during 2016. Here are the most-used technologies:
2016年期间,全球173个国家的56,000多名开发人员完成了Stack Overflow开发人员调查 。以下是最常用的技术 :
JavaScript — 55.4%
JavaScript — 55.4%
SQL — 49.1%
SQL -49.1%
Java — 36.3%
Java -36.3%
C# — 30.9%
C# — 30.9%
PHP — 25.9%
PHP — 25.9%
Python — 24.9%
Python -24.9%
C++ — 19.4%
C ++ -19.4%
AngularJS — 17.9% (JavaScript framework)
AngularJS — 17.9%(JavaScript框架)
Node.js — 17.2% (server-side JavaScript)
Node.js — 17.2%(服务器端JavaScript)
C — 15.5%
C -15.5%
The survey also asked what developers loved most:
调查还询问了开发人员最喜欢的东西:
Rust — 79.1%
锈 — 79.1%
Swift — 72.1%
迅捷 -72.1%
F# — 70.7%
F# — 70.7%
Scala — 69.4%
Scala(Scala) — 69.4%
Go — 68.7%
前进 – 68.7%
Clojure — 66.7%
Clojure — 66.7%
React — 66.0%
React -66.0%
Haskell — 64.7%
Haskell — 64.7%
Python — 62.5%
Python -62.5%
C# — 62.0%
C# — 62.0%
and what developers most dreaded:
以及开发人员最害怕的是:
Visual Basic — 79.5%
Visual Basic — 79.5%
WordPress — 74.3%
WordPress -74.3%
Matlab — 72.8%
Matlab — 72.8%
Sharepoint — 72.1%
积分 — 72.1%
CoffeeScript — 71.0%
CoffeeScript — 71.0%
LAMP — 68.7% (Linux, Apache, MySQL, PHP)
LAMP -68.7%(Linux,Apache,MySQL,PHP)
Cordova — 66.9%
科尔多瓦 — 66.9%
Salesforce — 65.4%
Salesforce — 65.4%
Perl — 61.3%
Perl — 61.3%
SQL — 60.3%
SQL — 60.3%
Perhaps more useful are the technologies developers are interested in learning:
开发人员感兴趣的技术也许更有用:
Android — 15.8%
Android -15.8%
Node.js — 14.8%
Node.js -14.8%
AngularJS — 13.4%
AngularJS — 13.4%
Python — 13.3%
Python -13.3%
JavaScript — 11.9%
JavaScript — 11.9%
React — 9.2%
React-9.2 %
Swift — 8.7%
迅捷 -8.7%
MongoDB — 8.1%
MongoDB -8.1%
Arduino / Raspberry Pi — 8.0%
Arduino / Raspberry Pi -8.0%
C++ — 8.0%
C ++ -8.0%
Stack Overflow also collated statistics for questions, answers and votes:
Stack Overflow还整理了有关问题,答案和投票的统计信息 :
JavaScript — 16.6%
JavaScript — 16.6%
Java — 14.7%
Java -14.7%
Android — 11.5%
Android -11.5%
Python — 11.4%
Python -11.4%
C# — 11.1%
C# — 11.1%
PHP — 8.6%
PHP — 8.6%
jQuery — 6.7%
jQuery — 6.7%
C++ — 6.6%
C ++ -6.6%
HTML — 6.6%
HTML — 6.6%
iOS — 6.3%
iOS -6.3%
The PYPL Popularity of Programming Languages Index uses data from Google Trends to determine how often language tutorials are searched online:
PYPL编程语言受欢迎度索引使用Google趋势中的数据来确定在线搜索语言教程的频率:
Java — 23.1%
Java -23.1%
Python — 14.4%
Python -14.4%
PHP — 9.7%
PHP — 9.7%
C# — 8.4%
C# — 8.4%
JavaScript — 7.7%
JavaScript — 7.7%
C — 7.1%
C -7.1%
C++ — 7.0%
C ++ -7.0%
Objective—C — 4.4%
目标—C — 4.4%
R — 3.4%
R — 3.4%
Swift — 3.0%
迅捷 -3.0%
The TIOBE Programming Community Index rates languages using search engine results to provide a ranking percentage:
TIOBE编程社区索引使用搜索引擎结果对语言进行评级,以提供排名百分比:
Java — 17.3%
Java -17.3%
C — 9.3%
C -9.3%
C++ — 6.3%
C ++ -6.3%
C# — 4.0%
C# -4.0%
Python — 3.5%
Python -3.5%
VisualBasic.NET — 3.0%
VisualBasic.NET — 3.0%
JavaScript — 2.9%
JavaScript — 2.9%
Perl — 2.7%
Perl -2.7%
Assembly Language — 2.7%
汇编语言 — 2.7%
PHP — 2.6%
PHP — 2.6%
The biggest riser during 2016 was Go, which leapt from nowhere to 2.3% (#13). Java fell 4.19%, but it remains almost double C’s score.
2016年涨幅最大的是围棋 ,从无到有跃升至2.3%(第13名)。 Java下降了4.19%,但仍然几乎是C的两倍。
Surprisingly little. Results are interesting but often contradictory, and data collection methods are limited:
少得令人惊讶。 结果很有趣,但通常是矛盾的,并且数据收集方法受到限制:
Search engine results can favor older, more problematic or more widespread languages. Few would expect VisualBasic to appear above JavaScript. 搜索引擎结果可能会偏爱较旧,更具问题性或更广泛的语言。 很少有人期望VisualBasic出现在JavaScript之上。 Online surveys are limited to a specific audience. Stack Overflow is populated by reasonably knowledgeable developers who have encountered problems in popular languages and frameworks. 在线调查仅限于特定受众。 Stack Overflow由在流行语言和框架中遇到过问题的相当精通知识的开发人员组成。 Historical usage patterns do not necessarily indicate future trends. Node.js did not exist a decade ago. In the mid-1990s, Perl or C were the most viable options for server-side development. 历史使用模式不一定表示未来的趋势。 Node.js在十年前还不存在。 在1990年代中期,Perl或C是服务器端开发最可行的选择。For example, all surveys rank Java higher than PHP. Java is often adopted for education and used to develop command line, desktop and native Android applications. Yet WordPress powers 27.3% of the web and is written in PHP. PHP is used on 82.4% of web servers compared to just 2.7% for Java.
例如,所有调查对Java的排名都高于PHP。 Java通常用于教育,并用于开发命令行,桌面和本机Android应用程序。 但是WordPress支持27.3%的网络,并使用PHP编写。 PHP在82.4%的Web服务器上使用,而Java仅使用2.7%。
PHP was developed for the web and has a more widespread adoption on the platform. There’s nothing wrong with Java but, if you want a web development career, PHP could serve better. Probably. Depending on where you live and work. And the industry you work in. And what you do.
PHP是为Web开发的,并在该平台上得到了更广泛的采用。 Java没什么问题,但是,如果您想从事网络开发事业,PHP可以提供更好的服务。 大概。 取决于您的生活和工作地点。 还有您从事的行业以及您的工作。
Surveys are flawed, so perhaps we can seek …
调查是有缺陷的,所以也许我们可以寻求……
I’ve been writing “best language” articles for several years and they attract numerous comments. Everyone has an opinion, and that’s great. Yet everyone is wrong.
多年来,我一直在撰写“最佳语言”文章,这些文章吸引了无数评论。 每个人都有意见,这很棒。 然而,每个人都是错的。
No developer has experience in every language. Some will have good knowledge of several, but no one can offer an unbiased choice. Whatever language a developer chooses and uses daily becomes their preferred option. They will passionately defend that decision because, if they can’t, they’d switch to something else.
没有开发人员具有每种语言的经验。 有些人将具有很好的知识,但是没有人能够提供公正的选择。 开发人员每天选择和使用的任何语言成为他们的首选。 他们会热情地捍卫这一决定,因为如果不能,他们会改用其他东西。
Other developers can offer lessons learned from their experiences. That is useful information, but you’re unlikely to have identical aspirations. To flip this on its head, seek opinions from developers who’ve been forced to use a particular language or framework: the majority will hate that technology. Why trust someone else to make a decision for you?
其他开发人员可以提供从他们的经验中学到的教训。 这是有用的信息,但您不太可能有相同的愿望。 为了扭转这种局面,请向被迫使用特定语言或框架的开发人员征求意见:大多数人会讨厌该技术。 为什么要信任别人为您做决定?
If we can’t rely on surveys or the opinions of others, where does it lead? …
如果我们不能依靠调查或他人的意见,它将导致什么? …
If you learn to drive a car, that knowledge can be transferred to driving a bus, a truck or a tractor. Similarly, most computer languages implement input, output, variables, loops, conditions and functions. Learn the basics of any language and learning another becomes considerably easier. It’s mostly a different syntax.
如果您学习驾驶汽车,则可以将知识转移到驾驶公共汽车,卡车或拖拉机上。 同样,大多数计算机语言都实现输入,输出,变量,循环,条件和功能。 学习任何语言的基础知识,学习另一种语言变得非常容易。 这主要是一种不同的语法 。
You cannot choose the “wrong” language; all development knowledge is good knowledge. Perhaps picking COBOL for an iOS game isn’t the best choice, but you’d quickly discover it was impractical and learn something about the language which was useful elsewhere.
您不能选择“错误”语言; 所有的发展知识都是好的知识。 也许为iOS游戏选择COBOL并不是最佳选择,但您很快就会发现这是不切实际的,并了解了有关该语言的其他知识。
The hardest part of any learning process is making a start …
学习过程中最困难的部分是开始……
Those with some programming experience know where they’ve been struggling. The gaps in their knowledge are more obvious:
那些有一定编程经验的人知道他们一直在苦苦挣扎。 他们的知识差距更加明显:
If you’re spending too much time manually manipulating spreadsheet data, invest some effort in learning its macro language. 如果您花费过多时间手动处理电子表格数据,请花一些精力来学习其宏语言。 If you’ve been developing a website and are unhappy with the layout, improving your CSS knowledge is an obvious next step. 如果您一直在开发网站,但对布局不满意,那么显然可以提高CSS知识。 If you’re developing a server application and need to store data, learning SQL or a NoSQL alternative is a logical option. 如果您正在开发服务器应用程序并且需要存储数据,那么学习SQL或NoSQL替代方法是合理的选择。Those asking “what language should I learn?” are probably new to the software industry. A comparably vague question would be “what clothes should I wear?”. No one can answer until they appreciate your age, gender, size, taste, preferences, country, local weather, customs, decency laws, where it will be worn, etc. It’s impossible to suggest a language without knowing:
那些问“我应该学什么语言?”的人 对软件行业来说可能是新手。 一个相对模糊的问题是“我应该穿什么衣服?” 。 在欣赏您的年龄,性别,大小,口味,偏好,国家/地区,当地天气,习俗,体面法律,佩戴方法等之前,没有人可以回答。在不知道以下情况的情况下就不可能建议一种语言:
whether you’re genuinely interested programming 您是否真的对编程感兴趣 what problems you want to solve 您想解决什么问题 what hardware and systems are available to you 您可以使用哪些硬件和系统 what time and learning opportunities you have, and 您有什么时间和学习机会,以及 all the variables associated with the factors above. 与上述因素相关的所有变量。No one wakes up and decides to embark on a professional development career without any programming experience. If you’re genuinely interested in development, pick a small project, choose a language, dig out some tutorials and get going. A few places to start on SitePoint …
没有人醒来,并决定在没有任何编程经验的情况下踏上职业发展生涯。 如果您真的对开发感兴趣,请选择一个小项目,选择一种语言,挖掘一些教程,然后开始。 在SitePoint上可以开始的一些地方...
Build Your First Website: HTML & CSS
建立您的第一个网站:HTML和CSS
Introduction to JavaScript (web client and server-side development)
JavaScript简介 (Web客户端和服务器端开发)
PHP & MySQL Web Development for Beginners (web server-side development)
面向初学者PHP和MySQL Web开发 (Web服务器端开发)
Introduction to Ruby (web server-side development)
Ruby简介 (Web服务器端开发)
Wrapping Your Head Around Python (introduction to Python programming)
绕着Python缠头 (Python编程简介)
Introduction to Swift (native iOS development).
Swift简介 (iOS原生开发)。
Despite stating that other developer opinions won’t align with your situation, I will offer a morsel of advice to SitePoint’s primary web development audience:
尽管声明其他开发人员的观点与您的情况不符,但我将为SitePoint的主要Web开发受众提供一些建议:
If you’re primarily a front-end developer, attempt back-end coding. Try PHP, Node.js, Ruby or whatever piques your interest, then add SQL to your skill set. 如果您主要是前端开发人员,请尝试进行后端编码。 尝试使用PHP,Node.js,Ruby或任何引起您兴趣的工具,然后将SQL添加到您的技能中。 If you’re primarily a back-end developer, learn HTML, CSS and JavaScript. Browser APIs and data formats such as JSON are also beneficial. 如果您主要是后端开发人员,请学习HTML,CSS和JavaScript。 浏览器API和数据格式(例如JSON)也是有益的。Frameworks don’t count! Learn the basics of the language first. That knowledge will remain invaluable regardless of the ever-changing whims, opinions and tool sets used by the development community.
框架不算! 首先学习该语言的基础知识。 无论开发社区使用什么瞬息万变的想法,观点和工具集,这些知识将仍然是无价的。
You may not want to become a full-stack developer but, at the very least, it will help you appreciate the work of others and make a better contribution to your project.
您可能不想成为一名全职开发人员,但是至少,它将帮助您欣赏他人的工作并为您的项目做出更好的贡献。
Best of luck. Stop procrastinating. Stop reading articles like this. Just start coding!
祝你好运。 别磨蹭了。 停止阅读这样的文章。 刚开始编码!
Learn more about functional programming with our Functional JavaScript Programming course.
通过我们的“ 函数式JavaScript编程”课程了解有关函数式编程的更多信息。
翻译自: https://www.sitepoint.com/whats-the-best-programming-language-to-learn-in-2017/
编程语言排行榜2017
相关资源:jdk-8u281-windows-x64.exe