瞎扯淡 什么叫企业级?

ryan · 2013年03月20日 · 最后由 swordray 回复于 2013年03月27日 · 13427 次阅读

经常会看到说 java ee 是企业级的。没听说 ror 是企业级的。但是明明也有用 ror 做出很牛逼应用的企业的。那这企业级到底是啥。。。曾经还听过这样一个吐槽,说一个不怎么懂技术的项目经理拒绝了程序员提议使用 python,原因就是不够企业级,非得用 java。。。其实需求用这种动态的语言配上轻量级框架就足够了。。。放在瞎扯淡里面,就是跟大家一起扯扯,这个所谓的企业级是神马东西,难道还存在着非得用 javaee 而 ruby 不能实现或者相应效率不如的需求嘛?

企业级就是说企业要容易招到会这项技术的人,所以 Java 是企业级。

#1 楼 @blacktulip 哪天 ruby 用的多也就变企业级了。。。好扯淡的逻辑。。。

请顺便解释一下 Enterprise 2.0

#2 楼 @Ryan 这是吐槽……

我也很需要被科普啊

#5 楼 @robin 小白求科普!

IBM,SAP 这类大家伙卖的东西是什么,什么就是企业级。 不管多大的业务,用了这些 “企业级”,倍有面子。否则用 python 这类就丢了面子。

如果是架构模式的话参见http://book.douban.com/subject/4826290/ 似乎就是像电信,银行这些业务逻辑很复杂的软件系统 RoR 的 ActiveRecord 就是根据这这本书的一个模式命名的

和企业号同型的船叫企业级

从帆船到太空船都有

企业级技术,通俗的将就是有自我验证的,比如 Ruby 同学号称证明哥德巴赫猜想的引证,世界上没几个能懂点的,能懂的分歧也比较大,火气也大,所以没人鸟 Ruby 同学,这个时候就需要逆向证明 R 同学的证明是对的,而且最好都是充分必要的证明。

#12 楼 @oth 厉害,深奥!

企业级=起夜急

一般稳定性,或者鲁棒性实验或者证明,需要一定的资源,又假设 Py 基金没有企业级的强烈需求,所以还不如把钱花到开会上去,找个地方洗洗睡了。最近 R 语言很火爆,国际会议,开源项目,风风火火的,可是到了真出数据给 CEO 董事会的时候,还是乖乖用正版 SAS...

为啥关键时刻要用 SAS...人家是久经考验的战士,历史证明了这个软件是可靠的,你看谷歌的福利制度一开始都是抄袭 SAS 的,所以证明了他狠企业级。。。另一方面,和国外的信托文化有关,一般付费的东西,就会有保障,会有人负责,所以免费的东西,就很难有信服力了。

马克搞非死不可为啥用微软系统,就很明白了吧,当时谁能玩这么大的流量啊,sun 技术范太牛逼肯定不靠谱,IBM 看不上自己,红帽更新太慢,甲骨文律师太牛逼。没错,这小子贼聪明,逮了微软,这钱花的值啊~

#16 楼 @oth 兄弟你分析的果然头头是道!

参加过本地一次 QClub 活动,主题说的是有关于敏捷开发方面的东西。 有个人做的主题分享说,他们给客户开发产品本来打算是用 ruby on rails 来弄的,因为也想来一把敏捷开发嘛,迭代来得还是比较快的。 结果客户说不行,你就要给我用 java 来做这个产品,结果他们就换到play framework去了。。。

#18 楼 @ywjno 客户是有他的道理的,用 Java 做将来如果这个团队不干了,客户可以轻易找到接手的人。Rails 的人毕竟比 Java 的人难找多了。

更正一下,16 楼信托文化应为契约文化,洗洗睡了。。。

#19 楼 @blacktulip 是啊,毕业小伙工资低又好招人,不弄 java 怎么降低人力成本的单价

理解中的其实所谓的企业级开发,基本都是在之前的系统添加模块或者就是维护之前的系统,重要的是不出错,出的报表数据正确,工数统计没问题

再说一个公司沉淀下来的东西都经过了那么多年的考验都是可用的,再换一个玩意弄一是浪费钱二是怕不稳定(这才是关键),而且那种工作流(workflow)之类的东东真不是说替换就能替换掉的。。。

PS:rails 的工作流(workflow)的项目能否给提供一下?

有企业肯出 100 万以上买你的软件和服务,你就可以认为你达到了企业级,所以企业级是一个比较高的门槛,你需要一家公司,能够开出 100 万增值税发票的公司,成立这么家公司难度很大,当然找到肯出 100 万买你软件的企业难度更大……

面向企业和面向互联网是不同的,下回不要用 “企业级”,只需要用 Enterprise 和 Internet 来指称两种。

桌面用的软件比如 photoshop 之类的应该算是 Enterprise 呢还是 Internet 呢

basecamp 之类的它又算是 Enterprise 呢还是 Internet 呢

现在动不动就企业级,真正什么是企业级呢?纯意淫出来的瞎扯淡

#18 楼 @ywjno play 在 csdn 上看到过,感觉挺不错,也可以像 rails 一样,控制台自动生成代码结构

我的看法,企业在用就是企业级。主流的六种都算企业级。

但是有微妙差别,银行据说是用 Java 的(请知情的证实,不知是否用.net),要求高可靠,Java 是编译型,可能要可靠些,也许是偏见和固执。

Ruby 适合于对错误不敏感的网站。

@Ryan 懂公司的技术,懂公司常用的工具套件,懂公司的各种流程,懂公司的业务知识。 你不需要多么创新甚至鼓励传统,你只要是个合格的螺丝钉。 意味着你需要知道和不同的 team 或人合作,企业级工作 (包括创新) 多数都是自上而下, 而很难自下而上。所以很多创始人被收购后选择走人,有这部分原因吧。

#29 楼 @chenge java 从来都是解释型的...c++ 才是编译型...可靠这点不靠语言是编译还是解释,java 的虚拟机写的比较好而已,其他解释型语言的虚拟机没经过太多大项目的蹂躏可能才无法称为企业级 要论可靠 erlang 无可厚非的拿第一...爱立信的电信项目 99.9999% 的在线率,那 0.000001% 还是因为工作人员不小心把电源弄断了,erlang 才是鲁棒性天下第一...OTP 里各种大牛实现好的 pattern,初学者也可以很快入手服务器开发哦...更何况还有牛叉的代码热更新...让你修 bug 都那么从容... erlang 我也只是看了一两个月入门而已,ruby-china 有 erlang 大牛的...要说企业级,erlang 才是企业级...java 只是因为招人好招,用的公司多而已...

#31 楼 @sailtsao 编译可以提前发现类型错误,这点 Matz 都是承认的,参见编程世界那本书。 解决办法是更多地依赖单元测试。

当然 Java 也需要单元测试,所以我才说可能是成见和固执。

#32 楼 @chenge 提问:编译器能解决多线程死锁的问题么?答:解决不了 编译型语言 提问:erlang 有多线程死锁的问题么?答:没有 解释型语言 所以可靠不可靠还真跟编译时编译器能多给几个语法报错没多大关系...

#33 楼 @sailtsao 我是拿 java 和 ruby 对比,不要扯远了。

#34 楼 @chenge 哦,这俩都是解释型啊...java 不是编译型...java 从一出生就是带着虚拟机的纸尿布来的...然后说我到哪个国家都不用担心找不着厕所了...这个比喻形象么?像 c/c++ 之流就还需要去哪个国家找哪个国家的厕所...

#35 楼 @sailtsao 虚拟机不等于解释性。

java 程序 build 就可以检查参数类型,这个不就是编译么。生成了.java 文件后,才开始执行的。

你要说指令集,都是逐句解释的。

#37 楼 @chenge 语言是不是编译型要看他直接生成了操作系统特定的二进制代码还是生成了中间码,我去给你搜 wiki... java 程序到汇编的最终过程是解释器翻译 java 代码的中间码执行的 而 c++ 就需要在 windows 编译,也需要在 linux 上面编译,因为他编译出来的二进制是系统特定的 你说的检查参数类型只能说这个语言是弱类型还是强类型语言 我就不贴大段英文了,你搜下若弱类型,强类型,然后搜下编译型,解释型,然后看看中文的资料就了解了

#16 楼 @oth facebook 是 php 吧,没听说用微软的。

我倒是听说过大公司喜欢用微软的,可以买技术服务。

@sailtsao @chenge

编译和解释的界定要看宾语...

编译 = code generation, 这个 code 可以是任何代码 (源文件, 字节码, 机器码, 数据, 文本...), 编译的结果可以存在文件里, 也可以存在内存里.

ruby 可以是编译器: 把源文件编译成字节码 ruby 也可以是解释器: 解释执行字节码

javac 是编译器: 把源文件编译成类 (字节码) java 可以是解释器: 解释执行字节码 java 也可以是编译器: 把热的字节码编译成机器码 (JIT), 不经过汇编


只有放在可执行内存里的机器码可以直接送给 cpu, cpu 是机器码的解释器

字节码是语言设计的比较效率的中间代码表示, 生成字节码不需要申请可执行内存.

汇编是一种 语言 , 基本可以 1:1 由 assembler 翻译成机器码. gcc -S 生成的就是汇编, gcc 编译 C 语言是先编译成汇编, 然后调用 gas 把汇编编译成机器码.

debug 时看到的 xor %rax, %rax 之类的就是 反编译 出来的内容 (机器码 => 汇编).


常常有人分不清 强/弱类型 和 静态/动态类型 的区别... 这和有些语言卖广告时喜欢混淆视听也有关系...

#41 楼 @luikore 感谢大神详细的解答...我说的都是解释型,编译型语言...我加了型字...没说器... 对于 JIT 的话,性能提升是肯定巨大的,但是也无法从根本改变一个语言是解释型还是编译型

这个问题,就像什么叫战略导弹一样,美国人把能打到美国本土的导弹叫战略导弹,而不是人们一般说的射程或者是否携带核弹头,如果是中国战略导弹的定义就是要在 8000 公里左右,而是墨西哥的话,有个几百公里,对美国人也算战略导弹了,所谓企业级也就是如此哈

企业更关注自身业务需求,对软件要求可靠,和社区需求不太一样(包括非功能需求)。当然也要看什么类型企业,各有不同。

顺便废话个极端的例子吧, 做个加法生成个 txt 报表,一个程序员觉得可以用他喜欢的语言在一月内完成,报价 5w;但是企业预算出 100w,要求确保不出任何意外,因为一出错公司破产。

进来跟着学习一下企业级。。。。

那美国那个火星车上的软件可以算太空级,还有卫星上面好多软件都用 c 和 lisp 写的,那是不是说可以用 c 和 lisp 来鄙视下 java 的企业级。。。

这个坑可以继续挖呀

我用过很多业务用软件,其中有企业级也有非企业级,非企业级的特点是点一下马上崩溃,企业级的特点是点完一个半小时以後才崩溃

j2ee 得吹概念,越简单的事情弄的越复杂越好,不然怎么卖硬件,卖咨询,是吧

这帖真能点火呀,建议到 java 的社区里面去黑,这里大都搞 ROR,找不着强劲的喷,我们大家都别自己意淫了。

#18 楼 @ywjno play 也不是那么好上手的啊,实际上目前 java 社区的这些框架都不是那么好上手的 所谓用 java 以后好招人这种说法我觉得在现在已经不现实了

#51 楼 @edokeh 如果你跟几年前的 java 框架来比的话就会觉得现在的那些 springMVC、play 之类的还是很好上手的,

相对来说 java 还是好招人的,我还是坚持这个观点

@edokeh Play 1 很好上手, Play 2 就是另外一回事了... 现在给予 Play 1 的项目还是有的

