Java成为企业应用开发主流的原因?
来源:互联网 发布:mac 黑苹果安装驱动 编辑:程序博客网 时间:2024/06/05 14:50
Java编程语言的语法非常简单,规范比较严密,这样规范化带来的好处就是,一旦程序员具有比较良好的面向对象编程基础和设计模式的掌握,那么编写出来的代码几乎是大同小异的。 为什么优秀的Java开源框架的源代码我们读起来都比较容易呢?为什么Java那么容易写出来无二义性,相似度那么高的代码风格呢?为什么用Java做同样一件事情,往往只有一种最优的写法呢?为什么Java很难搞出来奇技淫巧呢?为什么Java语言一直被人认为是大巧若拙呢?我们再想想,为什么JDK5.0引入的技巧颇高的泛型编程到现在也有三年,为什么还是没有被广泛采用?再想想Java语言被设计出来是用在什么场合的呢? 想清楚这些问题,那么我们就会发现Java成为企业应用开发主流的一个内在原因(外因也很多,这里不谈),因为Java语言足够死板! 所以写Java程序没有什么花巧,所以为了弄出来点花巧,逼的Java社区搞出来动态反射,搞出来AOP,抄袭了泛型,其目的都是增加Java语言的灵活性。
那么Java这种死板而简单的语言有什么好处呢?好处就是适合作为工业语言! 那么我们分析一下工业语言在语法上面有着什么样的要求呢?1、语法足够简单而且强壮
2、语法足够死板、做同样的事情,只有一种最优解
3、足够的语法障碍,抑制你的随意发挥,给我规规矩矩的编码
工业语言为什么有这种内在的要求呢?
1、团队协作的需要
大规模的项目需要几十人以上的协作,甚至是异地协作。这种大规模的团队协作要求程序员的代码风格必须高度一致,并且代码块之间的依赖性降到最低。显然死板而容易解藕的Java非常的合格
2、批量生产的需要
现在的软件外包产业体现的尤为明显!不需要你的创意,不需要你的设计,就需要你的coding,而且coding风格,功能已经规定死了。Java显然又非常合适。
好了,上面分析了从语法特点角度,为什么Java成为了工业语言,那么再分析一下为什么ruby不能成为工业语言:
我刚开始学习ruby的时候非常不适应,被ruby五花八门的语法糖衣搞晕了,同样的一件事情,你有无数种做法,笨拙的,普通的,聪明的,天才的,各式各样,甚至有本《ruby quiz》的书专门讲解ruby编程的各种奇技淫巧。ruby这种内在语法特性直接造就了ruby on rails奇迹。 在ruby on rails框架里面,有无数的ruby magic,好用之极又让你惊喜万分,没有ruby这么多灵活的语法支持,rails变不出来这么多魔术。 但是ruby的语法灵活性恰恰是成为工业语言的一大障碍!
由于rails规定死你的代码框架,不论是横向的功能解藕,还是纵向的分层解藕,都比较困难。
首先来说纵向的分层解藕,这是Java大规模项目常用的办法,但是在ruby on rails中基本不可能。因为ruby on rails各层之间的隐式约定太多了,你不可能分层开发。目前ruby on rails项目都是建议横向功能解藕,不建议纵向分层解藕的。
再说横向功能解藕:首先每个人必须承担足够大颗粒度的功能模块,不能拆分的太细了。因为rails的一个Controller文件就代表一大块功能了。 例如整个forum就只有一个controller,整个blog也就只有一个controller。当然你惊叹,整个forum代码就一个文件搞定了啊,代码太少了!但是反过来,你也可以说,论坛这个功能只能交给一个人来做了,没有办法再拆分功能了。这就带来了一个问题,团队协作变的困难了,如果两个人同时做论坛模块,就会出现经常性的该controller文件冲突合并。即使妥协一下,每个人只负责一个大功能块,但是底层的model代码都是互相关联在一起的。又难以避免的并发修改和文件冲突合并。 但是Java不存在这个问题,为什么呢?因为Java把一个Controller分解成为了无数个小Action,把一个Model分解成为了PO,DAO,Service,进行了充分的功能职责的解藕,每个人的工作基本不会互相干扰,那么团队协作的问题就好办了。
jerry有个观点我非常赞同,他认为目前我们没有找到合适的团队协作方法是因为现在的软件开发方法都不适合ruby on rails开发团队。而真正适合ruby on rails的软件开发方法究竟是什么样子,现在还没有出现,恐怕需要人们的探索了。ruby on rails流行必须伴随着适合ruby on rails的软件开发方法一起出现才行。
因此在人们总结出来这种适合ruby on rails的软件开发方法之前,ruby on rails仍然会被局限在web2.0开发领域,在这个领域,ruby on rails的所有优点将发挥的淋漓尽致,而缺点将会被回避开。不过一旦涉及到企业应用开发领域,我们将面临这些问题。 因此,我的结论就是ruby on rails目前尚且不适合企业应用项目的开发。当然如果有适合ruby on rails的软件开发指导方法的出现,或者企业应用本身的定义已经发生了彻底的改变,那么我的结论也就不复存在了。
用一句话来总结就是:
ruby on rails是武林高手的绝世宝剑,却不是两军对垒中士兵使用的常规作战武器,Java却是这种常规武器。
本文节选自《Java过时了吗》点击打开链接
- Java成为企业应用开发主流的原因?
- 开发企业应用的主流技术趋势之一:Flex+Java
- ruby on rails为什么暂时无法成为企业应用开发的主流?
- ruby on rails为什么暂时无法成为企业应用开发的主流?
- 开源应用逐渐成为企业主流
- 在线RSS阅读:能否成为RSS应用的新主流?
- 用RMI开发基于Java的企业分布式应用
- 用RMI开发基于Java的企业分布式应用
- android 应用开发不能自动生成R.java的原因
- 企业互联网应用,超前不代表主流
- 2012年六大API预测:企业APIs成为主流
- 为何敏捷开发将成为主流
- Java开发中常用的主流技术
- 基于HTML5的Hybrid App成为企业移动开发首选
- 基于HTML5的Hybrid App成为企业移动开发首选
- Java主流开发框架
- 定制开发是企业级应用未来的主流
- 企业应用开发面临的挑战
- 初习C++点滴摘录之变成的一些规则与建议(7)
- Jeecg - MiniDao专题讲解公开课(2013-08-22 晚8:30-10:30 )
- 类似unix的管道的ruby简单实现代码简单说明
- 对 C++ 中 Lambda Function 的一点感想
- 基于opencv的中值滤波
- Java成为企业应用开发主流的原因?
- Java容器类概述
- windows 7操作系统搭建android开发环境
- c语言中数组,链表的区别
- 抽象类的简单示例
- 第一篇,
- Linux环境安装ACE 6.1.0
- POJ 1007 DNA 排序
- Visual Studio常用小技巧