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
doblocks - 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.