Java能做的事Python也都能做,但是为何(企业级)开发项目大多还是会选择Java? 是效率?

2012-09-26 00:01:28 +08:00
 tedd
且Python也是There's only one way to do it,相信多人协作代码的控制也不是问题,此外Python也能跨平台。是因为大型项目一半不用解释型语言,因为效率的考虑吗?
96563 次点击
所在节点    Python
151 条回复
darklowly
2012-09-26 11:17:33 +08:00
java还是不错的。在涉及到大项目的时候脚本语言会力不从心。这里的力不从心包括速度,包括架构。
reus
2012-09-26 11:20:58 +08:00
ufo22940268
2012-09-26 11:22:35 +08:00
@cloudzhou 爆粗有点太激动了
clino
2012-09-26 11:24:05 +08:00
@csx163 android的慢是有多种原因的,比如有的android设备内存太少也会导致系统缓慢,我的判断是android设备慢的瓶颈基本上不会在java上,楼上19楼也有一些具体的看法你可以参考
cloudzhou
2012-09-26 11:26:44 +08:00
@reus 从你这个测试来说,有一些部分还真是数量级差别
holmesabc
2012-09-26 11:31:55 +08:00
@csx163 说android的UI慢是因为java,您开开玩笑,无所谓。如果理直气壮的这么讲,有点太搞笑了。

居然我说不上来具体原因,但绝对是整体架构的问题。android的framework的底层实现大多都是native的。

还有,本来扯这种语言之间的比较,就不是我等渣渣可以评论的。
bulldozer
2012-09-26 11:40:33 +08:00
开什么玩笑,几乎所有的主流业务软件,如SAP,ORACLE erp,JDE或PLM、WMS等,几乎所有的主流数据库或其他应用服务器,如DB2,几乎所有的主流文档类型,如CAD文件,都提供JAVA和.net的SDK,所谓企业级开发,从来不是一个程序的问题。

python,还差得远呢。

这和linux桌面一样,你可能能搭出一个可用的桌面,但那么多软件无法兼容或适应用户习惯怎么办?牵扯的是方方面面的问题。网银不能用,qq不好用,就可能导致相当一部分人弃用。

一个大项目,是不能失败的,谁会去冒险玩个性?
jekkro
2012-09-26 11:45:44 +08:00
Java的开发人员比较好找,因为静态语言的优势,在IDE这一级比其他任何的动态语言支持都要好。我们曾经用过rails2年,每个程序员对同一个逻辑,都可以有不同的写法,让一个刚刚熟悉的ruby的人去接手真得很难。
bulldozer
2012-09-26 11:55:34 +08:00
如果你是亚马逊,仓库要用RFID扫描枪,这个枪仅仅提供JAVA或.net的SDK,你想要集成进你们的业务系统,怎么整呢?搞个反向工程然后再用python?
bulldozer
2012-09-26 11:57:05 +08:00
java是历史选择,短期内地位已经很难撼动,大多数语言都只能注定是非主流,边缘化,和是否优秀无关。
Kymair
2012-09-26 11:58:06 +08:00
把Java语言和Java平台等同起来是不行的喔...

就拿运行时来看,现在星球上能跟JVM相提并论的可能就只有浏览器上的JS引擎了。
要论语言灵活性,我不觉得Ruby/Python能比的上Clojure
myv2ex
2012-09-26 12:07:27 +08:00
@tedd,显然楼上的jekkro更有项目开发经验,对不同的企业逻辑,对于Python这种动态语言在运行时才能确定是否合法显然是不够严谨的,类型的不确定性,每个人的写法不同,调试也是动态语言的软肋。这些对于开发人员和企业级开发都是噩梦。总之,python不是软件工程和构建代码结构的最佳选择,显然只适合于脚本开发。
sohoer
2012-09-26 12:30:22 +08:00
JAVA的底蕴,后来者是无法比的
fwee
2012-09-26 12:31:31 +08:00
@cloudzhou 另外的语言我可以用同在jvm平台的,别用java语言来绑架jvm平台。我宁愿用jRuby
yetone
2012-09-26 12:36:42 +08:00
因为 Java 能做前端开发(好吧,我是来捣乱的~)
jamiesun
2012-09-26 13:42:19 +08:00
你不可能像招聘java人员这样轻易招到python开发人员,想想吧,招聘10个java开发人员多简单,大学的,北大青鸟等机构的,批发价,要多少有多少。

但是你想组一个10人的python团队,即使是初级班的都难,中高级班简直是奢侈。如果python开发人员好找,傻瓜才去批发Java开发人员。

效率,性能从来不是核心问题。

java发展这么多年,自然有她的本钱,很多现成的资源,方案,利于厂商更好忽悠骗钱。真正飞上java不可的项目没那么多,很多企业跟不就是稀里糊涂的上了船,没有自己的判断和没有选择的能力,自然也没的选择。

另外是长期以来的观念问题,根深蒂固,一个杯子盛满水,就再装不下了,接受新的东西是很难的。
clowwindy
2012-09-26 14:04:24 +08:00
1. Java 有成熟的设计工具。在设计与实现完全分离的大型项目上有绝对优势。
2. Java 规范化的接口有利于项目的横向切分,也有利于提高软件质量。
3. JVM 健壮可靠,性能比 Python、Ruby 高一个数量级。
4. 以销售为商业模式的产品,必须用编译型语言。
5. Java 有成熟的框架和社区。
aa88kk
2012-09-26 14:35:52 +08:00
貌似这里好像在软件行业工作的不多, 回答都没到点子上.企业级(这个很重要)开发为什么用java的多? 原因很简单:因为有J2EE. 其他语言还真没有类似开发框架. 至于速度,性能之类就不是考虑重点了.
kongruxi
2012-09-26 14:44:41 +08:00
我觉得影响一个东西有两个很重要的因素:商业和教育

商业上有 IBM 等大企业撑 Java
教育上,请问中国有多少个老师会 Python/Ruby
turing
2012-09-26 14:48:29 +08:00
java好招人

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/48721

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX