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**
**Java**
**Groovy**
Published at DZone with permission of its author, Adam Presley. (source)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)
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)
Tags:





Comments
Russel Winder replied on Thu, 2011/05/19 - 8:18am
Raymond Camden replied on Thu, 2011/05/19 - 9:59am
Raymond Camden replied on Thu, 2011/05/19 - 10:04am
Carlos Hoces replied on Thu, 2011/05/19 - 10:07am
If I am not wrong, the code should be:
public static int findFactorialJava(int n) { return n <= 1 ? 1 : n * findFactorialJava(n - 1); }Mitch Pronschinske replied on Thu, 2011/05/19 - 10:09am
in response to:
Raymond Camden
Thanks Raymond,
You can take a look at the source of the blog through the reference box, but I just reposted Adam's blog did a simple copy and paste. Thanks for putting up some better examples in the comments.
darryl west replied on Thu, 2011/05/19 - 10:12am
Alex Tkachman replied on Thu, 2011/05/19 - 4:42pm
in response to:
Russel Winder