Julia 教程
Julia 是专为科学计算和数值分析设计的高性能动态语言,兼具 Python 的易用性和 C 的速度。多重派发、JIT 编译(LLVM)和出色的并行计算能力使其成为数据科学与高性能计算的理想选择。本教程共 40 章,从零基础到项目实战。
🟢 基础入门(第 1-10 章)
| 章节 | 标题 | 难度 |
|---|
| 01 | Julia 简介与环境搭建 | 🟢 |
| 02 | 基本类型与数值计算 | 🟢 |
| 03 | 字符串与正则表达式 | 🟢 |
| 04 | 函数与多重派发 | 🟢 |
| 05 | 控制流与异常处理 | 🟢 |
| 06 | 复合类型(struct) | 🟢 |
| 07 | 数组与矩阵运算 | 🟢 |
| 08 | 字典、集合与命名元组 | 🟢 |
| 09 | 类型系统基础 | 🟢 |
| 10 | 模块与包管理 | 🟢 |
🟡 进阶特性(第 11-20 章)
| 章节 | 标题 | 难度 |
|---|
| 11 | 多重派发深入 | 🟡 |
| 12 | 宏与元编程 | 🔴 |
| 13 | 迭代器与生成器 | 🟡 |
| 14 | 并行计算基础 | 🟡 |
| 15 | 异步编程与协程 | 🟡 |
| 16 | 文件 I/O 与序列化 | 🟡 |
| 17 | 日期、时间与周期 | 🟡 |
| 18 | 随机数与概率分布 | 🟡 |
| 19 | 性能优化指南 | 🔴 |
| 20 | 测试与文档 | 🟡 |
🔴 科学计算与数据(第 21-30 章)
| 章节 | 标题 | 难度 |
|---|
| 21 | 线性代数 | 🟡 |
| 22 | 数值优化(Optim.jl) | 🔴 |
| 23 | 数据处理(DataFrames.jl) | 🟡 |
| 24 | 数据可视化(Plots.jl / Makie) | 🟡 |
| 25 | 微分方程(DifferentialEquations.jl) | 🔴 |
| 26 | 机器学习基础(Flux.jl) | 🔴 |
| 27 | 优化建模(JuMP.jl) | 🔴 |
| 28 | 信号处理与傅里叶变换 | 🔴 |
| 29 | 统计与贝叶斯推断 | 🔴 |
| 30 | GPU 计算(CUDA.jl) | 🔴 |
🔴 工程实践与项目(第 31-40 章)
| 章节 | 标题 | 难度 |
|---|
| 31 | Julia 内部机制与编译流程 | 🔴 |
| 32 | C/Fortran 互操作(ccall) | 🔴 |
| 33 | Python 互操作(PyCall.jl) | 🟡 |
| 34 | Web 开发(Genie.jl) | 🟡 |
| 35 | 数据库操作 | 🟡 |
| 36 | 构建与发布(Package 指南) | 🟡 |
| 37 | CI/CD 与工程最佳实践 | 🟡 |
| 38 | 分布式计算 | 🔴 |
| 39 | 宏实战:DSL 构建 | 🔴 |
| 40 | 完整项目:构建科学计算工具包 | 🔴 |
学习路线建议
第一阶段:基础(1-10) → 掌握 Julia 语法核心与类型系统
第二阶段:进阶(11-20) → 多重派发、并行、元编程
第三阶段:计算(21-30) → 科学计算、数据处理、ML 全栈
第四阶段:工程(31-40) → 互操作、部署、完整项目
参考资源