您的位置 首页 java

Java和Python,我该选哪个?10年的大牛为你详细解析两种岗位前景

声明:这是一篇容易引起撕逼的文章,为了祖国和谐,人民安康,请各位看官尽量理性讨论。同时,这篇文章是面向一些初入行的朋友进行一些相对中肯一点的分析和建议而已,虽然有浓厚的个人色彩,但我还是尽量以事实说话,以代码说话,大牛们就不要拿自己的牛逼经验来这里装逼了,当然,你如果非得来跟我撕,哥们儿我奉陪。

我先问大家一个问题,为什么中国人用刀叉是很容易上手的一件事情,而外国人用筷子,应该是他们在中国吃饭时最痛苦的一件事情吧。为什么会这样呢?

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

这个道理同样适用于我们的学习,小编对Java和 Python 都有较为丰富的使用经验,当然,Java的应用经验更丰富,代码量比Python更多一些。我们会发现,使用Python是一件非常容易的事情。基本上来说,解决问题的方式,方法,算法,思路,所有的 编程语言 都一样。我们去学习一门新的编程语言的时候就会容易很多,只需要关注与我们所熟悉的编程语言在语法和使用上存在哪些方面的不同即可。

那么问题来了?

到底是Python值得学习还是Java呢?

这里面有三点我必须说破,却很少有人从这个角度来给大家做分析:

1、如果一个不懂2-3门编程语言的人,或者很少使用到Java或者Python,来告诉你Java好还是Python好,这是赤裸裸的不负责任。如果这个人用Python并且混得还稍微可以,他一定会告诉你Python好,如果这个人用Java,他一定会告诉你用Java好。如果两个语言都没有用过的键盘侠,他会告诉你语言都是相通的,不要纠结。每一个人都说得好有道理的样子,于是让你无从选择。

2、我们必须要明白Java和Python的各自定位。Java源自C和C++的技术体系,于1995年推出,定位于给专门的程序员设计大型的复杂分布式应用而设计。而Python是1991年推出(比Java还早)主要面向于系统管理,科研,教育和非程序员群体等。大家一定要理解清楚一个现实,这个世界上并不是只有程序员才需要写程序,还有很多群体需要写程序。

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

也不知道大家从哪里得来的一些“误导”,觉得Python简单,Java很难,所谓”人生苦短,我用Python”之类的。一方面,Python上手的确相对要快一点而已,仅此而已。解决复杂问题时,没有人会觉得难点在使用哪门编程语言上,而是解决这个具体问题的算法思路上。这一点各位务必要拎清这个思路。

任何一个领域都有大神,随着经验的丰富都能够解决很多难题。但是,那是很久以后的事了,我们现在讨论的是,你还在纠结Java还是Python的这件事,毫无疑问,这个时候,你仍然还是一个菜鸟,甚至连门都没入。小编建议大家,不要因为什么事情简单,所以我要去做,无论是学习编程语言,还是其它,这是最要命的一个出发点,会毁了你的未来。

下面我给大家列出一段我分别使用Java和Python写的发送一个HTTP协议的一段代码。之所以能够这样,原因很简单,Java能解决的基本问题,Python也能解决,当然,Python能解决的,Java一样可以。但是在干重活儿方面呢,Java更成熟一些。

Java的代码,实现Agileone系统的需求提案新增功能:

// 实现需求提案的新增
public void doAdd() {
 // 先发送POST请求实现登录
 String postUrl1 = "";
 String postData1 = "username=admin&password=admin&savelogin=true";
 String resp1 = hr.sendPost(postUrl1, postData1);
 System.out.println(resp1);
 // 对sendPost()方法进行了额外的封装,一次封装,处处使用
 
 // 再发送POST请求完成新增
 String postUrl2 = "";
 String postData2 = "type=Enhancement&importance=Medium&"
 + "headline=&"
 + "content=这是用于Java代码测试的内容-10009&processresult=";
 String resp2 = hr.sendPost(postUrl2, postData2);
 System.out.println(resp2);
}
 

我们再来看看Python实现同样功能的代码:

# 导入urllib和http库
 import urllib
 import http.cookiejar
 
# 利用cookiejar自动管理整个过程中的Cookie
 cj = http.cookiejar.CookieJar()
  open er = urllib. request .build_opener(urllib.request.HTTPCookieProcessor(cj))
 
 # 利用urllib构造POST请求并处理登录
 logindata = { "username" : 'admin', "password": 'admin', "savelogin" : "true" }
 data_encoded = urllib.parse. urlencode (logindata).encode('utf-8')
 login = opener.open("", data_encoded)
 print(login.read())
 
 # 发送Post请求提交新增需求提案
 proposaldata = {"type":"Requirement", "importance":"medium",
 "headline":"Headline from Python - 10010",
 "content":"Content from Python - 10010", "scope":"1", 
"processresult":""}
 data_encoded = urllib.parse.urlencode(proposaldata).encode('utf-8')
 proposal = opener.open("", data_encoded)
 print(proposal.read())
 

相信大家很难区分所谓的简单与难。因为代码几乎都很类似,这种情况发生在很多场景,解决很多问题时都是一样的。

让我们单纯从事实出发,Python简单的原因只是因为,我们使用Python时,我们可能跟个傻子一样,在直接调用别人给我们写好的代码接口而已,而Java的很多处理相对要原生一点,我们写的代码要稍微多一点。但是只要完成封装,代码就很难说谁更简单了。而这个封装的过程,其实才是编程最重要的部分,如果这一部分我们都不愿意亲自参与,也不想知道个中实现原理,你想想,你怎么可能成长为一个优秀的程序员,还有天理吗?让那些勤奋的人,情何以堪。

所以,请不要再纠结了。小编的经验,如果你把Java作为你的人生的第一门用心学习的语言,那么你只需要花极短的时间,就可以基本学会C++,JavaScript,PHP, Python,R,C#,Objective-C,Swift,Go(是的,每一门语言都可以在极短的时间学会,只是具体的问题解决和一些坑需要多积累一些实战经验而已)。但是反过来,如果你把Python作为你的第一门语言,问题就回到外国人使用筷子这件事情上了,答案不言而喻。

所以,你未来如果要立志成为一个专业的程序员,建议先学习Java,那是给程序员的专属语言,是有门槛的,所以你才能够建立自己的竞争力。如果你只是想玩玩,感受一下,或者是把编程语言作为一个工作中的工具而已,Python是个不错的选择。这是面向学习的建议,如果是在企业中真实做项目,那就不要纠结了,项目需要什么,咱们就学什么,不需要那么多理由,干,才是真理。

锤子好用还是榔头好用?

Java好还是Python好?

为什么非得二选一?

浮躁,一个吃饭的工具而已,搞技术的,通吃它们不就完了吗,你再也不会纠结了,这,才是一个技术人员该有的状态。难道不是吗?

小编准备了Python400集+java300集视频教程,想要的小伙伴可以找小编免费领取!

免费领取方式:

  1. 右上角点击关注
  2. 评论区任意评论或者转发一下
  3. 做完1、2步,私信回复关键字“学习”
  4. 私信不要多字,不要少字,不要错字,私信方法:点击我头像,进入主页面,右上角有私信功能,在关注的上方位置。

文章来源:智云一二三科技

文章标题:Java和Python,我该选哪个?10年的大牛为你详细解析两种岗位前景

文章地址:https://www.zhihuclub.com/185916.shtml

关于作者: 智云科技

热门文章

网站地图