2nd Edition. — Apress, 2025. — 371 p. — ISBN-13 979-8-8688-0964-4.
Learn the Julia programming language as quickly as possible. This book is a must-have reference guide that presents the essential Julia syntax in a well-organized format, updated with the latest features of Julia’s APIs, libraries, and packages.
This book provides an introduction that reveals basic Julia structures and syntax; and discusses data types, control flow, functions, input/output, exceptions, metaprogramming, performance, and more. Additionally, you'll learn to interface Julia with other programming languages such as R for statistics or Python. At a more applied level, you will learn how to use Julia packages for data analysis, numerical optimization, symbolic computation, and machine learning, and how to present your results in dynamic documents.
The Second Edition delves deeper into modules, environments, and parallelism in Julia. It covers random numbers, and reproducibility in stochastic computations, and adds a section on probabilistic analysis. Finally, it provides forward-thinking introductions to AI and Machine Learning workflows using BetaML, including regression, classification, clustering, and more, with practical exercises and solutions for self-learners.
What You Will Learn.Work with Julia types and the different containers for rapid development.
Use vectorized, classical loop-based code, logical operators, and blocks.
Explore Julia functions: arguments, return values, polymorphism, parameters, anonymous functions, and broadcasts.
Build custom structures in Julia.
Use C/C++, Python, or R libraries in Julia and embed Julia in other code.
Optimize performance with GPU programming, profiling, and more.
Manage, prepare, analyze, and visualize your data with DataFrames and Plots.
Part I: Language Core.
Getting Started.
Data Types and Structures.
Control Flow and Functions.
Custom Types.
Input/Output.
Metaprogramming and Macros.
Interfacing Julia with Other Languages.
Efficiently Write Efficient Code.
Parallel Computing in Julia.
Part II: Packages Ecosystem.
Working with Data.
Scientific Libraries.
AI with Julia.
Utilities.