培训java还是Python?

本文探讨了近年来编程语言的发展趋势,特别是Python为何迅速崛起并超过Java。Python因自动化测试、大数据、AI等领域的广泛应用而火爆,而Java作为「常青将军」,其地位依然稳固。文章还对比了两者的发家史,并指出编程语言的难易不应成为选择的唯一标准,理解编程原理更为重要。
摘要由CSDN通过智能技术生成

写在前面:到底选java还是Python,我们务必先了解这几个源头上的问题:

1、近年编程语言发展趋势

2、为什么Python会突然这么火

3、JAVA 和 Python 发家史对比

4、正确看待编程语言的难易

1、近年编程语言发展趋势

据 PYPL 榜单得知:自2018年5 月 Python 以 22.8% 的指数首次超越 Java 拿下榜首后,随后几个月 Python 继续保持上涨趋势,在最新公布的 PYPL 12 月指数榜中,Python 以 25.36% 的份额甩开 Java(21.56 %),并逐渐与 Java 拉开差距。

(PYPL 指数的计算形式更为直接 —— 只基于 Google trends 数据。它根据编程语言在 Google 上的搜索频率(次数)来评估语言的流行度。)

Python、Java 和 JavaScript 的指数走势如下图:

可以看到,尽管python有异军突起之势,但Java这“常青将军”绝非浪得虚名,一直居高不下。

2、为什么Python会突然这么火

由于自动化测试、大数据、AI、数据科学、机器学习的库的盛行,这些都涉及到Python语言。另外,由于这是一门简单又能赚大钱的编程语言,能够满足一些基础应用系统的的开发的需求,企业加大了对Python从业人员的招聘。这一点与近几年虚火很旺的Web前端开发很像。有些Python开发人员并没有特别牛逼的技术能力,但是薪资水平却很诱惑人。

一张图看看便知道:

3、JAVA 和 Python 发家史对比

(1)Java是一门静态面向对象编程语言,于1995年推出。它不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java语言的定位是给专业的程序员开发设计桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等大型复杂的编程。

(2)Python是1991年推出(比Java还早4年)是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),主要定位于系统管理,科研,教育和非程序员群体等。随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

对于Java开发全栈方向的学生,是让他们学习Java编程和JavaScript编程;对于软件测试方向的就业班去学员学习Python,因为他们并非专业的程序员群体;而对于软件测试方向下属的自动化测试开发高级研修班,是Java/Python两个方向同时存在。

4、正确看待编程语言的难易

Python的培训教程的广告宣传都在强调这门语言相比Java上手更简单,但我看来,这正是我不建议转行去学的原因。

先举个有趣的例子,中国人使用的餐具是筷子,也可以很轻易换成刀叉,而欧美人用筷子却很难。这就像是我们学会了一门难度较大的编程语言,再去学难度小的编程语言很更容易上手是同样的道理。

正如Python的简单一样,这是有原因的。我们知道,Android开发的各种开源库集成后,调用几行代码就可以轻易实现一个很复杂的功能,因为你调用的是别人帮你用复制的原代码写好的封装接口,所以你认为它使用起来很简单。

Java相对更原生一点,实现一个功能写的代码要稍微多一点,但是自己动手封装,调用时也可以很简单。而这个封装的过程,才是编程真正重要的部分,它可以让你知道更多代码的实现原理。这一点就像C语言,由于C语言更原生,更底层,几乎没有提供太多封装好的代码接口,所以很多人认为C语言很难。但是,优秀的程序员更喜欢自己动手去创造。相比起C语言来说,Java和C#之类的已经封装了太多可以直接用的类库和接口,使用起来容易得多。所以,编程语言的源代码是必须要去学习的,我们一定要知道这些封装好的代码接口的实现细节。

这个世界上99%的人都会选择一条容易走的大路,因为人都喜欢安逸。这也是人的大脑的思维方式决定的,因为大脑的使命是为了让你生存,而不是求知。但成功是总是属于那1%的人,这类人是坚持让大脑做不愿意做的事的人——求知。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值