人生苦短,Python、Java“二选一” 真有那么难?

2018 年 4 月 26 日 CSDN 琥珀

点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

不知道瞧不起Java和Python的同学看到这篇文章后会不会哭晕在厕所。本篇,我们仅讨论Java和Python之争。

“Java是不可动摇的老大,而Python势头正猛”,直到现在,这对于想要学习编程语言的0基础同学来说,二者怎么选仍是一件抓耳挠头的事儿。

翻遍知乎与Quora,许多已经成为或者想要成为程序员的网友们围绕这一主题,进行了深入探讨。

简单总结一下,赞同Java的网友认为:

“如果你是0基础并且从来没有体系地学习过编程,那么最好选择Java作为人生第一门语言。因为这不仅仅是理解代码运行过程的问题,同样还需要理解什么是类、算法、流程图、库、函数、以及面向对象的概念。”

“初学者一旦理解这些细节,后面只需要花极少的时间,就可以基本学会C++、JavaScript、PHP、Python、R、C#、Objective-C、Swift、Go。”

“当我们学会了一门技术难度要求更高的技能以后,再去降级学习难度更低的技能是非常容易的一件事情,反之则不然。”

而赞赏Python的同学@changjiz则表示:

“首先Python作为一门脚本语言,很容易入门。编程并不是说掌握一门或几门语言就足够了,重在提高思维能力。而Python容易入门,工具多,短短数行代码就可以实现一个强大的功能,增强初学者的信心,另一方面让初学者有一个对编程思维的初步理解。

在这之后再学习Java,首先语法很容易入门,再者对编程有一定理解后,才更能体会到类、继承、接口,甚至之后接触各种框架,这些内容对于大型项目带来的优势。”

诚然,从Python和Java二者的学习难度上讲,后者的难度不言而喻。如上图所示,同样写一段“Hello,World”的代码,在Python环境中可以用更为直观的编码方式呈现。也正因如此,Python大大降低了初学者的学习门槛。

不过,就实际情况来讲,初学者学习任何一种语言都需要综合考虑是否适合自己。在此笔者先抛给大家一个问题:如果给你机会尝试学习一门人类语言(例如法语和日语),你会选择哪个?虽然多数同学嘴上说要跟着兴趣选择初级难度较大的法语,但身体还是很诚实地拥抱了容易上手的日语,到最后则因缺乏兴趣和明确的目标而不了了之。这样的场景是不是似曾相识?

因此,科学判断和选择你的第一个编程语言更为重要。


使用情况:


与Java相比,Python拥有不断被增强的数据分析工具包,能与各种语言进行协作,支持多种操作系统和多类型的数据库,可以说是比Java更为高级的语言。

例如,在开发效率上,Python所需要编写的代码量比Java所需的代码量更短。在Java环境中,只有变量名称与变量类型和对象本身相关;而在Python环境中,每个变量都与该对象相关联,用户在创建变量时不必声明变量类型。

不过,在运行时间上,Python在程序执行时间上比Java慢三到五倍。

此外,与静态类型的语言Java相比,Python属于动态类型。这也就意味着:同一件事情可能取决于上下文而发生改变不同。随着Python应用程序变得越来越大,越来越复杂,可能未来因为错误难以追踪和修复而很难进行维护。因此,也更加需要从业者的相关经验和洞察力知道如何设计代码或编写单元测试,以简化可维护性。

通过以上对比可以发现,从开发效率上讲,Python语法简洁、容易上手,从运行时间和运行效率上讲,Java则更胜一筹。


趋势:


近段时间以来,在各大权威榜单上,Java仍霸占榜首,但Python的势头也很强劲,甚至有后来居上的意味。在GitHub 2017年度报告中,Python 超越 Java 成第二受欢迎语言。

在 ranked.com 的排名中,Python 是 2017 年最受欢迎人工智能编程语言。根据 Stack Overflow 流量统计,2017 年 6 月,Python 第一次成为高收入国家 Stack Overflow 访问量最大的标签。

在 TIOBE 2018 年 4 月编程语言排行榜前 20 名中,Python 已跃居到第四位,前三分别为 Java 、C、C++。

根据CSDN公布的中国软件开发者调研数据显示,尽管Java依然是开发者使用最多的编程语言,Python成为越来越多的开发者未来计划学习的编程语言首位。


顶层建设:


2014年,据计算机协会(ACM)发布的一项调查表明,Python已经超过Java作为向美国学生介绍编程和计算机科学的顶尖语言,十大计算机科学部门中有八个使用Python来教授编程。这表明Python已是教授计算机科学入门课程最流行的语言。

回到国内,随着Python 进入小学课本、Python 进入浙江省高考、国务院发布《新一代人工智能发展规划的通知》等顶层建设的不断完善,全民学习Python的热潮正不断升温。


应用范围:


