Platinum Partner
java,groovy,coldfusion,languages

Language Comparison: Compute Factorial - Groovy, Java, and ColdFusion

A friend of mine is in school and taking some classes in Java, and also happens to be learning ColdFusion on the side. He was talking about the class and how they were learning about recursion and how they used the example of computing the factorial of a given number. Just for fun I took that opportunity to do this in a couple of languages... just to see what they look like side by side.

Please note there are no advantages or disadvantages to any of these code samples, but instead is shown as something educational... food for the brain if you will. :)

**ColdFusion**
<cffunction name="findFactorialCF" returntype="numeric" access="public" output="false">
   <cfargument name="n" type="numeric" required="true">
   <cfreturn (arguments.n="" eq="" 1)="" ?="" 1="" :="" arguments.n="" *="" findfactorialcf(n="" -="">
</cfreturn></cfargument></cffunction>
 
<cfoutput>
#findFactorialCF(11)#
</cfoutput>


**Java**
package com.adampresley.factorial
 
class Factorial
{
   public static void main(String[] args) {
      System.out.println(findFactorialJava(11));
   }
 
   public static int findFactorialJava(int n) {
      return (n == 1) ? 1 : n * findFactorialJava(n - 1);
   }
}


**Groovy**
def findFactorialGroovy = { n -> (n == 1) ? 1 : n * call(n - 1) }
println findFactorialGroovy(11)

Published at DZone with permission of {{ articles[0].authors[0].realName }}, DZone MVB. (source)

Opinions expressed by DZone contributors are their own.

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}