#16 楼 @oth facebook 是 windows 上搞出来的?不是 php+mysql+linux 么? 能给我一个你的说法的出处么?

#53 楼 @wppurking 感觉 Play 从 1 升到 2 后,反而失去了存在的必要。

"企业级"就是随便换个人上来也能干。 Ruby 门槛高了~

#1 楼 @blacktulip 神回复!确实如此。

@ch3n 当年卖数据中心的微软老哥正式吹的,早年微软专门组了一票大侠,对付 ring0 级的数据中心问题。一般的 ring0 级的问题都是当班花旦搞定,搞不定不睡觉哦。fb 的工程师仍的 sticks 太多了太频了。。。这种事儿都是江湖传闻,呵呵。

#33 楼 @sailtsao 可靠是平台是否容错,正确是逻辑实现是否符合 spec...这两个还真不能比啊...

本来以为这个论坛里的人都应该不错,喜欢 ruby 是好事,但是也不要黑 Java,看了一些人说的话真的是很能黑。。。

Java 和 Ruby 虽说有重叠的地方,有可能重叠的地方 Ruby 的优势更大一些,但是对于企业集成,企业的后台项目 Java/J2EE 的优势不仅仅是 Ruby/Rails 一个语言和框架就可以取代的,任何其他语言和框架都很难被取代。。。

有可能大家接触更多的一些是 startup 之类的项目,Ruby 会有优势而言,但是真正进了上千人规模的公司,业务复杂度,还有各个应用之间的交互和集成,Ruby 是干不了的。。。

另外 Grails 在和 Java 项目的集成上优势更大一些,可以共享项目的后台 Model 模块,可 Rails 就很难做到。

鄙视提到两门语言的对比的时候就上来喷的人

真心觉得关键在架构而不在语言本身。

企业级应该是类库的完善性、安全性、稳定性以及对软硬件的兼容性来说的吧。 以及解决方案的多样性等等。 java 在一些方面的解决方案是要比 ruby 要多。

#59 楼 @bhuztez 最起码比起 Ruby ,Java 还是很好招的,要淘到靠谱的也不难,我们公司做 rails 也做 java ,这点对比上很明显。 #64 楼 @tarzansos 的确如此,ruby 在这方面的确做的不够。

不过我还是喜欢 rails ,我讨厌编译,做上改动需要等待太久。还是有开发时的 reload,有时候感觉还没有重新启动一下服务快。

企业级,就是一大堆 2B,喝着白开水,啃着面包, 半夜 12 点了还在瞎忙活。

就为了 recoding 设计书上那一丝丝的小改动。

100000000000.times { recoding and test and no return }

讨论过度,场景不同,呵呵

@ch3n 太流弊了

#66 楼 @zfjoy520 前面的都对,no return 这个是因为没看到,不代表没有,只缘身在其中嘛。

其实比用对比 java。企业级根据企业需求来,有些需求根本不是 ruby 或者 java 能够染指的,有些用 c 或者 c++ 也是不敢的,根据企业要求来做适合企业用的,才是企业级。根据技术来做程序员喜欢的,那是另外一回事。

#68 楼 @naitnix 国新,找到新工作没? ^_^

@ch3n ,我加你 qq,你骂我~~~

我用 java 的时候还是 ssh 呢,现在说的我都听不懂了

企业级指的是:高效、规模、稳定、可伸缩可扩展,因为是企业应用,所以要求较高的意思,比如 24*7 等常用提法。

ROR 的企业级应用,等待论坛里的各种大牛们去开辟。

会有的,只要相信,肯定会有的。

#72 楼 @naitnix fuck...原来是你啊.发你 QQ 来...我加你

ee 是企业级的 java 和企业级没有关系。 主要是说 ee 是企业级的意思。 一般来说,出去特殊情况,任何语言都可以实现企业级,没有必要较真吧。 请注意我的前提。

“企业级” 是技术界的政客发明的政治术语,不用太在意。当你的老板或客户不懂技术时,你就可以说你开发的系统时企业级,你的技术也是企业级,因此也需要企业级的预算。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号