Over a million developers have joined DZone.
Silver Partner

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

· Java Zone

The Java Zone is presented by Hazelcast.  Learn more about Hazelcast on Azure and the best practices for seamless deployment of Hazelcast on Azure Virtual Machines.

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)

The Java Zone is presented by Hazelcast.  Learn more about Hazelcast on Azure and the best practices for seamless deployment of Hazelcast on Azure Virtual Machines.

Topics:

Published at DZone with permission of Adam Presley .

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}