`
dongbin
  • 浏览: 244900 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

改变你能改变的,接受你不能改变的

阅读更多
最近关于ruby够提高开发效率的问题讨论的热火朝天 。我也插两嘴。

有一句格言我比较喜欢:“改变你能改变的,接受你不能改变的”。
人月神话告诉我们软件开发没有银弹:因为软件的内在复杂性是现实世界复杂性的映射。现实复杂性归咎于客观世界,属于上帝,所以软件的内在复杂性不可消灭。

但是它又告诉我们,软件开发中充斥着“次要复杂性”,也就是人为引入的复杂性,这种复杂性是可以消灭的,并且Brooks也很高兴的发现面向对象技术的发展对降低次要复杂性功不可没。这种次要复杂性表现在哪里呢?比如hibernate的hbm 文件,struts的formbean,Java匿名类的恶心语法。

Godlikeme的观点我很同意:现实复杂性是项目的最大障碍。可是如果现实复杂性的客观世界本身的复杂性的话,那不正就是客户的业务问题么,与其说是障碍,不如说是目标。这个Cost是无论如何不能消灭的,也就是“接受你不能改变的”。

可是实际项目中,除了现实复杂性,还有一些我们能够克服的次要复杂性。更少的代码量,更快的部署时间,自动化的单元测试和验收测试都是解决次要复杂性有力手段。

Godlikeme也承认ruby开发效率要快一些,但又说这是微乎其微的,“以至于”用不用ruby都一样。这是典型的否认定量 分析问题的手段。既然ror能够提升效率,哪怕只是一点点,有什么理由不接受呢?莫以善小而不为啊!假设我有和你一样解决业务问题的能力,那么我使用一套高效的开发工具,就会用较低的成本打败你,事情就这么简单。

以定量的手段降低项目成本是一个开发者的基本素质。

工具之所以重要,是因为他所代来的效率的提高几乎是无代价的!如果你掌握了他的话。从这场口水战中我发现,ruby这一方大多数掌握了ROR和java,而java这一方却不是。

何况ROR提高的效率真的是微乎其微么?
分享到:
评论
27 楼 zhenjw 2007-06-12  
<%
  你用的是java吗
  out.println(request.getLocale());
%>
26 楼 kevinming 2006-10-29  
我个人觉得还是要看具体的开发应用。每种语言都是自己的生存空间的。
这样泛泛的谈ruby/ROR的好处,但目前开发效率高等优势来说还是局限于某个应用领域而已。
25 楼 bd7lx 2006-10-27  
不要人云亦云

Ruby和Rails怎样,好多人在听别人说, 等着别人说

实际是观望的多

想象中ruby和rails会替代java, 想象中可以象美国一样书的销量会爆炸式的增长

董彬的态度在提醒要有耐心, 实际做些微小的能改变的实事
24 楼 javsky 2006-10-27  
前面看了网上说的ruby效率很高,经过robbin的实践证明,效率还是不错的,至少在小型的web上应用已经是很不错的了.
其实也正如大家说的了,什么语言只是工具而已,做好软件才是最重要的事情.所以小弟也开始学习ROR!
第一次在这里回贴,呵呵!看了大家的帖子,小弟很受教! 
23 楼 kimfly 2006-10-27  
ROR带来的好处不容置疑,用过的人都知道。ruby和java之争,与我们有关吗,选择自己合适的就行了。
22 楼 hk200 2006-10-27  
我也同意我们淡化主义之争,强调实战,因为很多问题需要有人去不断的尝试才能确定一个切实可行的方案,前期主义讨论的多了,实际做的人就没有了。
有些人喜欢讨论,有些人喜欢做。或者兼而有之,我们还是把精力放在实干上把。
21 楼 lighter 2006-10-26  
没有调查就没有发言权.
喜欢java,但也惊讶于RoR的开发效率.
20 楼 dongbin 2006-10-25  
dali 提醒我了,真的不是精华了。这个功能我还真的没见过,下次知道了。呵呵,谢谢。
19 楼 bd7lx 2006-10-25  
董彬可能有些误会了,上面的我提到了该帖子没有对该帖子表示任何的不满意见,但是精华贴已经评上了,令人疑惑的是改了标题和内容还是原来的精华贴吗?

这和Ruby也没关系,网站这么设计的逻辑是?

骑马的女孩可以说中文了,真好
18 楼 Godlikeme 2006-10-25  
apple 写道
我个人认为ROR是很好的东西,除了据说是日本人的产品外。
不过任何东西都有它的适用范围,比方说著名的牛三定律一定是正确的吗,开发上的东西更是如此,我个人认为ROR是脚本语言如ASP,PHP很好的替代品,它对于开发小型的WEB应用来少,是很好的选择。
不过对于大型的企业级应用来说,ROR在很多方面显的力不从心,这个领域JAVA仍然是不二的选择(当然.net也可以参考),同时需要指出的是,ROR到目前为止还是初级阶段,要达到成熟还有很长的路要走。

不好意思,借用下。例如,像这种评论我从来没说过。
17 楼 apple 2006-10-25  
我个人认为ROR是很好的东西,除了据说是日本人的产品外。
不过任何东西都有它的适用范围,比方说著名的牛三定律一定是正确的吗,开发上的东西更是如此,我个人认为ROR是脚本语言如ASP,PHP很好的替代品,它对于开发小型的WEB应用来少,是很好的选择。
不过对于大型的企业级应用来说,ROR在很多方面显的力不从心,这个领域JAVA仍然是不二的选择(当然.net也可以参考),同时需要指出的是,ROR到目前为止还是初级阶段,要达到成熟还有很长的路要走。
16 楼 dongbin 2006-10-25  
我承认标题起的不好,有误导嫌疑。这篇文章主要想讨论软件的内在复杂性和次要复杂性,只要读完这篇文章的人都应该看得出来,和“问题”,“主义”没有任何关系。虚心接受大家批评
15 楼 roseanne 2006-10-25  
bd7lx 写道
看了讨论的过程,学到很多

发起贴被评为了精华贴,无可非议。但其内容主要是加上了Ruby标签的软件工程和开发方法论的主题。

后面跟进的与Ruby都不太贴题,对人生格言学习和做人的道理大有帮助,这里的讨论就象喇嘛辩经一样,是培养从程序员向项目经理人和管理者转型的人才摇篮,什么主题不重要,重在参与和享受过程,在锻炼中成长,长得不一定是Ruby的学问。


R 委书记 精辟总结,下周RUBY 学习,认真讨论。。。

谢谢大家!
14 楼 fyol 2006-10-25  
bd71x是很"实在"的 (用这个朴实的词表达对bd71x的赞扬)
有时感觉在JE混的一些所谓"老大"很虚伪,不允许别人谈入门问题,而他们却从来不讨论技术问题,整天在搞一些思想啊、主义啊、方法啊这些虚无飘渺的问题,在灌水区玩的忘乎所以

这个帖子本身没有任何有价值的东西,却成为"精华",哈哈,这年头的人都喜欢恶搞,和把诗扬搞成第一的心态差不多


13 楼 bd7lx 2006-10-25  
看了讨论的过程,学到很多

发起贴被评为了精华贴,无可非议。但其内容主要是加上了Ruby标签的软件工程和开发方法论的主题。

后面跟进的与Ruby都不太贴题,对人生格言学习和做人的道理大有帮助,这里的讨论就象喇嘛辩经一样,是培养从程序员向项目经理人和管理者转型的人才摇篮,什么主题不重要,重在参与和享受过程,在锻炼中成长,长得不一定是Ruby的学问。



12 楼 roseanne 2006-10-25  
Thanks all!

I did not know so many people knew me here. 

I am a beginner in Ruby and RoR, came here to learn...

Thanks in Advance for All of Your Help... 
11 楼 blueoxygen 2006-10-25  
刑天战士 写道
说实在的,在大、中型的软件开发中,(10人以上),ruby这种动态语言是否能够成功还是个未知数,javaeye的开发才3个人而已……

PS:竟然看到ranchgirl姐姐了,好兴奋哦~~~~~~~


这个可能就要等TW这样地先锋公司来验证了。
目前用ROR的大多是web20创业公司,这样的公司,开发团队很难大过10个人。
10 楼 刑天战士 2006-10-25  
说实在的,在大、中型的软件开发中,(10人以上),ruby这种动态语言是否能够成功还是个未知数,javaeye的开发才3个人而已……

PS:竟然看到ranchgirl姐姐了,好兴奋哦~~~~~~~
9 楼 小天蝎 2006-10-25  
哈哈 在这里也能见到roseanne:)
8 楼 roseanne 2006-10-24  
That is a translation of the famous serenity prayer

引用
God grant me the serenity
to accept the things I cannot change;
courage to change the things I can;
and wisdom to know the difference.

相关推荐

    VC对话框运行后不能改变大小的问题收藏

    针对"VC对话框运行后不能改变大小"的问题,解决方法分为两个关键步骤: 第一步,修改对话框的初始化代码: 在对话框类的 OnInitDialog() 函数中,我们需要添加一行代码来修改对话框的样式,使其具备可调整大小的...

    职场第一课,接受有的时候比改变更难,你认为呢?.pdf

    "接受有的时候比改变更难"这句话揭示了一个深刻的道理:在面对不如意的情况时,首要任务是接纳现状,而不是盲目地试图改变。这是因为,没有理解和接受,任何改变都可能只是表面的妥协,而非真心的投入。 当我们遇到...

    中考语文满分作文当学会接受和改变的时候

    这篇文章主要探讨了如何面对失败和接受改变的重要性,特别是在个人成长和成功中的关键作用。以下是相关的知识点: 1. **面对失败的态度**:文章强调了两种对待失败的不同态度,悲观者选择叹息,而乐观者则微笑接受...

    QTabWidget 改变Tarbar文字方向

    在`hostPcSimulator`项目中,如果你需要将这些改变应用到模拟器的界面设计上,你需要确保在相应的地方调用了上述方法,并根据项目的具体需求进行调整。同时,记得在修改UI元素时,要考虑到用户的使用习惯和界面的...

    安卓textView相关-代码动态改变某些textview文本颜色及其大小的方式.rar

    在Android开发中,TextView是用于显示单行或多行文本的视图组件,它在用户界面...同时,了解如何使用SpannableString和Spanned对象能让你的文本更具表现力。在使用提供的代码片段时,记得结合实际情况进行适配和调试。

    可以改变皮肤并能接受键盘输入的计算器(java)

    一个可以改变皮肤的计算器(java) 可以接受键盘输入。。。。。。。

    VB中如何改变鼠标的指针形状

    这两个属性都可接受上述的常量值。例如,将鼠标指针设置为沙漏形状的代码如下: ```vb Cursor = vbHourglass ' 或 MousePointer = vbHourglass ``` 3. **使用自定义图标**: 如果需要使用自定义的图标作为...

    C#实现子窗体改变主窗体同时改变功能

    创建一个新的委托类型,例如`ChangeTitleEventHandler`,它接受适当的参数,如新标题。 ```csharp public delegate void ChangeTitleEventHandler(string newTitle); ``` 2. **创建事件**: 在子窗体类中,定义...

    Android 点击TextView 改变背景色

    在Android开发中,改变TextView的背景色是常见的交互设计需求,尤其在用户界面设计中,通过点击事件来改变TextView的状态可以提升用户体验。本教程将详细讲解如何实现Android中点击TextView时改变其背景颜色。 首先...

    动态改变FastReport内的Memo内容 Delphi

    在`uses`部分添加`frxReport`,确保你能访问FastReport的功能。 2. **创建Report**:在你的代码中创建一个`TfrxReport`对象,例如`Report1`。这将作为你的FastReport的实例。 3. **设计Report**:使用FastReport的...

    改变使你成为最大的赢家.doc

    选择成功意味着接受挑战,坚持到底就能成功。 5. **做人与做事**:在做事业之前先要做好人,遵循道德准则,如孔子的“己所不欲,勿施于人”。要以爱心对待他人,并且不要试图强制改变别人,而是通过自身改变来影响...

    如何在WinCC运行系统中通过脚本来改变对象颜色(背景、边框、文本)?.docx

    ### 如何在WinCC运行系统中通过脚本来改变对象颜色(背景、边框、文本) 在工业自动化领域,WinCC(Windows Control Center)是西门子公司开发的一款强大的人机交互界面(HMI)软件,广泛应用于工厂自动化和过程...

    高中生励志作文:把握人生,改变命运.docx

    他不相信自己的人生只能按照既定的道路前行,而是选择勇敢追求自己的理想,这种勇气和决心是改变命运的驱动力。 4. 努力与机遇的结合:电影《20xx》中的故事表明,尽管有些事情可能是预定的,但通过努力,人们可以...

    LabVIEW表格选中行的上色、改变背景颜色.rar

    通过以上步骤,你就能在LabVIEW中实现表格选中行的上色和背景颜色变化,从而提升用户界面的交互性和美观性。这种技巧在数据处理和测试测量应用程序中非常常见,能够帮助用户更快地识别和分析数据。

    C# 自由改变控件大小

    你可以直接修改控件的Size属性来改变其大小。 - `Width`和`Height`属性:分别代表控件的宽度和高度,可以单独调整。 2. **事件处理**: - `Resize`事件:当控件的大小发生改变时,会触发这个事件。你可以在此事件...

    c程序 运行改变颜色

    以下是从标题“c程序运行改变颜色”、描述“想让你的程序变得更漂亮吗?这里就是你最好的选择。”以及提供的代码片段中提炼出的相关知识点。 ### 知识点一:C语言中的控制台颜色更改 #### 1.1 使用`...

    【C++经典小程序源代码】改变鼠标光标的形状

    首先,C++本身并不直接支持图形界面或鼠标光标的管理,但可以通过Windows API(Application Programming Interface)来实现这些功能。Windows API提供了大量的函数,可以让我们控制窗口、处理消息以及更改系统资源,...

    改变自己的100种方法

    10. **实践与智慧**:能说不能做不是真智慧,实际行动比空谈更重要。 11. **倾听与思考**:多听少说,深思熟虑后再表达,可以避免不必要的冲突。 12. **人生观**:世间没有绝对的圆满,适应圆滑,但要保持对生活的...

    C# Unity 获取窗口状态 改变窗口状态

    首先,我们需要了解Unity中的`Window`类,它并不直接提供获取或设置窗口状态的方法。为了实现这些功能,我们通常需要借助于Windows API(应用程序接口)。Windows API提供了丰富的函数,允许程序直接与操作系统进行...

    VC 改变标题栏颜色实例

    它接受一个透明度参数,范围是0(完全不透明)到255(完全透明)。 4. **重绘菜单栏** 在改变了标题栏颜色后,应调用`DrawMenuBar`以更新菜单栏的显示。这一步确保菜单栏的颜色与标题栏一致。 ```cpp ...

Global site tag (gtag.js) - Google Analytics