分享

2017应该学习的最佳编程语言?

 正则室 2017-06-12


 

许多开发者都会定期审视自己的技能树和职业选择,如今有不少“最佳编程语言”评选数据来源,这是否为我们提供了参考?


Stack Overflow 开发者调查

超过173个国家的56,000名开发者在2016年底参与了Stack Overflow发布的调查,其中

最常使用的技术语言:

JavaScript — 55.4%

SQL — 49.1%

Java — 36.3%

C# — 30.9%

PHP — 25.9%

Python — 24.9%

C++ — 19.4%

AngularJS — 17.9%  (JavaScript framework)

Node.js — 17.2%  (server-side JavaScript)

C — 15.5%


开发者最喜欢的语言是:

Rust — 79.1%

Swift — 72.1%

F# — 70.7%

Scala — 69.4%

Go — 68.7%

Clojure — 66.7%

React — 66.0%

Haskell — 64.7%

Python — 62.5%

C# — 62.0%


开发者最恐惧的语言:

Visual Basic — 79.5%

WordPress — 74.3%

Matlab — 72.8%

Sharepoint — 72.1%

CoffeeScript — 71.0%

LAMP — 68.7% (Linux, Apache, MySQL, PHP)

Cordova — 66.9%

Salesforce — 65.4%

Perl — 61.3%

SQL — 60.3%


开发者们有兴趣学习的技术方向

Android — 15.8%

Node.js — 14.8%

AngularJS — 13.4%

Python — 13.3%

JavaScript — 11.9%

React — 9.2%

Swift — 8.7%

MongoDB — 8.1%

Arduino / Raspberry Pi — 8.0%

C++ — 8.0%


Stack Overflow最常被提问、讨论和投票的技术方向

JavaScript — 16.6%

Java — 14.7%

Android — 11.5%

Python — 11.4%

C# — 11.1%

PHP — 8.6%

jQuery — 6.7%

C++ — 6.6%

HTML — 6.6%

iOS — 6.3%


PYPL (流行编程语言指数)编程语言相关教程被搜索的频率占比:

Java — 23.1%

Python — 14.4%

PHP — 9.7%

C# — 8.4%

JavaScript — 7.7%

C — 7.1%

C++ — 7.0%

Objective—C — 4.4%

R — 3.4%

Swift — 3.0%


TIOBE Index 根据搜索引擎数据评选最佳编程语言:

Java — 17.3%

C — 9.3%

C++ — 6.3%

C# — 4.0%

Python — 3.5%

VisualBasic.NET — 3.0%

JavaScript — 2.9%

Perl — 2.7%

Assembly Language — 2.7%

PHP — 2.6%


2016年上升最快的是Go语言,从榜上无名到13位(2.3%)。Java虽然以近C语言两倍的差距占据榜首,2016年还是下降了4.19%。


调查告诉了我们什么?


事实上没有什么。

数据结果看着有趣,但总是矛盾的,数据收集的方式也总是受到局限:


  • 搜索引擎数据对于老旧的,问题频发的语言以及普及更广的语言更有利

  • 在线调查会受到特殊受众的局限,Stack Overflow的开发者多是相对更在行的程序员,更容易在流行语言和框架中提出问题。

  • 历史的使用模式对于未来趋势的映射越来越少,Node.js在十年前还不存在,20年前,Perl和C语言还是服务器端开发最常用的语言选择。


举个例子,所有的调查排行中,Java的排名都高于PHP,但Java通常被应用于教学和开发控制线程、桌面和原生安卓应用。而PHP被用于82.4%的网页服务器,Java只有2.7%。


数据以外,其他编程者的建议


许多“最佳编程语言”文章吸引了大量的关注和评论,每个人都有自己的观点。然而,没有一个开发者会对每种语言都有开发经验(尽管有人会多种语言)。

每个人给出的选择都是有偏见的。人们倾向站队自己正在使用的语言,不然,他们自己就得做出改变。

他人的开发经验是很有用的信息,但是也许你并没有与ta有相同的需求,或者他的那套经验对你而言并不适用。


并没有什么“最佳语言”


如果你学会了驾驶,那么这项技能可以用来开巴士、卡车,或者拖拉机:)相似的,计算机语言其实就是在应用 input、output、变量、循环、条件和函数。学会了语言基础,学习另一种语言就会很容易,最大的不同仅仅是语法的变化。


你是在问right question么?


那些富有经验的开发者很清楚自己的处境,他们知道自己的技能之间的断层:


  • 如果你花费很长时间人工操作表单数据,那就投入精力来学习宏语言;

  • 如果你开发了网页但对其布局不甚满意,很明显,提高你的CSS知识是你下一步要做的事;

  • 如果你正在开发一个服务器应用需要存储数据,学习SQL将是一个合理的选择;


那些提问“我应该学习什么语言?”的人大多刚刚接触编程开发这个行业,这种空泛的提问就好比:我应该穿什么衣服?如果不知道你的年龄、性别、身型、品味、偏好、国家、当地天气、风俗、场合……没有人能够给出答案。


想得到学习语言建议,确认几个问题:

你是否热爱编程?

你想要解决什么问题?

你可以使用的硬件和系统?

你将投入多少时间和学习机会来对待这门语言?


Keep Learning

尽管给出建议并不一定适用于你的情况,但还是提供一些tips给编程学习者:


  • 如果你大部分时间都在做前端,尝试一些后端内容。挑选PHP、Node.js、Ruby里你感兴趣的一种,再把SQL加入你的技能树里;

  • 如果你是后端开发,学学HTML、CSS和JavaScript。浏览器接口和数据表单例如JSON都是很有帮助的。

  • 框架不是本质,基础语言的学习才是。无论圈子里刮起怎样的风潮、流行什么工具,知识是无价的。

  • 即便你并不打算成为全栈,至少,多了解和掌握几门语言,这能够帮助你理解他人的工作,对于项目和团队很有帮助。


Best of luck,停止拖延,别再纠结应该学习哪门语言:Just start coding!

文章来源: 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多