# Is multiple dispatch the same as function overloading?

**URL:** <https://discourse.julialang.org/t/is-multiple-dispatch-the-same-as-function-overloading/4145>\
**Category:** New to Julia\
**Tags:** multidispatch\
**Created:** [June 7, 2017, 7:56pm UTC](https://discourse.julialang.org/t/is-multiple-dispatch-the-same-as-function-overloading/4145 "2017-06-07T19:56:40Z")\
**Posts on this page:** 1\
**Showing post:** 13

<div class="post-metadata">

**Author:** ![barche](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/barche/32/79_2.png) [@barche](https://discourse.julialang.org/u/barche)\
**Post date:** [June 9, 2017, 8:03pm UTC](https://discourse.julialang.org/t/is-multiple-dispatch-the-same-as-function-overloading/4145/13 "2017-06-09T20:03:41Z")

</div>

See also:

> [@Julia motivation: why weren't Numpy, Scipy, Numba, good enough?](https://discourse.julialang.org/t/julia-motivation-why-werent-numpy-scipy-numba-good-enough/2236/27):
>
> Yes. C++ overloading is multi-argument but is also all static — it only works on types known to the compiler. If you want dynamic dispatch, you need to use virtual methods, which dispatch on a single argument and use different syntax. Dynamic dispatch appears to be important. People want to just throw whatever they have at some functions, and have the right thing happen, regardless of whether the code can be statically typed. But in C++ static type errors are not even the worst of it: the compil…

---

_[View the full topic](https://discourse.julialang.org/t/is-multiple-dispatch-the-same-as-function-overloading/4145)._
