title: Factorial function works in Python, returns 0 for Julia
body: <p>I define a factorial function as follows in Python:</p>
  
  <pre><code>def fact(n):
      if n == 1:
          return n
      else:
          return n * fact(n-1)
  
  print(fact(100))
  </code></pre>
  
  <p>and as follows in Julia:</p>
  
  <pre><code>function fact(n)
      if n == 1
          n
      else
          n * fact(n-1)
      end
  end
  
  println(fact(100))
  </code></pre>
  
  <p>The python program returns a very large number for the evaluation of 100 (as expected). Julia returns 0. With a smaller number (like 10) they both work.</p>
  
  <p>I have two questions:</p>
  
  <ol>
  <li>Why does Python handle this OK and Julia not.</li>
  <li>Why doesn't Julia throw an error and just print 0 instead?</li>
  </ol>