我们到底该选择学习哪一门语言?(观点仅供参考)

  关于编程语言的选择,我一直认为你选择了什么样的编程语言,就会在以后大概率走上什么样的道路。如果你一开始就把编程语言选错了,你将会走许多弯路,最后不得不回到“正确的道路”。说到这,可能会有人反驳说:“语言只是工具”!确实,语言只是工具,但是你有见到过用 Java 搞科研、用 C 写网站后端的人吗?大概率是没有。

  在我的学习历程中,我始终觉得许多人(包括我在内)在一开始并没有对计算机学科建立起比较全面的认识,导致在学习时经常充满迷茫,我该学什么好?这个我需不需要学?我学了这个以后有什么用?带着这些迷茫,一部分人会就此放弃、倒在了入门之前;而另一部分人则会不知所措的学习,看似学过许多技术,但是却始终写不出一个能用的程序。
  在接下来文章中,我会就一些常见的编程语言进行讲述,在每一种编程语言的论述中,我都会先讲述它能干什么,然后讲述怎么学习,最后讲述在学习该编程语言的同时你还需要学习哪些内容。

  1. Java语言:

  选择了 Java ,也就相当于你选择了在本科毕业之后直接工作。Java 在现阶段最主要的应用就是企业级开发与安卓程序开发。Java并不适合科研,对于想以后考研(从事科研领域)的你没有太大帮助,反而会耽误你学习 Python,而 Python 才是现阶段科研领域所使用的语言。

1) 企业级开发:企业级开发也就是在企业工作,需要一定的技术功底,但是现在校园里大多数人还停留在 Java 的基础阶段,毕业即失业。众所周知,几乎所有的大型网站与软件都拥有后台管理系统,我们的任务就是为前端程序编写后台管理系统。选择了这条路,你会慢慢接触到许多以前在学校从来没有见到过的技术框架、云原生技术(直接在云上开发应用、部署应用),不要指望学校会来教你,学校并不会。主流的开发软件是 IDEA,而不是 Eclipse。
2)安卓程序开发:虽然 Java 也可以用于安卓开发,但是近几年出现新语言 Kotlin 正在慢慢的侵蚀 Java 在安卓开发领域的份额。总体来说,Kotlin 比 Java 更适合安卓开发,不过你并不需要为此焦虑,因为 Kotlin这门语言写起来跟 Java 很像,甚至有人把 Kotlin 称为“另一门 Java 语言”。我的建议是在学习完 Java 之后可以试着入门 Kotlin,把握住安卓未来的发展方向。
  当然,在 Java领域要学习的东西不只这么多,以上只是主要的学习线路,其他你还要学习的知识包括但不限于:Git、HTML/CSS/JavaScript、HTTP协议、TCP/IP协议、Linux、mysql、Mybatis、redis、mongoDB、Nginx、RocketMQ、Docker、Kubernetes。


  1. Python语言:

  Python 是一把科研的利器,对于以后只想考研的同学大有裨益。在我看来,Python在现阶段主要应用领域为科研与大数据分析,少部分应用在 web 应用开发、游戏开发。主流的开发软件是 PyCharm。

1) 科研:科研 = 从事研究工作,这是想考研的同学避不过去的一道坎。Python 近些年来在人工智能领域大放异彩,自然也成为了从事科研人员的首选语言。人工智能研究包括自然语言处理、物联网开发、自动化推理等,这其中会涉及到很多算法(数学),对于没有兴趣的小伙伴可能会觉得异常痛苦,有兴趣的则乐在其中。在这里,由于我不熟悉科研领域的相关学习路线,所以不给出直接的学习路线建议。

2) 大数据分析:大数据分析主要涉及到爬虫与数据分析。与科研不同,这条道路未来的方向是就业,主要从事企业级数据分析与自动化流程开发等。
  当然,在 Python 领域要学习的东西也不只这么多,其他你还要学习的知识包括但不限于:Git、HTML/CSS/JavaScript、HTTP协议、TCP/IP协议、Linux(重点)、mysql、mongoDB、网站爬虫、抓包。


  1. C/C++/C#:

  C、C++ 与 C# 其实是三门不同的语⾔,但可以把 C++ 与 C# 看作是 C 语言的两个不同分支。现阶段 C 的主要应用领域在于底层开发,针对操作系统层级;而 C++ 不仅在底层开发有所应用,而且在游戏开发领域也是领头羊,对于以后想从事游戏开发的小伙伴,C++ 绝对是你的首选;C# 在现阶段的主要应用领域是桌面软件开发,也就是为电脑开发软件,目前国内主攻这一方向的公司较少,大多数是外国公司。


  1. JavaScript语言:

  JavaScript 跟 Java 两者名字虽然相似,但其实是两门不同的语言,关于他俩之间的具体关系,这里不作过多介绍。JavaScript 目前的应用领域很广,既可以作前端开发(如网页开发、小程序),也可以作后端开发(如 NodeJS),是当下开发领域比较活跃的一门语言。