基于人工智能和机器学习的热潮,很多科技公司都在应用 Python 语言。如在谷歌,有谷歌爬虫、谷歌广告、Google App Engine、Google earth 等;在腾讯,有基于 Python 开发的蓝鲸游戏运维平台;而 YouTube也同样使用 Python 语言开发;在 Facebook,有大量的基础库均是通过 Python 实现.....

此外,还有诸多通过Python 实现的功能应用,比如利用 Python 爬取网页制作电子书用 Python 编写 Face ID 破解 iPhone X用 Python 快速实现区块链、用Python写小游戏、甚至用Python写一个自动抢票的脚本。

而Java的应用范围更为广泛,并垄断了企业级应用的开发。

总的来说,这两种语言对开发人员和最终用户来说都具有独特的优势。


薪资水平:


数据来源:100Offer

根据100Offer 1月发布的一项调研报告显示:2017是十大互联网热门岗位中,Java仍是需求量最大的岗位,而Python的需求量相对靠后。然而,从薪资水平上讲,Java岗位薪资水平稍逊于Python。

1995年,Java1.0版本发布。直到最近,Java 10正式版发布(Java11也正在行走的路上……),如今,它被广泛应用于智能手机和平板电脑的关键编程平台。而Python则于1989年首次发布,作为一种高级编程语言,它为可读代码提供了强有力的支持。

总的来讲,无论选择哪种语言,对于走上技术之路的程序员都会有各自不同的优势。而对于初学者而言,更重要是如何将不同语言之间的相似之处关联起来,去不断领悟各种不同的语言、不同的平台的的相似点。

毕竟,重要的是编程能力,而非仅仅某一种语言。


奉上近段时间在YouTube上火爆一时的“Which Programming Language Should I Learn First?”视频,主讲人Craig Dennis给出了自己的见解,希望给予你更多的思考。

当然,如果你已经做出了选择,那么我将毫不犹豫地向你推荐:CSDN 学院开设的 Python 课程。

本课程内容由浅入深详细讲解了Python整套开发流程,包含:Python基础、Python Web开发、Python爬虫技术、Python自动化运维、Python数据挖掘与数据学习五大模块,阶段性项目实战会让你更加贴切工作。

你可以学到:系统运维、图形处理、数学处理、文本处理、数据库编程、网络编程、Web编程、多媒体应用、pymo引擎、爬虫编写、人工智能等等。

如果在学习方面,你还有任何的疑惑,比如学历、就业前景等等,均建议扫描下方二维码加课程老师好友咨询。除了针对这些问题答疑解惑之外,现在还可提供千元优惠券还等什么,扫一扫咨询吧!

(扫一扫联系 Python 老师,获取完整大纲及千元优惠)

当然,你还可以直接点击阅读原文」,获取免费试听资格和千元优惠券!

登录查看更多
1

相关内容

Java 是一门编程语言,拥有跨平台、面向对象、泛型编程等特性。
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
198+阅读 · 2020年6月29日
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
93+阅读 · 2020年6月28日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
239+阅读 · 2020年5月21日
算法与数据结构Python,369页pdf
专知会员服务
165+阅读 · 2020年3月4日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
216+阅读 · 2020年2月21日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
182+阅读 · 2020年1月1日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
吃鸡手游竟然是Python写的?
机器学习算法与Python学习
7+阅读 · 2018年9月11日
各编程领域最好的入门书籍
程序猿
28+阅读 · 2018年7月29日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
2年Java经验,真的就拿不到30万年薪吗?
程序员观察
3+阅读 · 2018年4月8日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
速看|Python 拯救你的人生颓
机器学习算法与Python学习
4+阅读 · 2018年3月16日
Python NLP 入门教程
开源中国
14+阅读 · 2017年10月1日
Next Item Recommendation with Self-Attention
Arxiv
5+阅读 · 2018年8月25日
Arxiv
3+阅读 · 2018年5月21日
Arxiv
5+阅读 · 2016年12月29日
VIP会员
相关VIP内容
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
198+阅读 · 2020年6月29日
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
93+阅读 · 2020年6月28日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
239+阅读 · 2020年5月21日
算法与数据结构Python,369页pdf
专知会员服务
165+阅读 · 2020年3月4日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
216+阅读 · 2020年2月21日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
182+阅读 · 2020年1月1日
相关资讯
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
吃鸡手游竟然是Python写的?
机器学习算法与Python学习
7+阅读 · 2018年9月11日
各编程领域最好的入门书籍
程序猿
28+阅读 · 2018年7月29日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
2年Java经验,真的就拿不到30万年薪吗?
程序员观察
3+阅读 · 2018年4月8日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
速看|Python 拯救你的人生颓
机器学习算法与Python学习
4+阅读 · 2018年3月16日
Python NLP 入门教程
开源中国
14+阅读 · 2017年10月1日
Top
微信扫码咨询专知VIP会员