>백엔드 개발 >파이썬 튜토리얼 >Java相比Python3有哪些优势?

Java相比Python3有哪些优势?

WBOY
WBOY원래의
2016-06-06 16:22:171327검색

这些优势主要体现在哪些领域和什么样的情景?

回复内容:

双方都可以列出很多优点,然而这个问题太过草率了……

这里替Java说几句话:
JVM的质量远胜于 Python 的虚拟机。在JVM环境可以构建起高质量的Python解释环境,反过来不行。
Java对IDE更友好。





你要想骗Python程序员加班,得谈人生理想,谈股权,谈加班费,谈情怀。跟Java程序员谈加班,告诉他这是编程规范就好了。 没有什么谁比谁好,只有谁更适应。
java:用的人多,平台,工具,库很成熟。企业级应用比较多
python3:灵活,现在正在流行中,后台开发用它也是很快的。 可以把小项目轻而易举地写成大型项目。 Python写一些简单的脚本,小项目比较方便,迭代也快。
当项目大到一定程度java就有优势了,项目易于维护管理。


动态类型用起来方便,然而并不是很让人放心 除了500行上下的临时脚本之外,Java几乎在任何场合都比Python好
  1. 绝对性能好;又是真多线程
  2. 绝大多数Java的库都是Pure的(即纯Java字节码),可以随便部署到目标机上不用担心跑不起来。Jar格式可以自己任意合并
  3. 有JMX植入式对象监视器/控制器
  4. 强静态类型系统意味着编译器和静态检查器自动帮你写了N多测试
  5. 没有2 or 3版本大分裂(绝杀)
说Java不好的人一般都是嫌Java常见框架累赘 -- 这个完全可以用自己写的轻量框架代替。还有些人嫌某些Java IDE不Sexy,这简直是现代版买椟还珠(何况我觉得IntelliJ IDEA够好看的了) 我有个比较“激进”的观点:你要是采用面向对象方式开发软件,特别是那些规模大些的包容复杂逻辑和处理流程的软件系统,从分析、设计、再到实现,面向对象 一条线贯通下来,那就请把动态类型的诸如Python之类编程语言给忘了吧,动态语言的灵活性在这种场合,带来的不是好处是麻烦,使用Java/C#之类是更合适的选择。
举两个例子,使用面向对象思路进行软件系统的分析与设计时,一个基本的原则是:类和对象的职责一定要尽可能地明确。还有一个基本原则:找出变化点,然后封装它,让它的变化对系统其他部分的影响最小。
看到没有?为了提升系统的可维护性,我们是希望尽量地控制“可变”因素对系统所带来的影响的。既然如此,一个方法与属性可以随时添加与移除的对象,与面向对象设计原则是不是有冲突?
你非要在分析设计时想着:“哟,我用动态编程语言实现的,因此对象方法与属性是可以随时变化的,我要按照这个特点进行设计”,当然没人拦着你这么做。但做过真实商业项目的人一定有体会,那不是几个十几个类,通常是数百上千个类,彼此之间还有着复杂的关联,它们创建的对象之间的交互相当复杂,通常必须遵循一堆的业务规则,就算是基于相对稳定的静态的类进行分析设计,己经够头大了,你再来几条“动态”的“变色龙”搅在里头,那滋味,自己体会吧! 这话反过来问估计会比较容易 两者的适用面都非常广。都算是万金油型的,只要你敢想,就可以用。。
当然java各种开发库更多。话说,python 91年就出来了,比java和Php都要早。。现在才熬出头。。我一直以为它是一个比较新的语言来着。。

然后,大项目开发上,java更合适。甚至,如果是不是那种密集计算型的,是比c++要好的。
因为java开发效率虽然比不上python。。
但两者是可以一起鄙视c++的。
所以对于创业公司来说,c++在前期是完全不用考虑的,什么时候用?用户千万级别。不过大部分活不到哪个时候就跪了。。所以,Python和java是创业公司不错的选择。

然后,java更适合大项目,是因为java在中期,用户在百万级别左右,但是千万不到。。发现并发,内存各种不够,但好像优化一把也可以用的时候。。
虽然用Python可以拓展c,但终究还是麻烦。
这个时候,jvm的强大之处就出现了。可以各种优化,找个熟悉jvm的人,优化效率就能提升不少。

大点的项目,都是选c++或者java为主,然后Python或者lua做边角料,缝缝补补。。 用java写了个程序爬点小资料,扩展的时候听说python不错,就想拿来试试。
结果写了三天了,控制台还没打出中文来,据说是beautifulsoup的问题 java岗位多,好找工作。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.