title: Why bash functions use round brackets, if those are never filled with arguments?
body: <p>The function definition syntax for various languages is:</p>
  <p>C (<em>the godfather of all scripting languages</em>):</p>
  <pre class="lang-c prettyprint-override"><code>func_type myfunc_c (arg_type arg_name , ...)
  {
      /* arguments explicitly specified */
  }
  </code></pre>
  <p>TCL:</p>
  <pre><code>proc myfunc_tcl {arg1 arg2 args} {
      # arguments explicitly specified
  }
  </code></pre>
  <p>Perl:</p>
  <pre class="lang-perl prettyprint-override"><code>sub myfunc_perl {
      # no arguments explicitly specified &amp;&amp; no round brackets used
  }
  </code></pre>
  <p>Python:</p>
  <pre class="lang-python prettyprint-override"><code>def myfunc_python(arg1, arg2):
      # arguments explicitly specified
  </code></pre>
  <p>Bash:</p>
  <pre class="lang-bash prettyprint-override"><code>function myfunc_bash () {
      # arguments NEVER explicitly specified
      # WHY using round brackets?
  }
  </code></pre>
  <p><em>Why using round brackets in bash?</em></p>