对比java和python


对比java和python
2011年04月18日
  1.难易度而言。python远远简单于java。
  2.开发速度。Python远优于java
  3.运行速度。java远优于标准python,pypy和cython可以追赶java,但是两者都没有成熟到可以做项目的程度。
  4.可用资源。java一抓一大把,python很少很少,尤其是中文资源。
  5.稳定程度。python3和2不兼容,造成了一定程度上的混乱以及大批类库失效。java由于有企业在背后支持所以稳定的多。
  6.是否开源。python从开始就是完全开源的。Java由sun开发,但现在有GUN的Openjdk可用,所以不用担心。
  7.编译还是解释。两者都是解释型。
  我理解,C好比手动挡车(编译型语言),java和python(解释型语言)好比自动档车。跑的最快的车都是手动档,但是对开不好的人来说,开自动档反而更快些。
  Knol.google.com有一篇文章谈到选择编程语言,“先确定你的需求”,不要由语言的简单还是复杂去觉定。只有能够编写你真正认为有用的程式,才能获得满足感,学习才能继续。
  那么java和python分别适用于什么样的环境呢。由sourceforge.net可以看出:
  最著名,久经考验的普通应用程序,基本都是c++写的。例如emule,7-zip,WinSCP,FileZilla等等等。
  一部分由java开发,例如最有名的OpenOffice。
  python写的很少,如Pidgin,FireBird。
  开发语言(有多少个程式由此语言开发)的排行如下:
  # Java46,202
  # C++36,895
  # PHP30,048
  # C28,075
  # C#13,476
  # Python13,379
  # JavaScript11,285
  # Perl9,216
  # Unix Shell3,869
  # Delphi/Kylix3,548
  # Visual Basic3,186
  # Visual Basic .NET
  很多框架和类库也和应用软件一样在这个列表里,因此比较公平。
  由此可以看出,java不管在GNU还是商业领域都是应用最广的语言。C主要用于构建系统底层。c++和java用于构建中间应用层。如果资源足够,那么会选择c++开发,以求运行速度,否则会用java开发,以求开发速度。python在各方面都比java优秀,可谓次世代语言。可最受争议的是它的速度,纯python比java慢很多,以及背后没有商业支持,稳定性备受诟病。目前为止,python在商业层次上,主要作为一种胶水语言,粘合其他语言(主要是c/c++)的类库。在GNU领域,主要局限于小规模的应用和个人化应用。以及逆向工程(黑客)应用。
  为什么java在服务器端被大量应用,在客户端用的却比较少呢。难道服务器端用到的计算量反而少么。我认为这说明对比c++,java的速度还是可以接受的。无法被接受的是JRE平台,以及JRE平台启动时卡的那一会儿。我就曾经为此认为java写就的程式性能低下。
  python用户常常拿来说嘴的一点是:python并不慢,因为python运行时调用了大量c库,而c是很快的。反过来想想,这正反映了其胶水语言的事实,任何一种语言都可以调用c库,这么比较有价值么?假如一个库完全由python,那么它的运行效率...不说也罢。编程不能总是用别人的库啊。

猜你喜欢

转载自wwn15wwn.iteye.com/blog/1359855
今日推荐