{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

python、java、Go哪个前景好?

simon_chensimon_chen 回答0 收藏1
收藏问题

10条回答

binaryTree

binaryTree

回答于2022-06-28 11:59

先了解下这几门语言的优劣势会比较好吧,您细看

1. Python其实现在很火,但是火归火,但它在大型项目中做框架之类的反而是不现实的,写个脚本倒是可以的,另外

python的擅长领域在于爬虫,人工智能这块,写起来很快,很灵活,又有很多现成的包支持,上手快,但是光只是会python的话,工作

这块不太好找的,因为它擅长的领域在中小公司使用的并不是很多,大公司也没那么好进,技术门槛很低,壁垒也不是很高的!你可以学

学,但是还是需要学习个类似java的语言来当核心的!

2.说go的话,go语言性能很棒,但是把这个当做核心,有点押宝的意思,go也算是未来语言来,现在就是生态没有建立起来,你看到的微

服务,分布式的大型项目,整个框架核心和调度,其实用go的不多,大多数都是一个独立的微服务service或者是一个还不错的单机项目,go毕竟时间没java长。

3.上面说的两点,到最后总结,就是说还是靠谱保守坚持的是java,这个语言最牛的地方就在于它能做的很多,涉及的领域很广,生态很

好,做起项目来,市场是80%的企业级应用都是由它造成的,根基很稳很扎实,毕竟已经二十多年啦,这期间被很多人看衰,但java还是

java,它依然很好!你接触过,面试过,工作过就会发现啦的!

评论0 赞同0
  •  加载中...
XUI

XUI

回答于2022-06-28 11:59

谢谢邀请!

Python、Java和Go这几门语言都是目前广泛流行的编程语言,其中Java和Python目前的应用领域比较广泛,在最新的TIOBE语言排行榜上,Java和Python分列第一和第三位,Python语言的上升趋势还是比较明显的,而Go语言作为一门新兴语言也冲到了第十五位,可以说这也是一个非常不错的成绩。

Java语言经过多年的发展,在Web开发、大数据开发等领域有广泛的应用,Java语言生态体系健全且性能稳定,是大型互联网平台比较常见选择。随着大数据技术的落地,Java技术的应用前景还是不错的,而且在整个IT领域有大量的Java开发团队,未来Java将依然是被广泛采用的编程语言之一。看一下tiobe给出的Java历年走势图:

Python语言在最近几年伴随着大数据和人工智能的发展而得到了广泛的使用,Python语言在Web开发领域也是传统的解决方案之一,而且Python语言简单易学且调整方便,深受程序员群体的欢迎。在大数据领域,采用Python做数据分析是比较常见的选择,不少Java程序员也开始采用Python进行任务开发。Python中的Numpy、Scipy、pandas、Matplotlib等库使用起来非常方便,在机器学习领域也有广泛的应用。相信随着大数据、人工智能、物联网等领域的不断发展,Python未来的前景还是非常不错的。

Go语言是一门新兴的编程语言,主要致力于性能的提升,目前Go语言也受到了广泛的关注,在大数据等领域,Go语言将发挥出重要的作用。虽然Go语言主打性能,但是由于目前Go语言的生态体系还有待完善,所以目前Go语言的应用场景还明显少于Java和Python,相信随着Go语言的发展,未来Go语言的应用前景也是值得期待的。

总之,对于程序员来说,这三门语言都是非常重要的编程工具,而且都有比较明显的应用场景,所以都应该学习一下。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续在头条写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网方面的问题,也可以咨询我,谢谢!

评论0 赞同0
  •  加载中...
shenhualong

shenhualong

回答于2022-06-28 11:59

以我在BAT的工作经验来看,这三种语言中java是必备语言,Python是附加语言,Go是未来一定会火起来的语言。

Python粉别急着来反驳我啊。

我的结论怎么理解呢。

只会JAVA的面试者

如果要招一个工程师,以上三种语言里,优先选择会JAVA的那个人,因为他能够快速的参与开发市场级产品,能够尽快产生价值,而且可以让他在开发的间隙学习Python与Go。

来自我身边一个真实的例子,曾经有个高级工程师,不会Go语言,被临时拉去优化一个用GO开发的系统,系统的问题是实际吞吐量与预期有很大的差异。但是一周后,这位大牛解决了原项目组里多位Go开发工程师没法解决的问题。

这个例子当然不是想说JAVA工程师比Go工程师厉害,而是想证明拥有了夯实的编程基础与清晰的逻辑思维,就算不会Go语言,仍然可以快速上手,解决问题。

只会Python的面试者

如果这个人只会Python的话,那么我可能会迟疑,会根据他对Python的掌握程度以及其他方面的一些能力来均衡考虑,招他进来后的学习成本是否值得。

只会Go的面试者

如果只会Go语言,其实我会推荐他去硅谷试试。因为当前国内市场对Go语言的需求量远远小于硅谷,换句话说,只会Go语言其实在国内是有点无用武之地的,尽管Go语言是2019年全球程序员最想学习的语言。

以上说的是现状,那么从前景上来看,我认为Go语言依托Google,很有可能后来者居上,但是想要挑战JAVA的霸主地位,可能还是需要很多年的积淀与发展。

因此,对于开发人员,建议是在原领域深耕的同时,也抽时间多多了解Go语言。

以上是我的浅见,欢迎大家在下方留言与我交流。

我是苏苏思量,来自BAT的Java开发工程师,每天分享科技类见闻,欢迎关注我。

评论0 赞同0
  •  加载中...
leiyi

leiyi

回答于2022-06-28 11:59

首先对于初学者,不能盲目追热点,语言是用于解决实际问题的,因此每个语言都有其用武之地,如果非要回答这个问题,我们来逐一分析:

1.C/C++

优点:现代编程语言的鼻祖,在嵌入式,游戏开发等需要很高执行效率的场合具有无可替代性,包括大数据人工智能的大部分基础算法库都是由这两门语言开发。在这些领域不可替代。

缺点:开发学习难度大,非资深程序员极易编写出内存不安全的代码,如悬垂指针,数据竞争等。windows下的c++和linux下c++,基础库并不兼容,迁移和适配难度大,进一步加大了学习难度。

2.java,c#,go

之所以把这几门语言放在一起,是因为他们有相似性,如都具有垃圾收集器(GC)。其中java和c#更为相似,具有相似的语法,都是半编译半解释型语言,都具有虚拟机,jvm和CLR,都能跨平台,都适合进行web开发。其中在语言层面,c#比java更加具有创新性,也更好用,但java因为反射性能强悍,诞生了spring等一系列解放生产力的web框架,尤其近年来spring cloud微服务架构,在解决高并发、模块化方面走在前列。例如淘宝双十一等节日,ucloud借助这一套微服务架构抵御了极高的并发量。

再说说go。相对于前两位,是后起之秀,具有很多先进性,如高并发,实现java、c#相同的功能,占用更少的系统内存等资源。性能方面三者在同一级别。可以进行系统层级的开发。再说说他们共同的GC,带来安全性,便捷性的同时,也使得GC运行时抢占系统资源,造成短暂性能下降。

3.Python,JavaScript

都是解释性语言,具有便捷性,但也具有性能瓶颈。Python在大数据、人工智能等领域发展迅速,但注意他调用的是c、c++编写的基础库,仅仅是胶水语言,大量的运算是在运行库中进行的。并不适合用在嵌入式、大型游戏、甚至是web开发。

4.下面我们再来对比另一位后起之秀Rust

Rust是一门系统编程语言 ,专注于安全 ,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。Rust在语法上和C++类似 ,但是设计者想要在保证性能的同时提供更好的内存安全。 Rust最初是由Mozilla研究院的Graydon Hoare设计创造,然后在Dave Herman, Brendan Eich以及很多其他人的贡献下逐步完善的。 Rust的设计者们通过在研发Servo网站浏览器布局引擎过程中积累的经验优化了Rust语言和Rust编译器。

通过所有权、生命周期等在其他编程语言中从未出现的新概念,解决了c、c++的安全性问题。没有GC,直接编译成机器语言,因此具有极高的运行性能,同一套代码能在windows、Linux和mac下编译,跨平台。因此我个人认为,未来将会是类似的这样一门编程语言被广泛使用,就算不是rust也可能类似rust。

缺点:相比于除C,C++外的其他语言,学习难度较大。

本人深耕行业多年,仅个人观点,不喜勿喷。

评论0 赞同0
  •  加载中...
马龙驹

马龙驹

回答于2022-06-28 11:59

看你走什么方向了,python的话就走人工智能,数据分析,爬虫和机器学习方向。但真的想发展的好要懂得很多,数据结构,算法都要掌握。

java企业主流,也可以做很多方向,比如后端开发,手机端软件开发。就业面也应该是非常广的。但是一般小型公司为了效率用的反而不多。

go的话,处理高并发的,主要运用在大容量访问请求上,以后可能会很火。

如果让我选择的话,我会主攻java毕竟企业需要,python可以作为调剂,Go的话未来可期。

评论0 赞同0
  •  加载中...
focusj

focusj

回答于2022-06-28 11:59

从性能上说,原生JAVA要比其他两个强,连GO都要移植了java的disruptor框架,可见java天生适合高并发的WEB开发,但问题是各种框架过多而且过重,完全违背轻量级JAVAEE的原本意愿。python在科学计算上有自己的优势,写高并发架构java强,写复杂的高深算法是python强,python还完美支持树莓派。GO的话写聊天器,中间件这种东西应该挺牛的

评论0 赞同0
  •  加载中...
Thanatos

Thanatos

回答于2022-06-28 11:59

都可以,当然从就业面讲JAVA更大。很多资深的JAVA开发人员,其他两个也会,Python在做大数据离线推荐用到,有Linux基础的直接可以进行python开发,GO也有很多优秀的JAVA程序员学习使用。

入门时想学习那个编程语言要结合自身的环境,哪一个更容易就业,更便于后面的发展,到后面在技术上不要局限自己,有一个语言要精通,其他语言也要关注。存在便有价值。

评论0 赞同0
  •  加载中...
sixgo

sixgo

回答于2022-06-28 11:59

我做过java,学过python,浅见仅供参考。

java主要是企业级的开发用的,python是近几年比较火,主要是人工智能的兴起让它流行起来,至于go语言只是听说过,没了解就不多说了。大数据,人工智能是未来的潮流,如果是现在开始,我觉得学python好些,追随潮流会让你事倍功半,java相对来说是比较老的语言的,会的人也比较多,竞争比较大,不建议选择java。

评论0 赞同0
  •  加载中...
philadelphia

philadelphia

回答于2022-06-28 11:59

这个问题问得不太好,对于做软件的人来说,语言都不是事,我自己最喜欢的语言是scala,但并不妨碍我通晓c cpp python r java matlab js as ruby等语言,如果有需要,我一定可以在三天内上手go语言。

从生态圈上看,jvm上也可以用python,叫jpython。

当前的发展态势是:

商业软件界,java体系是主流;

学术界,matlab、R、python是主流;

Android甚至google体系界,go将是主流。

谁也取代不了谁。

评论0 赞同0
  •  加载中...
lewif

lewif

回答于2022-06-28 11:59

go

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<