Studying Julia

Self-study notes and code as I learn the Julia language, aimed at optimization and autonomous-driving research.

Julia Building toward optimization applications in Julia.

Why Julia

Julia pairs a high-level, math-like syntax with performance close to C through LLVM-based just-in-time compilation — which makes it a good fit for optimization-heavy research where prototypes often have to grow into fast solvers without a rewrite.

  • Speed without a two-language split — write and run in one language instead of prototyping in Python and re-implementing hot loops in C/C++.
  • First-class numerics — multiple dispatch and a strong type system make generic numerical code (solvers, models) concise and fast.
  • Mature optimization ecosystemJuMP for mathematical programming, Optim.jl, Optimization.jl, and differentiable-programming tooling.

Focus areas

  • Language basics: types, multiple dispatch, broadcasting, performance idioms
  • Numerical and scientific computing workflows
  • Optimization libraries (JuMP, Optim.jl) toward transportation and autonomous-driving applications