让我们从人们想知道的原因开始。通常,至少在谈到学生时,他们会问哪种语言是最受欢迎的,因为他们想学习有工作的学科。对于大多数人来说,进入一个不需要有关知识的领域是没有意义的。 已经熟练的程序员想要了解他们当前的技能是否相关,还是考虑其他语言,因为人气的变化可能意味着崭新语言。 正在构建产品的开发人员也想了解流行的语言,因为如果他们正在构建API或其他兼容性选项,他们希望确保他们是客户即将使用的解决方案。 最后,如果您要启动一个项目,您需要选择要构建的语言。您的第一个标准应该始终是使用可以完成工作的语言。如果一种语言非常受欢迎,但需要两年的代码,另一种不太受欢迎,但需要两个月的应用程序,你显然应该选择不那么受欢迎的语言。但是,在一切平等的情况下,选择更流行的语言通常意味着获得更多的程序员和资源,所以这也是一个重要的考虑因素。 怎么定义热门? 这是一个开放的问题,有一篇维基百科文章专门用于衡量编程语言的人气。文章显示了衡量人气的几个可能的因素,包括: 网络搜索中提及的语言名称的次数,例如Google搜索趋势指定的次数 提及语言的工作广告数 销售教书或描述语言的书籍数量 用语言编写的现有代码行数的估计,可能低估了在公共搜索中不常出现的语言 在SourceForge,Freecode和GitHub上使用该语言的项目数 论坛和新闻组中关于语言的帖子数 即使这还不完整。您可以将一些指标添加到该列表中: 编程bootcamps销售的课程数量 在世界各地参加编程课程的学生人数 YouTube上每种语言的视频数 在Reddit或Stack Exchange上关于语言的帖子数 如果你考虑到国家的人气,这可能会变得更加复杂。某些语言在印度更受欢迎吗?在美国?在俄国? 人气不是唯一的答案。 不同的测量源 即使有一些理解,流行度可以基于这么多不同的因素衡量,学生和专业人员仍然想知道他们是否在事业和公司的正确方向。 有一些在线网站发布语言受欢迎度指标,每个都根据不同的标准。 IEEE Spectrum采取了一种有趣的方法,因为它有一个交互式图表,允许您加权不同的因素,如工作现场列表或开源中心项目。 编码Dojo有一个图表,它从作业搜索引擎Indeed.com收集统计数据。 Tiobe早就使用搜索引擎聚合来计算流行度。 PyPl看看在Google上的语言教程的受欢迎程度。 不幸的是,这不是真的有帮助。如果你在看什么语言,或者你需要支持什么语言,就很难决定。 OK,明白了。那么最流行的语言是什么? 为了帮助给你一些指导,笔者结合了上面提到的各种来源。对于三个IEEE类别,趋势意味着语言似乎在增长,工作反映在Dice.com和CareerBuilder的工作产品,并打开反映了开源项目的数量。 结果是下图中的排名: 语言流行度量的组合图表。 但问题是,真的不告诉你在哪里聚焦。为了解决问题的核心,笔者做了一些数据分析。笔者汇总了六个来源中的五个的数据(笔者省略了编码Dojo,因为它只显示十种语言)。然后笔者根据每个图表上出现的位置和出现的次数对每种语言进行加权。笔者取得了前十个结果并生成了以下语言的聚类图表。 基于IEEE,Coding Dojo,PyPl和Tiobe的David Gewirtz的加权聚合分析。 正如你所看到的,有三组语言。顶层集群包含Java,C,Python和C ++。毫无疑问,你应该熟悉这四种语言。下一个集群包含JavaScript,C#,PHP和Swift。剩下的两种语言是Objective-C和R. 那么这告诉我们什么? 第一个集群中的语言,Java,C,Python和C ++,几乎是通用语言。他们不是绑定到一个特定的编程平台或焦点。 最有趣的线索是第二个集群,包含JavaScript,C#,PHP和Swift。 JavaScript和PHP主要是web开发语言。 C#是一种以Microsoft为中心的语言。 Swift是苹果新的主要编程语言。基本上,第二个集群是平台特定的。 再次,这告诉我们什么?如果你知道现代编码,你意识到你不只是使用一种语言。无论是嵌入式系统,iPhone,Web应用程序还是Microsoft服务器应用程序,你总是需要开发。 语言熟悉只是一个难题。例如,无论你喜欢Python还是非常古老但仍在滴答作响的C,如果你正在编写WordPress插件或主题,你是用JavaScript和PHP编写的。不管其他语言是多么受欢迎。如果你的雇主是微软开发人员,你最好知道C#。 还有一些更有趣的事情,笔者想确保你注意。首先,编码Dojo的顶层语言是SQL。这是有道理的。你很少只在SQL中编码使用SQL访问数据,但是您使用其他语言管理这些数据查询。所以它是必要的。然而,只是采取一个SQL课程不会保证你有一个好工作工作,好多钱。 其次,考虑到iOS应用程序的普及,苹果特定的语言在图表上比您最初预期的低。但它是有道理的。如果你想去建立自己的应用程序,你想学习这些语言。但是没有大量的公司雇佣苹果应用程序开发人员,至少主要是。这就是为什么Swift相对较低的图表。 Objective-C正在被Swift取代,我们可以看到它正在我们的眼前。 语言的C族仍然占主导地位。 Java,C ++,C,C#,甚至Objective-C都是基于C的语言。如果你只想学习一种语言,你应该选择其中一种。笔者建议Java或C ++,因为那些将打开你C系列其余部分学习的大门。 笔者对你的建议,特别是如果你想进入编程,是学习多种语言和多个框架。在语言中构建东西。编程不仅仅是一个智力练习。你必须实际做的东西。 在多种语言和框架中保持舒适是很重要的,因为计算机行业正在改变这么多。当然,C已经超过数字手表和Pong,但Swift只有几年,却已经在前十。你今天学到的东西可能不足以满足你整个职业生涯。所以学习如何学习语言和学习一门语言一样重要,最好的方法是学习多个语言。 笔者的建议很简单。 选择C ++或Java并学习它。 然后学习JavaScript。 越来越多的基于Web的应用程序需要良好的JavaScript技能。 然后选择PHP,Swift或Python,取决于你想要做的工作种类。 一旦你知道这三套中的每一套都很好,你就能够相对轻松地获得你需要的任何额外的语言或框架。 |
|