Skip to content
AgileLogics
5 min read

What You Should Know Now — and What's Next

What You Should Know Now

  • The REPL and its modes, variables, numbers, strings, and control flow
  • Arrays, tuples, dictionaries, comprehensions, and the dot syntax for broadcasting
  • Functions with optional and keyword arguments, anonymous functions, and do blocks
  • The type hierarchy, abstract and concrete types, and parametric types
  • Multiple dispatch — Julia's central idea — and how to design with it
  • Structs, constructors, interfaces, and custom printing
  • Matrices, linear algebra, statistics, and reproducible random numbers
  • Error handling, files, modules, and Pkg project environments
  • Type stability, benchmarking, profiling, and avoiding allocations
  • Expressions, macros, multithreading, and distributed computing
  • Calling C and Python, and the scientific ecosystem: DataFrames, Plots and Makie, DifferentialEquations, optimization, and Flux

What Should You Learn Next?

  • A domain package in depth — the SciML ecosystem for modeling and simulation, JuMP for optimization, Flux or Lux for machine learning, or DataFrames and Makie for data analysis. Julia is usually learned for a kind of problem.
  • Python — Python has the largest data-science and ML ecosystem, and PythonCall.jl lets you mix the two.
  • R — R remains the lingua franca of statistics; RCall.jl connects it to Julia.
  • C or Fortran — C and Fortran help you read the numerical libraries Julia calls and understand what the compiler generates.
  • MATLAB — MATLAB is common in engineering; Julia's array syntax will feel familiar.

Build Something

Pick a problem you care about — a simulation, a dataset, a model — and solve it end to end in Julia: a reproducible project environment, fast type-stable code, tests, and a plot or report of the result. Share it as a package or a Pluto notebook, and read the source of the packages you use; most of Julia's ecosystem is written in Julia itself.