Addressing skill intersection issue and realizing Julia full potential

Making an AD framework is a nontrivial undertaking, so yes, you have to know and understand a quite few concepts for it, including (:drum: roll for suspense…) calculus. But this is not specific to Julia.

To make a program fast, you can invest in understanding how compilers and modern computers work, including, LLVM, SIMD, cache, etc. But this is not specific to Julia either.

You would face the same issues in any modern language, including C++.

You pick it up by practice. It is not a big deal, especially compared to acquiring some level of expertise in a field. Internalizing the performance tips is maybe comparable to 1/3–1/2 of typical one semester course, depending your previous exposure to computing.

Pro tip: time management. Instead of opening highly speculative topics like this one, this one, or this one, just program Julia. It will pay off.

12 Likes