言語屋さんではないので詳しくは話せないけど、Julia が Class を使わない理由は多重ディスパッチと呼ばれる仕組みを採用しているから。おそらく、Go とか Rust は別の理由(未調査)
なので、Julia は Ruby や Python のような 純粋オブジェクト指向言語ではないが、疑似的なオブジェクト指向の書き方ができる
多重ディスパッチがあると、クラスがあって、そこにメソッドが属しているという考え方はあまり意味を持たない。collide-with という名前のメソッドは、引数ごとにそれぞれ 2 つのクラスと関連付けられている「普通の関数呼び出し」に過ぎなくなる。結果として、メソッドを呼び出す際の特殊な構文を必要としない。