# Does knowing Rust make you a better Julia programmer

**URL:** <https://discourse.julialang.org/t/does-knowing-rust-make-you-a-better-julia-programmer/122668>\
**Category:** Offtopic\
**Tags:** rust\
**Created:** [November 15, 2024, 9:41am UTC](https://discourse.julialang.org/t/does-knowing-rust-make-you-a-better-julia-programmer/122668 "2024-11-15T09:41:03Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![bertschi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bertschi/32/33462_2.png) [@bertschi](https://discourse.julialang.org/u/bertschi)\
**Post date:** [November 15, 2024, 10:36pm UTC](https://discourse.julialang.org/t/does-knowing-rust-make-you-a-better-julia-programmer/122668/8 "2024-11-15T22:36:32Z")

</div>

I agree that the type system in Rust is nice. Yet, Julia is considerably more open in that every function is generic and can potentially be re-defined. Further, as data types are values even dispatch on specific values is possible and e.g., used to implement chain-rules or inverses for functions.  
To me, a major difference is that Rust distinguishes between generic functions – which have a single implementation – and methods – with multiple definitions for different types (had discussed that difference [previously](https://discourse.julialang.org/t/specifying-function-contract/108983/4) in the context of Haskell). Thus, more thought is required up-front about what should be extensible and what not, which might be a good thing, but also restricts potential combinations/re-use when these had not been considered.

---

_[View the full topic](https://discourse.julialang.org/t/does-knowing-rust-make-you-a-better-julia-programmer/122668)._
