Learning Julia: Build high-performance applications for scientific computing
Anshul Joshi, Rahul Lakhanpal
- Set up Julia's environment and start building simple programs
- Explore the technical aspects of Julia and its potential when it comes to speed and data processing
- Write efficient and high-quality code in Julia
Julia is a highly appropriate language for scientific computing, but it comes with all the required capabilities of a general-purpose language. It allows us to achieve C/Fortran-like performance while maintaining the concise syntax of a scripting language such as Python. It is perfect for building high-performance and concurrent applications. From the basics of its syntax to learning built-in object types, this book covers it all.
This book shows you how to write effective functions, reduce code redundancies, and improve code reuse. It will be helpful for new programmers who are starting out with Julia to explore its wide and ever-growing package ecosystem and also for experienced developers/statisticians/data scientists who want to add Julia to their skill-set.
The book presents the fundamentals of programming in Julia and in-depth informative examples, using a step-by-step approach. You will be taken through concepts and examples such as doing simple mathematical operations, creating loops, metaprogramming, functions, collections, multiple dispatch, and so on.
By the end of the book, you will be able to apply your skills in Julia to create and explore applications of any domain.
What you will learn
- Understand Julia's ecosystem and create simple programs
- Master the type system and create your own types in Julia
- Understand Julia's type system, annotations, and conversions
- Define functions and understand meta-programming and multiple dispatch
- Create graphics and data visualizations using Julia
- Build programs capable of networking and parallel computation
- Develop real-world applications and use connections for RDBMS and NoSQL
- Learn to interact with other programming languages–C and Python—using Julia
About the Author
Anshul Joshi is a data scientist with experience in recommendation systems, predictive modeling, neural networks, and high performance computing. His research interests encompass deep learning, artificial intelligence, and computational physics. Most of the time, he can be caught exploring GitHub or trying anything new he can get his hands on. You can also follow his personal blog.
Rahul Lakhanpal is a technology and open source enthusiast. With diversified skills including systems engineering, web development, the cloud, and big data, he is language-agnostic and a firm believer in using the best tools and the right language for a particular job.
Rahul is an active contributor to various community portals and loves to solve challenging real-world problems in his leisure time. He is active on Twitter and writes blogs as well.
Table of Contents
- Understanding Julia’s ecosystem
- Programming concepts with Julia
- Defining Functions
- Understanding types and dispatch
- Working with control flow
- Interoperability and metaprogramming
- Numerical and scientific computation with Julia
- Data visualization and graphics
- Connecting with databases
- Best Practices (Julia's Internals)