到底是Python值得学习还是Java呢?
这里面有三点我必须说破,却很少有人从这个角度来给大家做分析:
1.如果一个不懂2-3门编程语言的人,或者很少使用到Jsva或者Python,来告诉你Java好还是Python好,这是赤裸裸的不负责任。如果这个人要Python,并且混得还稍微可以。他一定会告诉你Python好。如果这个人用Java,他一定会告诉你用Java好。如果两个语言都没有用过的键盘侠,他会告诉你语言都是相通的。不要纠结每一个人都说的好有道理的样子,于是让你无从选择。
2.我们必须要明白Java和Python的各自定位,Java源自C和C++的技术体系,于1995年推出,定位于给专门的程序员设计大型的复杂分布式应用而设计。而Python是1991年推出,比Java还早,主要面向于系统管理、科研、教育和非程序员群体等。一定要清楚一个现实,这个世界上并不是只有程序员才需要写程序,还有很多群体需要写程序。
3.Python比Java早出四年出生,但是在国内为什么几乎到2010年之后,Python才逐渐火起来呢。原因很简单,因为我们都太现实了。由于大数据的盛行,由于自动化测试方面的人才需求,以及对互联网的一些基础应用系统的开发,企业加大了对Python人才的招聘力度(还是比不上Java)。一门感觉很简单又能赚大钱的编程语言出现了,简直是人类的福音,所以火起来了。这个就像近几年虚火很旺的Web前端开发,大部分人也没什么技术能力,但是工资却拿的不错,这不是个人的原因,企业也很浮躁,仅此而已。一旦虚火泄了,谁能撑到最后?
也不知道大家从哪里得来的一些误导,觉得Python简单Java很难。所谓人生苦短,我用Python之类的。
一方面Python上手的确相对要快一点,仅此而已。解决复杂问题时没有人会觉得难点在使用哪门编程语言上,而是解决这个具体问题的算法思路上,这一点各位务必要宁清。
另一方面,由于Python近几年的火爆,不排除一些人故意散播一些言论来误导大家使用Python。这件事情就像这么多年,一直有人觉得学习软件测试要容易一些一样,很多人也是抱着通过软件测试进入这个行业,选择了一个自己认为没有难度的领域进入。
但是强哥发现,当三五年过去了,很多测试人员目前最焦虑的就是自己技术不够深,在企业当中越来越没有竞争力,所以最终还是得硬着头皮研究深层次的测试技术,无论是编程、网络、数据库、协议、还是自动化测试、性能测试等。
但是这个过程是非常痛苦。就像我说的那样,这个世界上99%的人都会选择一条容易走的大路。因为难度,因为恐惧。而曾成功是属于那1%的人一样,这句话同样适用于编程语言或者技术功底的训练。
其实大家如果有过实际的编程经验,我们不妨认真想想,当我们研发一个系统的时候,究竟会用到哪些技术?那些什么需求分析,跟测试撕逼,跟客户撕逼,跟老板撕逼的那些烂事我们就不提了。
我们就看看纯技术层面的一些基本要求:数据库、Linux命令、网络协议、接口设计、算法思路、框架、改bug、编程、前端交互,你应该懂我。
利用不同的编程语言编写程序只是研发过程中众多你需要掌握的技术当中的一块而已。其他与你用哪门编程语言无关,这一点如果你都理解不了。觉得强哥在忽悠你的话,那请自便吧。
或者换一个角度。会一门编程语言,而不是完整技术体系,就能当技术大牛的情况,我觉得可能只有在你们家村里可以行得通,因为就你一个人懂。
任何一个领域都有大神,随着经验的丰富都能解决很多问题,但是此时你仍然是一个菜鸟,连门都没入。所以在Java还是Python这件事情上,建议大家不要因为什么事情简单我就要去做。无论是学习编程语言还是其他,这是最要命的一个出发点,会毁了你的未来。
下面我给大家列出一段我分别使用Java和Python写的发送一个HTTP协议的一段代码。
Java的代码,实现Agileone系统的需求提案新增功能:
我们再来看看Python实现同样功能的代码:
我相信大家很难区分所谓的简单和难,因为代码几乎都很类似。这种情况发生在很多场景,解决很多问题时都是一样的。其实很多人之所以宣传Python简单易学可能是商业的目的或者社会心理原因。
单纯从事实出发,Python简单的原因只是因为我们使用Python时,可能跟个傻子一样,在直接调用别人给我们写好的代码接口而已。
而Java的很多处理要相对原生一点,我们写的代码要稍微多一点。但是只要完成封装,代码就很难说谁更简单了,而这个封装的过程,其实才是是编程最重要的部分。
如果这一部分我们都不愿意亲自参与,也不想知道个中实现原理,你怎么可能成长为一个优秀的程序员?
所以不要再纠结了。如果把Java作为你的人生的第一门用心学习的语言,那么你只需要花极短的时间就可以基本学会C++JavaScript、PHP、Python、R、C#、Swift、Go等等,但是反过来如果你把Python作为你的第一门语言,那么结果可以预见。
未来如果立志要成为一个专业的程序员,建议先学习Java,那是程序员的专属语言,是有门槛的,所以才能行成你自己的竞争力。
如果你只是想玩玩,感受一下,或者是把编程语言作为一个工作中的工具而已,Python是个不错的选择,这是面向学习的建议。如果是在企业中真实做项目,那就不要纠结了项目需要什么,咱们就学什么。
原文链接bossqiang.com/article/4