谈谈编程语言的选择

简介: 常常有新人问我,我该学哪一门编程语言呢?编程语言太多了,我都不知道该选择哪一门编程语言来深入学习了!是的,我也曾被这个问题所困恼,当初学习软件编程时也经历了C/Java/C#这样的路线,后来我也接触并使用过C++/Visual Basic/JavaScript/PHP/Python等语言,并了解过一些冷门语言。

常常有新人问我,我该学哪一门编程语言呢?编程语言太多了,我都不知道该选择哪一门编程语言来深入学习了!是的,我也曾被这个问题所困恼,当初学习软件编程时也经历了C/Java/C#这样的路线,后来我也接触并使用过C++/Visual Basic/JavaScript/PHP/Python等语言,并了解过一些冷门语言。多年下来,我对编程语言的理解是每个编程语言的出现都有它出现的理由,每个编程语言也都有各自最适合的应用场景,没有一门语言能够包办所有。

我们先来看一下2016年3月份的世界编程语言排行榜:

这里写图片描述

这里列出了最流行的TOP20编程语言,我们先来分析一下上面一些常用的编程语言。

Java:应用开发领域的王者,JavaEE和Android的如日中天让Java稳居排行榜第一。
C:在操作系统内核、嵌入式开发等方面具有无可比拟的优势。
C++:适合服务端开发、游戏开发等对性能有一定要求的领域。
C#:Java的直接竞争对手,在应用开发领域有相当的份额,Unity3D的流行,也让C#扩充到了游戏开发领域。
Python:动态脚本语言,随着大数据相关技术的发展,份额不断上升。
PHP:LAMP几乎是网站开发的标配,各种框架模板都比较成熟。
JavaScript:动态脚本语言,网页前端开发的唯一选择,随着HTML5、Node.js等技术的发展,让其在Web端有大一统的趋势,在游戏开发、物联网开发等领域也有其一席之地。
Swift/Objective-C:iOS开发语言,Swift正在进化中。

上面我简要介绍了一下目前几个主流语言各自的应用领域。可以说没有哪个语言能够完全替代掉谁,但是也不能保证随着技术的不断发展,这些语言还能保持领先。

选择了一门语言,实际上就是选择了它背后的技术栈,所以我们应该围绕应用领域来选择语言。比如你要做操作系统内核、嵌入式开发,那你就去学C。你想开发游戏,那你可能要去学Cocos2d-x或者unity3d,分别对应了C++和C#,当然JavaScript也行。如果你想实现Web全栈开发,那么你可能需要精通JavaScript。没有一门编程语言能够包办所有。

但尽管如此,初学编程时,第一门语言的选择还是很重要的,会影响你的思维。我想初学编程时还是选择C语言比较好,C++虽然是C的“扩充”,但是规则过于复杂,概念过多,初学者会失去信心。有了C的基础,就可以学一下C++/Java/C#中的一种,这是目前应用开发领域最主流的语言。

近些年大数据的流行以及前端开发的兴起,使得Python和JavaScript两门动态脚本语言不断流行,与之相应的库和框架也不断进化。所以很多人又转向了这方面的开发。这就引出了我的一个观点:学习编程还有一种思想要不得,就是贪图大而全。一个人的精力和能力都是有限的,很难掌握所有。况且各个技术体系的技术还在不断升级。就是全栈工程师,那也是某个方面的全栈,比如web全栈或者app全栈。不是做不到web全栈+app全栈,而是很难每一块、每一个细节都能一样的达到较高水准。随着软件开发分工的越来越细,还是让更专业的人来做为好。你可以在有时间有精力的情况下,了解一下其它领域的技术,扩充知识面,但不要本末倒置。

最后我想说,不要把自己限死在一门编程语言上,根据市场的变化和自己的兴趣合理选择编程语言,让我们做一个真正的程序员。

目录
相关文章
|
6月前
|
C++
C++语言学习面向对象编程应用案例
C++语言学习面向对象编程应用案例
|
8月前
让我设计一门编程语言或开发一套解决框架
让我设计一门编程语言或开发一套解决框架
70 2
|
8月前
|
存储 Java 编译器
GO语言基础语法探究:简洁高效的编程之道2
GO语言基础语法探究:简洁高效的编程之道
|
8月前
|
存储 自然语言处理 编译器
GO语言基础语法探究:简洁高效的编程之道 1
GO语言基础语法探究:简洁高效的编程之道
|
8月前
|
安全 Go C语言
GO语言基础语法探究:简洁高效的编程之道 3
GO语言基础语法探究:简洁高效的编程之道
|
架构师 Java 编译器
Java编程语言特性和优势
## 1 前言 Java是近 10 年来计算机软件发展过程中的传奇,其在众多开发者心中的地位可谓“爱不释手”,与其他一些计算机语言随着时间的流逝影响也逐渐减弱不同,Java 随着时间的推移反而变得更加强大。 从首次发布开始,Java 就跃到了 `Internet `编程的前沿。后续的每一个版本都进一步巩固了这一地位。如今,Java 依然是开发基于 Web 的应用程序的最佳选择。此外,Java 还是智能手机变革的推手,`Android`编程采用的就是 Java 语言。 ## 2 Java语言特性 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多
218 0
Java编程语言特性和优势
|
设计模式 自然语言处理 JavaScript
7 行代码 3 分钟:从零开始实现一门编程语言
本文介绍了多种解释器实现。通过修改最后一个解释器,你应该可以快速测试关于编程语言的新想法。如果你希望有一种语法不一样的语言,就可以构建一个解析器,把 s-表达式转储。这样,你就可以干净利落地将语法设计与语义设计分开。
424 0
7 行代码 3 分钟:从零开始实现一门编程语言
|
Java Linux Go
面试新语言,你确定,不比较下优缺点么
面试新语言,你确定,不比较下优缺点么
109 0
面试新语言,你确定,不比较下优缺点么
|
Java 程序员 编译器
计算机编程语言学习要点
计算机编程语言学习要点
169 0
|
存储 监控 算法
C++常见面试题之基本语言
C++常见面试题之基本语言
266 0