`
Godlikeme
  • 浏览: 165170 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

开发语言 vs 软件工程

阅读更多
最近看了java vs ruby很多这方面讨论的文章,也顺便看了很多这方面的资料。
语言毕竟是工具性质,肯定是各有优势了,不想细研究这些,一门语言学的比较精通,其他的就触类旁通了,至于到底那个好就是个人偏好的问题了。虽然现在用java,其实一直感觉matlab做科学计算才是我感觉最爽的。
读过人月神话的 ,大家应该知道,软件工程的难点在于domain model,需求,沟通,变更、管理这些方面,这里面语言所能产生的作用是再次的。
孰本孰莫呢?还是多想想怎么抓住最本质的东西吧。

我从没有对Ruby有过负面评价,我的出发点是不要把开发语言的优点、缺点看得如此的重,他们本身是同质的,真正能够给开发效率带来的提高并不大。我在这里强调了算法,是想强调软件开发的难点是现实问题的复杂性,这些才是软件开发中最大的障碍,任何开发语言遇到这个问题都无能为力。我不想比较什么优缺点,ruby我了解一点点,耳濡目染,但至少对我现在所了解的情况来说,还没有什么让我觉得ruby较其他语言有本质上的进步,大同小异罢了。我相信语言还会不断进步...,但它还仅仅是语言,是表达形式,内容才是最重要的。

http://www.iteye.com/topic/29400?page=3
在这个贴子里,robbin通过实际项目经历,展示了ruby再web项目效率上的强大,我不想把所有的功劳都归功于ruby,因为我相信整个项目团队的技术实力、经验、协作也是效率之源。但至少让我对开发语言的作用十分有限这个看法有了很大的改观,也激起了我对ruby的强烈兴趣。
分享到:
评论
4 楼 cookoo 2006-10-26  
没有这种什么比什么更重要的问题巴?基本都很重要,具体得看什么样的项目和需求有所侧重。

你提到现实的复杂性,这个太笼统了。首先有多少事是复杂的?比如javaeye这个网站的开发;又有多少事是一开始就复杂的?比如javaeye的可扩展性问题。所以不要一开始把复杂性搞得那么普遍:简单的事用简单工具来做,有复杂的事再留给复杂的工具也不迟。

其次,这世界上会有各种各样的语言(编程语言,行业用语),在各种不同的领域提升沟通效率,这就是表达的力量。这个证明太多了,比如数学发明那么多古怪符号,用大白话不一样能说明同样的‘内容’?再如你提到的matlab, 做矩阵运算和用c写肯定不一样。就算内容比形式更重要,也应该选则有更好的更合适的’形式‘/工具,杀鸡用牛刀是不符合生产率的发展规律的。

《人月》举了很多数据,但是说得是当年的项目和开发方法,对现在的以agile方式为开发哲学的web项目小团队是否适用还很难说。
3 楼 chengren 2006-10-25  
术业有专攻,不同的工具用在不同的地方。

这次家里装修让我深有体会啊。
钉钉子也有电动的机器,但是是不是需要把我的榔头扔了呢?我看未必吧。。。
2 楼 fixopen 2006-10-25  
反对楼主意见,我认为语言是工具。我想这一点大家都不否认,但是,工具就不重要吗?错了,工具是知识和经验的结晶,真正的结晶,非常强大和方便的重用机制。

人月神化也不能被神化,以前认为进程调度是本质复杂性,而分配内存是次要复杂性,可是现在看来,进程调度也不过是某种次要复杂性,所有的本质复杂性最终都会被工具降格为次要复杂性。当然,随着我们面对的问题不断的变换,我们会碰到不同的复杂性问题,以前我们觉得让比水重的东西浮在水面上很难,外观和样式不是什么主要矛盾,而现在我们根本不关心这个问题,我们开始研究流体中的摩擦,外形,坚固和抗风浪的程度。一个船舶设计师不会再为为什么船会浮起来而太过烦心了。
1 楼 alang 2006-10-23  
科学是第一生产力。

但是科学也要促进生产工具的发展。

相关推荐

    JAVA开发项目软件工程课程设计图书借阅管理系统源代码.zip

    JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码...

    \软件工程课程设计\软件工程课程设计.doc

    软件工程课程设计需要在特定的开发与运行环境中进行,包括操作系统、编程语言、数据库管理系统等。学生需要了解开发与运行环境的基本概念和技术,从而选择合适的开发与运行环境。 二.系统分析 系统分析是软件工程...

    开发语言判断器-可以查看任何软件

    开发语言对于理解软件的工作原理、进行逆向工程、学习编程以及软件维护都至关重要。 在软件开发中,不同的编程语言有不同的特性和用途。例如,C++通常用于系统级编程和游戏开发,因为它提供了低级别的控制和高性能...

    [软件工程形式化方法与语言].李莹.吴江琴

    软件工程形式化方法与语言是计算机科学领域的重要分支,它主要关注如何使用严格的数学方法来定义和分析软件系统,以减少开发过程中的不确定性和歧义。本书由李莹和吴江琴编著,由浙江大学出版社出版,是一本系统介绍...

    软件工程设计案例

    - **20世纪70年代中期至80年代**: 计算机辅助软件工程(CASE)成为研究热点,开发了多种对软件技术发展有深远影响的软件工程环境。 - **20世纪80年代中期至90年代**: 面向对象的语言和方法成为主流的软件开发技术,...

    软件工程 电子书 电子科技大学

    《软件工程》是一本由电子科技大学的黄迪明教授主审、许家珆教授主编的专业教材,它全面地涵盖了软件开发的各个阶段和关键环节,是学习软件工程理论与实践的重要参考资料。这本书的章节结构严谨,内容丰富,旨在帮助...

    软件工程思想(已谈笑的方式讲述软件工程思想)

    ### 软件工程思想概览 #### 一、引言 《软件工程思想》这本书以其独特的视角和风趣幽默的写作风格,探讨了...总之,《软件工程思想》是一本兼具实用性和趣味性的佳作,值得所有关心软件开发和软件工程质量的人士阅读。

    北大软件工程课件

    它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等...

    软件工程题库-多选.doc

    软件工程是计算机科学的一个分支,它关注于软件的开发、维护和管理,旨在解决软件项目的复杂性和高成本问题。在软件工程中,一系列规范化的步骤和原则被应用以确保软件的质量、可维护性和效率。 1. 问题定义时期...

    集美大学试卷 软件工程2010-2011学年期末《软件工程》试卷

    《集美大学软件工程2010-2011学年期末《软件工程》试卷解析》 在软件工程的学习过程中,期末试卷是检验学生理论知识与实践技能的重要手段。集美大学软件工程专业的期末试卷,无疑是对学生们一学期学习成果的全面...

    软件工程课件.rar

    软件工程是一门涵盖了软件开发全生命周期的学科,旨在通过系统化、规范化的流程来提高软件质量、效率以及可维护性。本资料“软件工程课件.rar”提供了关于软件工程的全面讲解,以PPT的形式共分为20个章节,涵盖了从...

    开发文档 软件工程 完整案例 开发文档

    本文将深入探讨“开发文档 软件工程 完整案例 开发文档”这一主题,特别关注面向对象的学籍管理系统。 首先,软件工程是一门系统化、规范化的学科,它涵盖了软件开发的全生命周期,包括需求分析、设计、编码、测试...

    软件工程学习软件工程PPT下载

    《软件工程》是计算机科学与工程领域的重要课程,主要探讨如何高效、可靠地开发和维护软件。本课程的PPT内容涵盖了软件工程的基础概念,包括软件的定义、软件工程的含义、软件生存周期以及开发模型。 1. **软件**:...

    密训资料02333软件工程.pdf

    1. 软件工程的定义:介绍软件工程的概念,它是一门应用工程原则于软件开发的学科,旨在系统化地开发、运营、维护和退役软件。 2. 软件生命周期:解释软件从概念产生到最终退役的整个生命周期,包括需求分析、设计、...

    软件工程第四版

    《软件工程第四版》是软件开发领域的一本经典教材,由知名的计算机教育专家张海藩和吕云翔共同编著。这本书深入浅出地讲解了软件工程的基本理论、方法和技术,旨在培养读者在实际项目中应用软件工程知识的能力。下面...

Global site tag (gtag.js) - Google Analytics