Introduction to Julia
Julia is a high-level, high-performance, dynamic programming language designed for technical and scientific computing.
1.1 What is Julia?
Julia is a high-level, high-performance, dynamic programming language designed for technical and scientific computing. It aims to solve the "two-language problem": prototype in an easy language (Python/R/MATLAB) and rewrite in a fast one (C/Fortran). Julia is both.
Fast: JIT-compiled via LLVM to native code; performance comparable to C/Fortran.
Dynamic with optional type annotations.
Multiple dispatch as the core programming paradigm.
Composable packages: generic code works with types its authors never imagined (e.g., differential equations with GPU arrays, units, and dual numbers).
Metaprogramming: Lisp-like macros; code is data.
Built-in parallelism: tasks, threads, distributed processes, GPUs.
Excellent interop: call C/Fortran directly, Python and R via packages.
Unicode-friendly math notation: α, ∑, √, ∈.
Free & open source (MIT).
1.2 History
Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman start Julia at MIT
"Why We Created Julia" blog post; public release Julia Computing founded (now JuliaHub) Julia 1.0 — stability guarantee
Julia team receives the Wilkinson Prize; multi-threading in 1.3
1.6: faster precompilation, parallel package loading 1.9: native code caching in package images (big latency improvement)
1.10 LTS; 1.11: Memory type, public keyword 1.12: juliac static compilation (experimental), further latency work
1.3 Who uses Julia?
NASA, the FAA (aircraft collision avoidance ACAS X), the Federal Reserve Bank of New York (economic models), Pfizer & Moderna (pharmacometrics via Pumas), AstraZeneca, BlackRock, CliMA (climate modeling), MIT, Celeste project (petascale astronomy), energy grid modeling, quantitative finance.
1.4 Why learn Julia?
Write readable math-like code that runs fast.
Best-in-class ecosystems for differential equations (SciML), optimization (JuMP), and scientific ML.
Learn multiple dispatch — a powerful way to structure programs.