Python 相比 Java的优势是什么?缺点又是什么

如题所述

Java PK Python

Java是一种面向对象语言,具有许多程序员熟悉的类似于C / C ++的语法。其吸引力和价值所在是其具有的可移植性和相对效率。Java作为一种编译语言,执行模式与解释性语言(比如Python和Perl)相比更加以机器为中心。Java不仅仅是一种语言和库:它也是一个虚拟机,一个生态系统。Java虚拟机(JVM)是运行Java代码的理想化和便携式平台。程序员不必担心硬件细节,并且不必将代码移植到新平台,Java承诺“一次写入,到处编译(WORA)”。同时,JVM语言有很多,比如Groovy、Clojure、Scala、Python或者Jython。

Python起源于一种脚本语言,它的语法体现了一种可读性的理念,具有简单而规则的界限,鼓励简洁和一致的代码布局。Python的参考实现(以C编写,被称为CPython)在许多平台上可用,并且是众多实现中最常用的。Python的动态类型有助于代码简化和组合,是许多平台的解释性语言,成为众多程序员编程首选的便携式选项。Python是围绕可扩展对象模型构建的通用语言。其面向对象的核心并不意味着对象定向是开发人员在用Python编程时最常用的方式。它支持程序化编程,模块化编程和部分函数式编程。
  Java PK Python之一:速度
  在网络I / O成本或数据库访问占主导地位的情况下,语言的具体效率不如技术选择和设计方面的整体效率重要。Java和Python都不适合高性能计算,但在性能上,Java还是略胜一筹。虽然一些Python实现(如PyPy)可以针对性能进行微调,但原始的便携式性能Python不占优势。
  Java的效率优势体现在虚拟机执行。程序执行时,JVM可以将字节码转换为本地机器码。这种即时(JIT)编译让Java的性能略胜Python。Java从其第一个公开版本起就支持并发,而Python则是按序执行。在当前多核处理的趋势下,Java代码更易实现。
  Java PK Python之二:实用敏捷性
  漫长的发展中,Java和Python都受益匪浅。Java通常被认为与敏捷开发及其社区有更密切的联系。Python在敏捷领域一直存在,并且受到诸多原因的影响而更加普及,包括DevOps运动的兴起。
  Java比Python具备更一致的重构支持,一方面,它的静态类型使自动化重构更可预测和可靠,另一方面是Java开发中IDE(例如IntelliJ,Eclipse和NetBeans)的普及。Python的动态类型在代码中鼓励使用不同类型的敏捷性,其重点在于简洁和流动。然而,Pythonic文化倾向于多种编辑器,而不是基于IDE,这意味着对强自动重构的支持较低。
  JUnit的早期知名度及其与测试驱动开发(TDD)的关联意味着,在所有语言中,Java可能是唯一一个单元测试受到程序员一致欢迎的语言。在IDE中自动包含JUnit已经在很大程度上对此有所帮助了。
  Python的脚本起源和在其标准库中包含测试功能意味着Python对现代开发中自动化测试相当重视,尽管它更有可能是集成而不是单元测试。在Java世界中,传统Java代码库可以通过采用另一种JVM语言来加以改善,例如使用Groovy或Clojure进行自动化测试,或者完全跨越Java Universe,例如使用Python来处理系统方面操作 。
Java PK Python之三:架构
  围绕Python Web框架构思的软件体系架构与Java的不会相差甚远。Java和Python都有各自的开源社区,并有很多程序员一直在源源不断的贡献源代码,这些代码已经解决了常见或者不常见的问题,事实上,这两种语言都因开源社区而受益匪浅。
  Java PK Python之四:历史遗留问题
  历史遗留问题在其技术上具有惯性。当企业选择了一种编程语言,就很难再次更换。例如,更多的企业项目后端可能会使用Java代码来扩展其功能,也许可以迁移到更新版本的语言,或者通过其他JVM语言(如Scala和Groovy)添加新功能。Java在企业中的历史比Python更久,这也是招聘Java程序员的企业比招Python更多的原因。
  Java PK Python之五:市场普及度
  Java和Python都是TIOBE编程语言排行榜上的前十名,并且是稳稳地占据前十名。 但Java一直比Python更受欢迎,但是Python的受欢迎程度已经超过了两种编程语言:Perl和Ruby。
  此外,两种语言在教育中都具有强大的立足点,但Java比Python更常用于大学课程中。
  结论
  Java和Python都是富有活力的编程语言,这两种语言与开放性相关联,所以公司,团队和程序员在做出决定时最好保持开放的态度。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-09
优点:简单易学;缺点:速度比较慢。
第2个回答  2022-06-08
Python语言和C、Java都不太一样,它更像是一个粘合剂,如果大家想单纯作为开发语言,还是差点意思的,但它有强大的社区支撑,涉及领域多,语言易懂,比如在运维学习中,它可以写很多脚本,它比shell更强大。
一、Python可用于Web开发
Django和Flask这样基于Python的Web框架,在Web开发中变得非常流行,这些Web框架用Python创建服务器端后端代码,这些代码在服务器上而不是在用户设备以及浏览器上前端代码运行。
为什么需要web框架呢?因为web框架让构建通用后端逻辑变得更简单了,这包括把不同的URL映射到Python代码块、处理数据块和生成用户在浏览器中看到的HTMl文件。
二、Python可用于机器学习
有一些流行的Python机器学习库和框架,其中最流行的两个时scikit-learn和TensorFlow,前者附带了一些更流行的内置机器学习算法,后者更像是个低级库,允许构建自定义机器学习算法。
刚开始一个机器学习项目,建议先用scikit-learn,如果开始遇到效率问题,建议用TensorFlow。
三、Python可进行数据分析可视化
数据可视化库之一是Matplotlib,容易上手,其他一些库入seaborn是以matplotlib为基础的,学习matplotlib可以入门学习其他库。
学习了数据分析和可视化基础知识后,在coursear和khan academ上学习统计的基础知识也是很有帮助的。
四、Python可以编写脚本
什么是脚本编写?通常是指编写小程序以让简单任务自动化,写了个简单的程序,简单的脚本来自动完成该任务。
Python适合这种类型的任务主要是因为它有相对简单的语法并且容易编写。
第3个回答  2017-10-26
1、Python简单易懂
Python的说明文档极其简单,因此初学者极其容易上手。不过,不仅对于新手和初学者来说Python非常容易学习和使用,同时它也是最容易理解的编程语言之一,阅读一个良好的Python程序就感觉像是在读英语一样。另一方面,用Python编写程序的时候,不需要考虑底层细节,因为它是一门高层语言。
2、Python拥有丰富的库
Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。除了标准类库之外,其他语言编写封装后,也能成为Python可调用的扩展类库,这也是Python被称为“胶水语言”的原因。
3、Python高效便捷
Python的底层是用C语言编写的,很多标准库和第三方库也都是用C语言编写的,因此运行速度非常快。几乎在所有的环境中使用和部署Python应用程序都可以,并且产生的性能损失非常小。同时,Python可以进行Web开发、桌面应用程序、移动应用程序、硬件等等多种领域的开发,实现了跨平台、跨领域。
4、Python拥有大数据
与Java长盛不衰的原因相似,Python扶摇直上也离不开大数据和云计算方案的逐渐广泛应用。作为被用于机器学习和人工智能系统以及各种现代技术的一门语言,Python能够十分容易地应用于分析和组成可用的数据,这也使它成为数据科学中最流行的语言之一。本回答被提问者采纳