zoukankan      html  css  js  c++  java
  • 谈谈编程语言的选择

    经常有新人问我。我该学哪一门编程语言呢?编程语言太多了,我都不知道该选择哪一门编程语言来深入学习了!是的,我也曾被这个问题所困恼,当初学习软件编程时也经历了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两门动态脚本语言不断流行。与之相应的库和框架也不断进化。所以非常多人又转向了这方面的开发。这就引出了我的一个观点:学习编程另一种思想要不得,就是贪图大而全。一个人的精力和能力都是有限的。非常难掌握全部。况且各个技术体系的技术还在不断升级。就是全栈project师。那也是某个方面的全栈。比方web全栈或者app全栈。不是做不到web全栈+app全栈。而是非常难每一块、每一个细节都能一样的达到较高水准。

    随着软件开发分工的越来越细,还是让更专业的人来做为好。你可以在有时间有精力的情况下。了解一下其他领域的技术,扩充知识面。但不要本末倒置。

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

  • 相关阅读:
    使用postman模拟上传文件到springMVC的坑:the request was rejected because no multipart boundary was found
    win10 安装多个版本的jdk,如何切换
    String类的substring方法
    tomcat7.0配置CORS(跨域资源共享)
    win7下安装centos6.5后,开机无法进入选择双系统启动界面,只能启动centos的解决办法
    java位运算
    JDK源码--ArrayList浅析
    使用Jasperreporter生成入库出库单打印等报表操作
    centos6.5下安装zip格式的tomcat7和tomcat8,并同时运行
    Centos7配置文件共享服务器SAMBA三步曲(转)
  • 原文地址:https://www.cnblogs.com/llguanli/p/8481851.html
Copyright © 2011-2022 走看看