`
harry
  • 浏览: 184588 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[转]商业软件编程很无聊?

阅读更多
一篇是Thoughtworks前员工Ravi Mohan写的,《但是马老大,商业编程就是无聊》。Martin Fowler在一篇帖子里说,编写企业软件不光是捣腾数据。并不是只有解决算法问题,操纵硬件,和应用大量数学才有意思。关心顾客(马丁所谓的客户亲和力),全力让自己的软件为客户带来商业利益也是挑战所在,趣味所存。Ravi在帖子里不以为然,认为不管Martin Fowler怎么辩白,商业编程无趣是不争的事实。不信可以看看人心所向。从来只见有天赋的程序员屁颠屁颠地去开发编译器,操作系统,TCP/IP stack, 大规模并行系统,高性能服务器,游戏引擎等系统级软件。哪怕优秀的商业软件程序员也无限渴望去开发系统软件。相反,从来没见那个能靠系统开发软件挣钱的牛程无限向往开发商业软件。这好比柏林墙没倒前,只见东德人拼死冲到西德去,没见有什么西德人拼死要到东德去的(愤青们就不用和我争论东德怎么好了哈。Ravi自己的例子而已。东德好不好关我P事)。Ravi还说,哪怕Thoughtworks内部员工也无限向往系统编程。每次Thoughtworks讨论把生意扩展到嵌入式编程和非其它非企业计算领域时,Thoughtworks的员工们都士气高涨。然后Ravi引了老愤青Paul Graham的话,号称集中精力攻克困难但定义清晰的问题完全是出于自我保护的需要,因为成天解决琐碎问题不能让人学到任何东西,只能让人变蠢。做系统编程给人的满足感比做琐碎的商业编程大多了。Ravi进一步谈到Martin Fowler其实也承认商业软件开发遇到的问题太过随意,很多都是为了满足客户莫名其妙的要求,不会带给程序员成长的机会。他尤其赞同Martin说的“商业编程的真正挑战在于找到软件中能给客户的生意带来切实利益的东西。要做到这点,我们需要扎实的行业知识和技术功底。”。可惜的是,大多数商业软件程序员处于尴尬的境地:论行业知识不如行业专家。论编程技术不如真正的hacker(黑客这个词已经等同于cracker了,所以我还是用原文)。当然,这种尴尬情况在其它编程领域也存在,但症状没有那么严重。搞笑的是,Ravi说其实Martin算是商业程序员里比较幸运的,总有机会和牛人们合作,找出他的代码到底有什么商业价值,而这和普通的“编码人”有本质区别。这也是为什么外包的工作如此无趣的原因:商业方面的分析已经定了。编码的框架已经定了。承接外包项目的程序员发挥余地实在有限,更不用说趣味二字了。作者的要点是,要想让自己的工作变得有趣有意义,要么就下大力气变成业务专家。要么就变成可以玩儿转系统的编程高手。其实系统编程高手也是业务专家。只不过他们的业务领域恰好和技术领域重合。
 
第二篇帖子是Reg Braithwaite的一篇帖子,商业编程没有那么难?》。这篇帖子同时引了Reganwald另外一篇短文,怎么让编程变得困难》。Reg在两篇文章里都谈到了同样的一个观点:商业编程从表面上看来都是广泛而肤浅的。程序员有大量问题要解决,但没有什么问题特别深刻。哪怕你用最新的技术都不足以让普通的商业编程变得更有意义。用Reg的话来说就是用Ruby On Rails编程好比聆听Jaco Pastorius,什么人都能干。只有在复制Jaco的盛宴时才能真正获取学习经验。还是以RoR为例。用RoR远远不够(其实不用也无所谓)。仔细研究RoR的代码,学习怎么设计自己的DSL才是正道。在《商业编程没有那么难?》里面,Reg举了三个例子。一个是从信用卡的使用情况实时判断被使用的信用卡是否被盗。一个是实时卡车调度问题,能针对路矿和递送要求优化卡车路线和发车时间表。还有一个是销售辅助系统,能学习潜在客户的特质,帮助销售决定是否跟进。嗯,两个模式识别和学习问题,一个调度和网络流优化问题。都是非常有挑战性的问题。都可以让一个普通的商业项目变得趣味十足(当然也能让我们的压力陡增)。当然,如果你对每月一张固定的工资单感到满意,知道自己的工作马上就要外包给西贡的大学生也能安然入睡,就不用自找麻烦了。作者的要点就是:挑战不是别人给的,而是在勃勃雄心驱使下,你自己找的。也许以后做每个项目时,我们应该给自己找点有挑战性的问题,激发自己的潜力。不然做的项目再多,也不过浪费人生。
 
第三篇帖子是XML发明人Tim Bray的一篇短文。在Tim的努力下,JRuby的两个主程加入了Sun。新闻公布后Tim收到几乎所有JVM语言作者的询问,问为啥子Sun独选了JRuby那俩哥们,能不能给其它JVM语言也提供支持。于是Tim谈了JRuby受到重视的原因。首先,没人要求,没人给钱的情况下,这俩老大投入大量精力,运用各种技术把半死的JRuby项目盘活了。其次,JRuby背后有活跃的社区(大半因为Rails的风潮)。第三,他们善于交流,到处做报告,做让人印象深刻的演示,展示项目进展。第四,他们不断发放高质量的代码。每个版本都较上个版本有长足进步。也就是说,他们证明了自己的能力,展示了自己的领导才能,更重要的是他们不断交出优秀的作品。职业培训里常说要想事业顺利,要做到两点,搞出事(make things happen),和搞定事(make things done)。JRuby是个很好的例子
分享到:
评论
7 楼 zhangbincn 2007-05-18  
public static void main(String[] args) { 
System.out.println("=========="); 

}
 

6 楼 zhangbincn 2007-05-18  
public static void main(String[] args) { 
System.out.println("=========="); 

}
 

5 楼 zhangbincn 2007-05-18  
public static void main(String[] args) { 
    System.out.println("=========="); 

}
 
4 楼 zhangbincn 2007-05-18  
引用

public static void main(String[] args) {
    System.out.println("==========");

}


3 楼 zhangbincn 2007-05-18  
引用
fads
2 楼 zhangbincn 2007-05-18  
public static void main(String[] args) {
    System.out.println("==========");
   
}
1 楼 zhangbincn 2007-05-18  
fdsa

相关推荐

    文本OP320编程软件

    《OP320文本编程软件详解与应用》 在信息技术领域,编程软件是不可或缺的工具,它们为开发者提供了丰富的功能,使得代码编写、调试和管理变得更加便捷。本文将重点介绍"OP320-A文本编程软件6.5",这款专为显示器...

    信捷公司PLC编程软件

    信捷公司的PLC编程软件是一款专门用于对其品牌下的可编程逻辑控制器(PLC)进行编程的工具。在工业自动化领域,PLC是控制设备运行的关键设备,它接收来自传感器和其他输入设备的信息,处理这些信息,并根据预设的...

    深圳赋安FS5050编程软件

    【深圳赋安FS5050编程软件】是一款专门针对深圳赋安生产的FS5050消防控制主机设计的编程工具,它在消防系统技术领域扮演着至关重要的角色。这款软件是消防工程技术人员进行系统配置、调试和维护的得力助手,能够确保...

    10进制转16进制小软件,VB编程

    标题中的“10进制转16进制小软件,VB编程”指的是使用Visual Basic(VB)编程语言开发的一个小型应用程序,它的主要功能是将十进制数字转换为十六进制表示。VB是一种面向对象的编程语言,由微软公司开发,广泛应用于...

    商业编程-源码-时代软件下载 2002 v2.01.zip

    【压缩包子文件的文件名称列表】"时代软件下载 2002 v2.01" 是压缩包内的主要文件,很可能是这个商业软件项目的核心代码库或者包含了整个项目的所有文件。这些文件可能包括程序的头文件、源代码文件(如.C或.CPP)、...

    松下PLC编程软件松下PLC编程软件

    松下PLC(可编程逻辑控制器)编程软件是用于设计、调试和监控松下品牌PLC设备的应用程序。这类软件通常包含多种功能,如编程、模拟、诊断和更新固件,使得工程师能够有效地管理和控制自动化系统。以下是关于松下PLC...

    FX2n编程软件中文

    在提供的压缩包文件中,"readme.txt"可能是软件的使用说明或更新日志,"readme.URL"可能指向详细的在线文档或官方网站,而"Fx-pcs-winC300"很可能是FX2n编程软件的安装程序或应用程序文件。用户需要解压并按照readme...

    松江3208联动编程软件

    【松江3208联动编程软件】是专为松江3208火灾自动报警主机设计的一款专用软件,主要用于实现设备的联动编程。这款软件的重要性在于它能够帮助用户高效地配置和管理火灾报警系统的各个组件,确保在紧急情况下能够及时...

    西门子S5_PLC编程软件

    西门子S5 PLC编程软件是一款历史悠久且在特定领域仍具有广泛应用的工控软件。西门子S5可编程控制器(PLC)是工业自动化早期的代表性产品,它为自动化控制提供了灵活、可靠的解决方案,尤其是在20世纪80年代至90年代...

    步科触摸屏编程软件(EasyBuilder500)v2.7.4中文安装版

    步科触摸屏编程软件(EasyBuilder500)是一款非常好用的编程软件,软件主要适用于电力系统编程,软件拥有众多的功能和特色,并且支持windows平台的所有矢量字体,编程的时候会更加的方便,操作过程也非常的简单,需要...

    海湾主机编程软件 3.2

    【海湾主机编程软件 3.2】是一款专用于海湾消防系统中GST5000系列主机的编程与管理工具。该软件集成了多种功能,包括联动编程、点位注册和地址编辑,为用户提供了一个全面的解决方案,以实现对消防系统的高效配置和...

    WEINVIEW触摸屏编程软件V2.62版本

    【WEINVIEW触摸屏编程软件V2.62版本】是一款专为WEINVIEW品牌的触摸屏设计的专业编程工具,主要用于创建、编辑和调试触摸屏应用界面。该软件提供了丰富的图形库、逻辑控制功能以及与PLC等设备的通讯接口,使得用户...

    富士PLC NB 编程软件

    富士PLC NB系列编程软件 中文版的总结富士NB系列可编程程序控制器的通讯接口的标准、特性、NB编程电缆制作、RS232电缆插座、通讯故障检查,目的帮助初学者尽快掌握该技术,运用该技术,维护现有设备的方便。

    CH341编程器1.41版(2022年无限制版).rar

    标签“CH341编程器软件1.41版”进一步强调了软件的核心特性,即它是基于CH341芯片的编程器,并且是具体到1.41版本的软件。 在压缩包的文件列表中,我们可以看到以下几个关键文件: 1. **编程器驱动**:这是用于...

    Cortex-M离线编程器配置软件.zip

    标题中的"Cortex-M离线编程器配置软件"指的是专门用于对基于Cortex-M系列处理器的微控制器进行离线编程的工具。Cortex-M是ARM公司设计的一种广泛应用在嵌入式系统中的内核系列,以其高效能、低功耗和易于使用的特点...

    北大青鸟编程软件

    北大青鸟消防主机,编程调试软件,可以通过这款软件对主机程序进行下载上传编辑等操作,适合消防方面的同志

    广州数控980TD系列数控车床及编程软件合集.zip

    针对广数980TD系列数车,有PLC编程操作说明,编程软件,标准车床程序带注释,适合初学者参考,编程软件操作简单,无需破解。

    从毕业生到程序员:使用C#开发商业软件,加书签完整扫描版

    】本书的初衷就是帮助企业建立新人在入职2年多的时间中关于解决职场新人面临的编程技术技能缺乏、软件行业思想、职场规划等很多问题的系统培养理念和制度。因学生在学校里开发的软件是学习和学术性的软件,本书也能...

    3380 测试机的软件编程手册

    3380 测试机的软件编程手册,包括硬件配置信息,软件代码书写结构等信息

    中文编程软件雅奇880 2012企业版免费破解版

    中文编程软件雅奇880 2012企业版免费破解版下载: 界面设计:不需要专业知识、不需要复杂的操作,只要使用鼠标拖拖拉拉,各种各样的应用软件界面就可轻松完成。  ——只要懂管理,就会编程序!  报表设计:...

Global site tag (gtag.js) - Google Analytics