本文的目的并非是想挑起语言之争,而是希望通过客观地分析每一种主流语言的能力,辨明其长短,让程序员能够扬长避短,有效地使用各种语言。让各种语言能够各安其位,为你更好的服务。 程序员应当成为语言的主人,而不是语言的奴隶。 这里,我将比较一下几种主流编程语言:C,C++,Java,.NET,Ruby,JavaScript。 其他主流编程语言,如Pascal,Delphi,我不太熟悉。希望熟悉的朋友能够补全对这些语言的评价。 至于Basic,它的版本差异很大,而且能力不太全面,这里也不做评价。阅读全文>
发表于 @ 2008年06月10日 00:19:00|评论(loading...)|收藏
本文的目的是想告诉大家,为什么C++的模板这么强大。为什么Ruby的Duck Typing(像鸭子那样编程)这么强大!
基于对象和面向对象编程共有三种范式。它们提供了强大的动态或者静态多态能力,使用它们编程,将令你的程序面向抽象,易于更换。
1,“模板支持的基于对象”的编程范式。这种编程范式适用于静态类型的语言。提供了静态多态的能力。典型的如C++。
2,“静态类型语言”的面向对象的编程范式。这种编程范式适用于静态类型的语言。提供了动态多态的能力。典型的如Java,NET。
3,“动态类型语言”的基于对象的编程范式。使用Duck Typing“像鸭子一样编程”的编程理念。这种编程范式适用于动态类型的语言。它们有类型,但是变量不确定类型。典型的如Ruby。这也实现了动态的多态能力。
阅读全文>
发表于 @ 2008年06月09日 01:41:00|评论(loading...)|收藏
函数式编程是最近被热炒的一个概念。国内外众多大牛纷纷发表文章,认为函数编程可能会再度兴起。搞得一向喜欢跟风的小弟我如坐针毡。因此,也抽空研究了一下函数式编程这个时髦的概念。上个世纪,我曾经在图书馆借了一本介绍所有主要计算机语言的书,那本书简单得介绍过Lisp和其他语言的语法。其中提到,Lisp是一门函数语言。当然,那时对这句话没什么概念。命令式编程是一种用程序状态描述计算的方法。使用这种范型的编程人员用语句改变程序状态。这就是为什么,像 Java 这样的程序是由一系列让计算机执行的命令 (或者语句) 所组成的。 另一方面,函数式编程是一种强调表达式的计算而非命令的执行的一种编程风格。表达式是用函数结合基本值构成的,它类似于用参数调用函数。 也就是说,函数式编程主要是函数调用,而不是其它的程序语句。而命令式编程,是通过程序语句的执行运行的。程序语句的执行,会改变程序中保存的状态。实际上,我们一般使用的命令式语言,如C++,Java,C#等的代码中,也可以看到大量的函数调用。一个优秀的软件工程师使用面向对象编程语言编写出来的代码,除了少数的创建对象实例的阅读全文>
发表于 @ 2008年01月24日 23:16:00|评论(loading...)|收藏
以前一直都用声明式事务管理:EJB,Spring的。这一次要用Jbpm,需要使用编程方式的事务管理,立刻乱了阵脚。事务管理得那个烂呀!真是惨不忍睹!
经过几天痛苦的研究,兄弟我终于搞定了编程方式的事务管理,研究出了一下小冬冬(得意ing)。相信对大家也会有所帮助!
近期较忙,我打算手头工作告一段落之后,就整理一下资料,推出《编程方式事务管理祥解》这样一篇文章。
阅读全文>
发表于 @ 2006年11月14日 13:25:00|评论(loading...)|收藏
这是Jboss 的jBPM3.12框架的用户指南的中文翻译。我的翻译风格是中英文对照,只翻译部分我认为重要的,不翻译简单的英文,以免浪费你我的时间。 同时,对于其中的部分内容,我会在翻译中做出解释和写上我的理解。
这是第四章----面向图表编程阅读全文>
发表于 @ 2006年09月22日 22:21:00|评论(loading...)|收藏
前几天遇到了命令模式,在Blog上解释了一下。今天,又遇到了状态模式,还是深入浅出的告诉大家什么是状态模式吧。
状态state模式是GOF23种模式中的一种,和命令模式一样,也是一种行为模式。
状态模式和命令模式相当像,一样是“接口—实现类”这种模式的应用,是面向接口编程原则的体现。
阅读全文>
发表于 @ 2006年09月22日 19:12:00|评论(loading...)|收藏
命令Command模式是GOF23种模式中的一种,是一种行为模式。这种模式很难理解。《设计模式》一书中对它语焉不详。而网上的一些文章对其的解释也是错误的。
实际上,命令模式并不是那么神秘。本文中我会简单的告诉你什么是命令模式,怎样使用命令模式。
阅读全文>
发表于 @ 2006年09月21日 15:13:00|评论(loading...)|收藏
怎样用Ant测试Spring项目
对于Spring项目,还有另外的讲究。
一、可以运行,但是要设置Eclipse,以使Eclipse自动往我的
中复制Spring配置文件。
-->
-->
-->
阅读全文>
发表于 @ 2005年11月18日 21:40:00|评论(loading...)|收藏
经过痛苦的N次尝试,终于,我成功的运行了Ant驱动的JUnit!
一、问题一 支持ANT的任务所需的jar包的配置。
二、问题二 JUnit任务的classpath支持类路径的设置的问题
这也是一个错误点!
阅读全文>
发表于 @ 2005年11月18日 21:34:00|评论(loading...)|收藏
横切关注点的两种实现方法
软件系统,可看作由一组关注点组成。其中,直接的业务关注点,是直切关注点。而为直切关注点提供服务的,就是横切关注点。
有两种方法可以提供横切关注点,一种是传统的OOP方法,提供一个与直切关注点的实现一样的类来提供服务。另一种是最新的AOP方法,提供一个Aspect方面(Spring AOP中叫advisor顾问)来提供服务。
阅读全文>
发表于 @ 2005年11月09日 23:47:00|评论(loading...)|收藏