登录  | 立即注册

游客您好!登录后享受更多精彩

QQ登录

只需一步,快速开始

查看: 1298|回复: 25

想转行做程序员,是学习JAVA还是Python?哪个更好?

[复制链接] TA的其它主题
发表于 2019-9-21 07:49:33 | 显示全部楼层 |阅读模式 来自 江苏无锡
请大家务必审题,转行做程序员,是程序员,并非数据分析也不是软件测试。
首先声明:这是一篇容易引起**的问答,为了祖国和谐,人民安康,请各位看官尽量理性讨论。
同时,这篇文章是面向一些初入行的朋友进行一些相对中肯一点的分析和建议而已,虽然有浓厚的个人色彩,但我还是尽量以事实说话,以代码说话,大牛们就不要拿自己的牛逼经验来这里**了。
Fwg8TqtJIIr8EaJh.jpg
发表于 2019-9-21 08:59:54 | 显示全部楼层 来自 江苏无锡
我先问大家一个问题,为什么中国人用刀叉是很容易上手的一件事情,而外国人用筷子,应该是他们在中国吃饭时最痛苦的一件事情吧。为什么会这样呢?
其实原因非常简单,当我们学会了一门技术难度要求更高的技能以后,再去降级学习难度更低的技能是非常容易的一件事情,反之则不然。
这个道理同样适用于我们的学习,楼主对Java和Python都有较为丰富的使用经验,当然,Java的应用经验更丰富,代码量比Python更多一些。基本上来说,解决问题的方式,方法,算法,思路,所有的编程语言都一样。我们去学习一门新的编程语言的时候就会容易很多,只需要关注与我们所熟悉的编程语言在语法和使用上存在哪些方面的不同即可。
回复

使用道具 举报

 楼主| 发表于 2019-9-21 10:09:18 | 显示全部楼层 来自 江苏无锡
那么问题来了。到底是学习Python 值得学习还是JAVA呢?
这里面有三点我必须说破,却很少有人从这个角度来给大家做分析:
1。如果一个不懂2-3门编程语言的人,或者很少使用到Java或者Python,来告诉你Java好还是Python好,这是赤裸裸的不负责任。如果这个人用Python并且混得还稍微可以,他一定会告诉你Python好,如果这个人用Java,他一定会告诉你用Java好。如果两个语言都没有用过的键盘侠,他会告诉你语言都是相通的,不要纠结。每一个人都说得好有道理的样子,于是让你无从选择。楼主熟练使用5种以上的编程语言,所以才稍微感觉有点资格,来说一说这两门编程语言。虽然,从我个人的角度在我心目中,编程语言只有两种,第一种是Java/C,第二种是其它。但是我不能通过这种偏激的方式来误导大家。
回复

使用道具 举报

 楼主| 发表于 2019-9-21 11:18:26 | 显示全部楼层 来自 江苏无锡
2.Python比Java早4年出身,但是在国内为什么几乎到2010年之后,Python才逐渐火起来呢?原因很简单,因为我们都太现实了。由于大数据的盛行,由于自动化测试方面的人才需求,以及对于互联网的一些基础应用系统的的开发,企业加大了对Python人才的招聘力度(当然,与Java比还有较大的差距),由于有一门感觉很简单又能赚大钱的编程语言出现了,简直是人类的福音啊,所以火起来了。这一点与近几年虚火很旺的Web前端开发很像,其实绝大部分人没什么技术能力,但是工资却拿得不错。这不是个人的原因,企业也很浮躁,仅此而已,一旦虚火泄了,谁能撑到最后?请各位自行脑补。
回复

使用道具 举报

 楼主| 发表于 2019-9-21 12:27:51 | 显示全部楼层 来自 江苏无锡
3.我们必须要明白Java和Python的各自定位。Java源自C和C++的技术体系,于1995年推出,定位于给专门的程序员设计大型的复杂分布式应用而设计。而Python是1991年推出(比Java还早)主要面向于系统管理,科研,教育和非程序员群体等。大家一定要理解清楚一个现实,这个世界上并不是只有程序员才需要写程序,还有很多群体需要写程序。比如:Java开发全栈方向的学生学习Java编程和JavaScript编程,软件测试方向的就业班学员学习Python(因为他们并非专业的程序员群体),而软件测试方向下属的自动化测试开发高级研修班,是Java/Python两个方向同时存在。那你说你觉得哪个更好呢?
回复

使用道具 举报

 楼主| 发表于 2019-9-21 13:37:14 | 显示全部楼层 来自 江苏无锡
也不知道大家从哪里得来的一些“误导”,觉得Python简单,Java很难,所谓"人生苦短,我用Python"之类的。一方面,Python上手的确相对要快一点而已,仅此而已。解决复杂问题时,没有人会觉得难点在使用哪门编程语言上,而是解决这个具体问题的算法思路上。这一点各位务必要拎清这个思路。
回复

使用道具 举报

 楼主| 发表于 2019-9-21 14:47:11 | 显示全部楼层 来自 江苏无锡
另外一方面,由于Python近几年的火爆,不排除一些人故意散播一些言论,来误导大家使用Python。这件事情就像这么多年,一直有人觉得学习软件测试要容易一些一样,很多人也是抱着通过软件测试进入这个行业,选择了一个自己认为没有难度的领域进入。
回复

使用道具 举报

 楼主| 发表于 2019-9-21 15:55:54 | 显示全部楼层 来自 江苏无锡
但是,我发现,当3,5年过去了,很多测试人员目前最焦虑的就是,自己技术不够深,在企业当中越来越没有竞争力了。所以最终,还是得硬着头皮研究深层次的测试技术,无论是编程,网络,数据库,协议,还是自动化测试,性能测试等。但是这个过程非常痛苦,就像我说的那样,这个世界上99%的人都会选择一条容易走的大路,因为懒惰,因为恐惧。而成功是属于那1%的人一样。这句话同样适用于编程语言或者技术功底的训练上。
回复

使用道具 举报

 楼主| 发表于 2019-9-21 17:05:41 | 显示全部楼层 来自 江苏无锡
其实大家如果有过实际的编程经验,我们不妨认真想想,当我们研发一个系统的时候,究竟会用到哪些技术?
回复

使用道具 举报

 楼主| 发表于 2019-9-21 18:14:51 | 显示全部楼层 来自 江苏无锡
那些什么需求分析,跟测试**,跟客户**,跟老板**的那些烂事我们就不提了。我们就来看看纯技术层面的一些基本要求:数据库,Linux命令,网络协议,接口设计,算法思路,框架,改BUG,编程,前端交互。利用不同的编程语言编写程序只是研发过程中众多你需要掌握的技术当中的一块而已。其它,与你用哪们编程语言无关,这一点如果你都理解不了,觉得强哥在忽悠你的话,那请自便吧。或者换一个角度,会一门编程语言,而不是完整技术体系,就能当技术大牛的情况,我觉得可能只有在你们家村里可以行得通,因为就你一个人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|极速版|触屏版|小黑屋|申请友链|极客论坛 - 计算机软硬件与网络

GMT+8, 2026-9-26 18:58 , Processed in 0.046169 second(s), 30 queries .

快速回复 返回顶部 返回列表