​ 学习 JavaScript 会首先接触到三大组件“ HTML/CSS/JavaScript ”,这三门技术合在一起就是整个前端开发的基础、重中之重。三大组件入门很容易,但是想要精通却并不容易,尤其是在前端开发中会涉及到许多关于“美”的定义,需要开发人员具备一定的审美能力。在这里,你将接触到像 Vue.js、React这样好用的框架,主流的开发软件是 VScode、WebStorm。


  总结:Java 适合企业级后端开发与安卓程序开发,Python 适合科研与大数据分析,C/C++ 适合底层开发与游戏开发,C# 适合桌面级软件开发,JavaScript 适合前端开发(网页、小程序类)与轻量级的后端开发。

编程语言应该如何选择?相关推荐

  1. Joshua Bloch访谈:选择编程语言就像选择酒吧

    ■ 文 / Peter Seibel 译 / 郝培强 本文是Commmon Lisp专家Peter Seibel对Google公司首席Java架构师Joshua Bloch的访谈,谈到程序员应该看什么 ...

  2. Google首席Java架构师访谈:选择编程语言就像选择酒吧

    文 / Peter Seibel 译 / 郝培强 本文是Commmon Lisp专家Peter Seibel对Google公司首席Java架构师Joshua Bloch的访谈,谈到程序员应该看什么书. ...

  3. 30种编程语言的比较选择问题

    2019独角兽企业重金招聘Python工程师标准>>> 本文涉及到的编程语言:C.C++.Java.C#.Prolog.VB.Scala.Clojure.Haskell.Ada.Py ...

  4. 学python还是go会php_现在想再学习一门编程语言,应该选择go还是python?

    再学一门编程语言,选 Go 还是 Python ?这个问题需要从几个角度考虑! 一.现在掌握的语言是哪种类型 首先肯定是服务端开发,要不然应该不会说选 Go 还是 Python. 1.如果现在掌握的语 ...

  5. 这么多编程语言,初学者选择哪个比较好?

    目前市面上比较流行的开发语言有:C.C++.Java.php.html.Python.这么多开发语言,对于零基础的初学者来说,选择一门语言一定要满足2个需求: 1.简单易学,易上手: 2.学完后可以找 ...

  6. 初学python还是swift-零基础如何选择编程语言 小白的我研究了3个月得出一个结论...

    导语:去年的某个下午,我突然决定自学编程. 然而我碰到一个困扰我很久的问题--我应该学习哪一门编程语言? 后来我花了3个月时间,查看大量知乎的资料.询问w3cschool的程序员(也就是我同事).再调 ...

  7. 孩子学编程,作为教育者该如何选择编程语言?

    我最常被老师和家长所问到的一些问题是:我应该选择哪一种编程语言来教孩子编程呢?坚持选择像Scratch这样的图形化编程语言作为开端很重要吗?应该在什么年龄转换到学习代码编程呢?还有我应该如何在Pyth ...

  8. 又要头秃?2020年七大AI编程语言大盘点

    作者 | Claire D 译者 | 苏本如,编辑 | 伍杏玲 来源 | CSDN(ID:CSDNnews) 人工智能已成为我们日常生活不可或缺的一部分,它被广泛地应用到几百种实际场景中,极大地便利人 ...

  9. 2020 年最强大的 10 门编程语言

    作者 | 沉默王二 来源 | 沉默王二(ID:cmower) 对于很多初学编程的人来说,尤其是马上要入学的大一新生来说,选择哪门子编程语言实在是个痛苦的事.选择对了,毕业后顺利找到工作,完美走向职场: ...

  10. 在哪里学python好-为什么要选择学python,亮点在哪呢?

    为什么是python呢  现在有很多的编程语言为什么要选择python呢 其实最初的出发点就是为了便利学习,在我所见过编程语音中python是最容易编写最容易阅读也是最理解的 有些人觉得那么学习pyt ...

最新文章

  1. Java的API及Object类、String类、字符串缓存区
  2. LinDaiDai的 2019 面试准备
  3. Eclipse运行Applet没有显示图片,getCodeBase,getDocumentBase
  4. 能否用痰盂盛饭——谈谈在头文件中定义外部变量
  5. 反射获取构造方法并使用【应用】
  6. Java 之 内部类
  7. 江小白包装设计原型_江小白品牌策划、包装设计成功的点在哪?
  8. python-操作数据库的练习
  9. 华为全球最快 AI 训练集群 Atlas 900 诞生!
  10. undefined reference to '__android_log_print'解决方案
  11. matlab listbox选中输出,vba中ListBox控件的使用
  12. C语言:编写一个程序,打印乘法“九九表”
  13. 如何在 Project 里设置(创建)里程碑
  14. 用单片机C语言精确延时(定时)的方法
  15. 轻量级的java HTTP Server——NanoHttpd
  16. wms仓库管理系统中条形码管理的两大优势
  17. 网易2012校园招聘笔试题目
  18. 边缘检测——Prewitt算子
  19. Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
  20. Decorate Apple Tree

热门文章

  1. 中科院阿里云联合发布11比特云接入超导量子计算服务
  2. 那些被苏宁奖励的人、重用的人
  3. Failed to recurse into submodule path 'third_party/onnx'
  4. com.mysql.jdbc.Connection.isValid(I)Z错误解决办法
  5. 当我阻止应用程序跟踪我的iPhone 1周后我发现了什么
  6. 2.12 变形工具的使用 [Ps教程]
  7. 搭建自己的代理服务器
  8. linux scp命令,linux中scp命令和scp命令用法大全
  9. 10分钟接入腾讯验证码验证平台
  10. 腾讯云申请免费短信验证码