谈谈编程语言的选择

常常有新人问我,我该学哪一门编程语言呢?编程语言太多了,我都不知道该选择哪一门编程语言来深入学习了!是的,我也曾被这个问题所困恼,当初学习软件编程时也经历了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全栈,而是很难每一块、每一个细节都能一样的达到较高水准。随着软件开发分工的越来越细,还是让更专业的人来做为好。你可以在有时间有精力的情况下,了解一下其它领域的技术,扩充知识面,但不要本末倒置。

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

时间: 2024-10-08 10:29:35

谈谈编程语言的选择的相关文章

简单谈谈编程语言(三)

?????? 本文续上一篇简单谈谈编程语言(二),最后再谈谈编程语言.这篇很有可能是最后一篇了,也是时候整理一下我之前的一些文档了,这篇谈谈对编程语言专精的必要性,或者选择一精多涉猎的战术,谈谈一些学习心路,而,共性,就是我这篇文章表达的核心.第一篇文章谈历史,第二篇文章谈历程,都是第三篇的基础,之后就靠大家自己去实际学习中感受文章中所表达的了. ?????? 经过前两篇对编程语言不同层面的描述,其实大概对编程语言学习的畏惧心理可能已经没有那么大了,也可能也因为编程经验相对少感受不深,也可能因为

编程语言的选择(perl和python)-我的一点心得

相信有很多人初学编程的人会在语言选择困难症.说白了,我认为大多数人都害怕自己选择的语言会被淘汰或者使用不广泛,今天我就来谈谈关于编程语言选择的那点事. 我想拿perl和python来举例说明,因为这两门语言的关系就跟java和c++一样,perl阵营和python阵营都各自有各自的理由. 语言的选择和操作系统的选择很类似,有的人爱用linux有的人爱用windows,至于说到底是linux好还是windows好,谁也说不清.在日常工作中,windows无疑有巨大优势,但是在专业领域,linux反

入门编程语言的选择问题

目前国内很多学校计算机学科各专业(注意没有考虑其他专业)学习的第一门编程语言大部分是C/C++,但是国外许多大学有选择Java,Python等作为入门语言. 大体来说,我赞成C语言一定要学,但是否作为入门语言值得进一步尝试. 一般来说,反对C语言作为第一门编程语言的理由比较难学,更贴近机器而不是贴近人. 而支持的理由也非常明显:因为贴近机器,C语言可以把计算机专业的课程体系贯穿起来,例如数据结构,操作系统,网络编程,编译等课程采用C语言来实现是非常自然的事情. 参见下面的讨论 C语言和Pytho

我对编程语言的选择上存在困惑

对于选择计算机语言我真的很困惑. 我一直是个贪心的人.要学就学最好的东西.可是,问题是我学的懂吗?残酷的事实告诉我,我真的是普通人.我懒惰,我拖延,我自控力差.我有一大堆的偏见.对于自己的不喜欢的东西,完全不去思考为什么?可能是因为浪费时间去和自己不喜欢的东西扯淡,这好窝心.也许吧.我想问问我自己,应该怎么办? 问:我第一次学习的时候应该学哪一种语言? 答:对这些语言分别找一本经典书籍,然后,你觉得哪本书看下去,就学哪个. 问:我学的这个语言不够强力怎么办? 答:自己升级呗,我相信,当你发现你的

学习算法和数据结构编程语言的选择

   在上一篇文章中,我阐述了算法的重要性,在这篇文章中,我将阐述为什么写算法最好使用C语言.    C++作为老牌的语言.编程语言的老大哥,在各种编程环境中都占据了市场,尤其是在算法竞赛和研究生机试阶段,在后起之秀Java和Python面前,没有丝毫的落后.C++给我的整体感觉是简单和基础,很多学校的计算机系都以C语言作为学生的第一门编程语言,就是因为这个原因.现在的算法竞赛大多使用的语言基本就是C.C++.Java.Python,这四种语言是常年占据编程语言排行榜前几名的语言.    C++

[心得]谈谈程序员选择书籍方面的一些感想

说实话,在这个发展迅猛的时代,不读书就不能有自我竞争力,读书而言显得尤为重要.而做为一名程序员而言,通过读书来提升的技能,就更为重要了.而问题就来了,我们在选择书籍的时候就显得有些迷茫.因为在这个功利的社会,就我们国内的IT方面的书籍市场真是鱼龙混杂,而我们单纯的程序员说实话很难甄别出书籍的好与坏.优与缺.因为我们这方面的书籍每本都是很贵的,如果买的翻至两页感觉不适合自己的时候,那种感觉真的很伤. 就目前我们国内关于程序设计方面的书籍,真是凤毛麟角,优质的书籍真的很少.不管是原创的还是翻译的,真

编程语言的选择

Civil3D只提供了.NET API,不提供C++ API (AutoCAD同时有.NET API和C++ API,.NET API封装了C++ API),因此支持.NET的语言都可以使用.常见的语言如C#,VB.NET,C++/CLI,F#.语言选择的首要选择是找自己熟悉的,比如本来就会VB.NET的,那么就选择VB.NET. C++/CLI功能强大,同时兼顾了C++和.NET的功能,但是用起来麻烦,没什么特别的理由,不要去选这个. F#是微软推的函数式语言,同样功能强大,但是估计没几个人会

Java or Python?测试开发工程师如何选择合适的编程语言?

很多测试开发工程师尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对正确的选择确实要比盲目投入更明智也更高效. 目前最常见的情况是纠结选择 Java 还是 Python?关于这个问题,我搜索了之前的相关博客,也特意请教了几位资深的测试技术专家,在这里做一个汇总整理,集"各家"之言供大家参考.也欢迎各位朋友根据自己的经验回帖补充意见. P.S. 有一点需要强

从一个开发者的角度评价编程语言

这其实是一个比较老的话题了,关于各种语言的好坏选择网上怎么说的都有,有趣的是所有的争论占据伤风的总是一些脑残粉,对于编程语言的选择不同的人有不同的看法,我大致分为以下几类: 1.搞开发的 2.搞教育的 3.搞科研/学术的 4.业余的 5.其它 我是做开发的,这篇文章主要是从开发者的角度,根据多年来各种语言的使用经验来谈谈主流的编程语言,这些语言包括(C.C++.D.Go.Java.C#.Delphi.VB.PHP.Python),没有列出的语言表示我没用过,所以也不好评价. 我认为一个好的编程语