www.icesr.com
IT运维工程师的摇篮

2015年学什么编程语言最好?

自由 UK web 顾问 Craig Buckler 从事多年编程语言统计,本文统计了来自 GitHut、RedMonk 等四个来源的语言排名情况。他表示语言的选择需根据自身的实际情况,学习一门最好可以帮你解决实际问题的语言。

  以下为译文:

  我从事编程语言统计很多年了,有大量的数据来源包括代码存储库、Q&A讨论、招聘广告、社交媒体情况、教程页面访问、学习视频视图、开发者调查等等。数据发表在不同的时间,都可以被认为是精确的,也可以被认为是有缺陷的,但是它们可以用于发现行业趋势。

  GitHut

  GitHut 是一个相对较新的资源,据分析目前在 GitHub 中有 220 万活跃库,前十为:

JavaScript
Java
Python
CSS
PHP
Ruby
C++
C
Shell
C#

  RedMonk

  2015 年 RedMonk 语言排名是通过对 GitHub 和 StackOverflow 活跃进行分析,研究结果为:

JavaScript
Java
PHP
Python
C#
C++
Ruby
CSS
C
Objective-C
  

  Jobs Tractor

  Jobs Tractor 语言趋势分析了 Twitter 上成千上万个工作职位,2014 年 9 月的最新数据如下:

Java
Objective-C
PHP
SQL
Java (Android)
C#
JavaScript
Python
Ruby
C++
  TIOBE Index

  TIOBE Index 基于熟练工程师、课程以及搜索引擎的语言排名情况:

C
Java
C++
Objective-C
C#
JavaScript
PHP
Python
VisualBasic.NET
Visual Basic
  完全不科学的调查

  如果我们结合上面四个排名情况,可以得出下面这个结果:

Java (all)
JavaScript
PHP
Python
C / C++
C#
Objective-C
Ruby
Visual Basic
  在这里我合并了C和C++,忽略了 CSS 和 shell 脚本。CSS 并不是一种编程语言。shell 脚本是无论你采用什么技术都对你有用的,不过如果你只会这个你将很难找到工作。

  观测与警示

  GitHut 和 RedMonk 的结果很相似,不过这是可以预料到的。因为它们都是使用 GitHub 作为主要的数据来源。都是分析公共的存储库,这影响了结果指向开源技术。

  TIOBE 受搜索引擎资源的影响,这可能就是为什么C排名靠前的原因——该语言始于 1959 年,拥有许多历史文献。新语言不可避免的出现了排名靠后的情况,例如 Ruby 和 Go。

  教育资源可能会影响结果。例如 Python 是常用的学校和学习编程途径,成千上万的学生问问题和完成项目。不过根据我的经验来说,Python 的工作相比 PHP 和 Ruby 来说是罕见的。Java 也有类似的情况,因为它在教育、网络、桌面和移动发展上有各种各样的用途,所以它们的排名会相对靠前。

  本地开发者的需求仍然很高,尤其是在相关工作的调查中可以看出。RedMonk 报告 Swift 在不到六个月的时间里上升了 46 个排名达到第 22 位。然而应用开发是一门年轻的学科。目前有更多的 Web 和桌面编程职位空缺着。

  最后,语言使用方面也有一个影响:

一个单一 Web 网站和应用需求大量的技术,这可能引发桌面语言排名靠前的情况;
你可以通过 CSS、JavaScript、PHP、Ruby、Python 或 shell 脚本快速的创建几行代码,但是通过C、C#、Objective-C 和 Java 这类语言却不一定能够完成。
  趋势

  拿今天的图表来比对 2014 年来自 RedMonk 和 Jobs Tractor 数据,你会发现几乎没有什么改变,没有新进入或大飞跃进入前十的语言。

  调查不会告诉你这些

没有最佳语言。
  鲜有开发者会通过单一技术工作而富有。如果你考虑的是客户端 JavaScript,当你没有充分了解 HTML、CSS 等等,你不会走的太远。你需要的越多,学习掌握的也就越多。

  所以

  调查很有趣,但不要拿你的事业作为赌注。记住:

仅基于调查数据或报酬前景来选择一门语言将会失败。
  成为一个伟大的开发者有一个秘密:

放手去创建东西。
  首先,发现一个问题——特别是对你有利益或有好处的。也许就是创建一个简历网站、组织你的财务状况或自动化你的家,无论是什么,确保目标是可以实现的。

  然后选择一组合适的技术,或许有几个选择。但是不要试图去“强迫”某些语言:你可以在 Perl 中创建一个本地移动应用,但是资源是罕见的。

  接下来创建解决方案:Google、代码示例和同道开发者都会对你有帮助,不过别期望它们可以提供所有问题的答案。你的项目是(或应该是)独特的程序,只有一个人能教你,那就是你自己。

  最后,不要期望一夜之间就变成一个编码忍者。有些人有一种天然的能力,但也是花了很多很多时间来磨练他们的技能,不断的学习新的技术和技巧。

  总之,学习一门最好可以帮你解决实际问题的语言。不要在意技术的过时,因为所有语言概念上的类似让你的技能是可转换的。不要担心你的选择——just build something!

未经允许不得转载:冰点网络 » 2015年学什么编程语言最好?

分享到:更多 ()

评论 抢沙发

评论前必须登录!