Java相比Python3有哪些优势?
程序员文章站
2022-04-26 07:56:00
...
这些优势主要体现在哪些领域和什么样的情景?
这里替Java说几句话:
JVM的质量远胜于 Python 的虚拟机。在JVM环境可以构建起高质量的Python解释环境,反过来不行。
Java对IDE更友好。
你要想骗Python程序员加班,得谈人生理想,谈股权,谈加班费,谈情怀。跟Java程序员谈加班,告诉他这是编程规范就好了。 没有什么谁比谁好,只有谁更适应。
java:用的人多,平台,工具,库很成熟。企业级应用比较多
python3:灵活,现在正在流行中,后台开发用它也是很快的。 可以把小项目轻而易举地写成大型项目。 Python写一些简单的脚本,小项目比较方便,迭代也快。
当项目大到一定程度java就有优势了,项目易于维护管理。
动态类型用起来方便,然而并不是很让人放心 除了500行上下的临时脚本之外,Java几乎在任何场合都比Python好
举两个例子,使用面向对象思路进行软件系统的分析与设计时,一个基本的原则是:类和对象的职责一定要尽可能地明确。还有一个基本原则:找出变化点,然后封装它,让它的变化对系统其他部分的影响最小。
看到没有?为了提升系统的可维护性,我们是希望尽量地控制“可变”因素对系统所带来的影响的。既然如此,一个方法与属性可以随时添加与移除的对象,与面向对象设计原则是不是有冲突?
你非要在分析设计时想着:“哟,我用动态编程语言实现的,因此对象方法与属性是可以随时变化的,我要按照这个特点进行设计”,当然没人拦着你这么做。但做过真实商业项目的人一定有体会,那不是几个十几个类,通常是数百上千个类,彼此之间还有着复杂的关联,它们创建的对象之间的交互相当复杂,通常必须遵循一堆的业务规则,就算是基于相对稳定的静态的类进行分析设计,己经够头大了,你再来几条“动态”的“变色龙”搅在里头,那滋味,自己体会吧! 这话反过来问估计会比较容易 两者的适用面都非常广。都算是万金油型的,只要你敢想,就可以用。。
当然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岗位多,好找工作。
回复内容:
双方都可以列出很多优点,然而这个问题太过草率了……这里替Java说几句话:
JVM的质量远胜于 Python 的虚拟机。在JVM环境可以构建起高质量的Python解释环境,反过来不行。
Java对IDE更友好。
你要想骗Python程序员加班,得谈人生理想,谈股权,谈加班费,谈情怀。跟Java程序员谈加班,告诉他这是编程规范就好了。 没有什么谁比谁好,只有谁更适应。
java:用的人多,平台,工具,库很成熟。企业级应用比较多
python3:灵活,现在正在流行中,后台开发用它也是很快的。 可以把小项目轻而易举地写成大型项目。 Python写一些简单的脚本,小项目比较方便,迭代也快。
当项目大到一定程度java就有优势了,项目易于维护管理。
动态类型用起来方便,然而并不是很让人放心 除了500行上下的临时脚本之外,Java几乎在任何场合都比Python好
- 绝对性能好;又是真多线程
- 绝大多数Java的库都是Pure的(即纯Java字节码),可以随便部署到目标机上不用担心跑不起来。Jar格式可以自己任意合并
- 有JMX植入式对象监视器/控制器
- 强静态类型系统意味着编译器和静态检查器自动帮你写了N多测试
- 没有2 or 3版本大分裂(绝杀)
举两个例子,使用面向对象思路进行软件系统的分析与设计时,一个基本的原则是:类和对象的职责一定要尽可能地明确。还有一个基本原则:找出变化点,然后封装它,让它的变化对系统其他部分的影响最小。
看到没有?为了提升系统的可维护性,我们是希望尽量地控制“可变”因素对系统所带来的影响的。既然如此,一个方法与属性可以随时添加与移除的对象,与面向对象设计原则是不是有冲突?
你非要在分析设计时想着:“哟,我用动态编程语言实现的,因此对象方法与属性是可以随时变化的,我要按照这个特点进行设计”,当然没人拦着你这么做。但做过真实商业项目的人一定有体会,那不是几个十几个类,通常是数百上千个类,彼此之间还有着复杂的关联,它们创建的对象之间的交互相当复杂,通常必须遵循一堆的业务规则,就算是基于相对稳定的静态的类进行分析设计,己经够头大了,你再来几条“动态”的“变色龙”搅在里头,那滋味,自己体会吧! 这话反过来问估计会比较容易 两者的适用面都非常广。都算是万金油型的,只要你敢想,就可以用。。
当然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岗位多,好找工作。
上一篇: Python 适合大数据量的处理吗?
下一篇: MUI顶部选项卡的用法详解