Home  >  Article  >  Backend Development  >  Python 相比 Java的优势是什么?缺点又是什么?

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

WBOY
WBOYOriginal
2016-06-06 16:23:482942browse

回复内容:

了解的不全,抛个砖等大神吧。

优点:
1. Python作为动态语言更适合初学编程者。Python可以让初学者把精力集中在编程对象和思维方法上,而不用去担心语法、类型等等外在因素。而Python清晰简洁的语法也使得它调试起来比Java简单的多。至于哪个更“优雅”纯属个人喜好,但对于初学编程的人Python更直观应该没什么异议。
2. Python有一些Java没有的强大的架构2.1. Advanced Python Constructs,可以表达非常复杂的Logic
3. Python有非常强大的支持异步的框架如Eventlet Networking Library,而据我所知Java要实现这些功能要麻烦的多。也因此Python适合一些可扩展的后台应用。(但除此以外Python可扩展性是不如Java的)
2. Python作为脚本语言,更适合开发小的应用,而且极其适合在应用发展初期时用来做原型

缺点:
1. 由于Python的优点也无可避免会有牺牲------由于是动态语言,比Java还慢。你可以想象一下编译器对于没有typing的变量,需要一个一个check具体type所耗得时间。而Java相比起C++等等本来就不快,可想而知更慢的效果... 但很多人觉得Python code更短小精悍,所以实际跑起来不见得比Java耗时。
2. Java很适合发展跨平台应用,几乎常见的电脑、智能机都能跑Java。而Python就不一样了...
关于他们的异同可参考Python vs Java: Key Differences

说得不对的地方请大家指出 :) 多范型 怎么写都行 -
为了回报题主的感谢,我想再多说一点。我也只是刚刚入门不久,只能给不太了解的人一点简单的信息。

Python有着跟C/C++相似的基本语法,比如逻辑结构上有判断,循环,数据结构上有更灵活的列表、字典,也有面向对象方面的类。在这些基本的方面,Python都比C++/Java 更灵活,易理解,给人的感觉就是作者在发明Python时应该是受够了C++/Java中一些别扭、冗余的规范。由于没有各种条条框框,Python在做一些简单的数据处理的时候很方便,跟MATLAB很像。

Python另外一个强大的地方就是各种各样的库(module),这些库功能强大到你感觉你用他们写代码似乎没有技术含量一样。比如你想把一些网页上的数据抓取下来,保存成符合要求的格式,只需要利用urllib.request库写5行左右代码把网页抓取下来,然后再利用beautifulsoup库用10行左右的代码把网页里的数据解析成一定的格式。而这只是Python应用的一个小方面。
-
欢迎各种赐教和讨论。 写着爽. 很直观的感觉是,python写出来的代码,每一行的平均长度往往比java少。 Python开源,收费困难 优点:没有Java流行
缺点:没有多大存在感的语言 我觉得缺点是:
1、Python有点慢,似乎CPython(官方实现)没有开发JIT解释器的计划。现在有个PyPy项目做的就是这件事,进度不错,值得期待。
当然,Python快点慢点这个真没什么重要的,Python主打的特性不是这个。需要更快、更小的动态语言可以选择Lua。
2、很容易被反编译。公开的商业项目用之前可能要掂量掂量……
3、类库命名风格不统一,随意性大。 不说缺点了,两者都是好语言,随便说下优点吧(其实缺点也可以从各自优点里体味得到,另外本人小白,如果说错请指正)
Java的优点:
1.将JDK和Java虚拟机分离,JDK就是用Java写的,而Java虚拟机则是用C/C++编写,开发者不需要花很大的功夫就能理解它的来龙去脉;
2.跨平台:一次编译,到处运行;
3.静态语言,速度快~

Python的优点:
1.接口简单,对初学者上手应用很容易上手,开发效率高;
2.应用领域广,什么都能干~ 优势:写的爽。平均行长度和平均行数都小得多,表达能力以五到十倍计。
劣势:没有编译器检查,没有足够强大的 IDE 支持,蠢人写不来。

某司内训格言:随便抓一个本科生,培训三个星期 Java 就可以进项目了。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn