Book Image

Mastering Julia - Second Edition

By : Malcolm Sherrington
Book Image

Mastering Julia - Second Edition

By: Malcolm Sherrington

Overview of this book

Julia is a well-constructed programming language which was designed for fast execution speed by using just-in-time LLVM compilation techniques, thus eliminating the classic problem of performing analysis in one language and translating it for performance in a second. This book is a primer on Julia’s approach to a wide variety of topics such as scientific computing, statistics, machine learning, simulation, graphics, and distributed computing. Starting off with a refresher on installing and running Julia on different platforms, you’ll quickly get to grips with the core concepts and delve into a discussion on how to use Julia with various code editors and interactive development environments (IDEs). As you progress, you’ll see how data works through simple statistics and analytics and discover Julia's speed, its real strength, which makes it particularly useful in highly intensive computing tasks. You’ll also and observe how Julia can cooperate with external processes to enhance graphics and data visualization. Finally, you will explore metaprogramming and learn how it adds great power to the language and establish networking and distributed computing with Julia. By the end of this book, you’ll be confident in using Julia as part of your existing skill set.
Table of Contents (14 chapters)

Python, R, and Java

A Julia/Python interface has been supported since the early version of Julia but only to the work of Steven G. Johnson, of MIT, on the PyCall module. Further, this was used in creating the PyPlot visualization package, which is a wrapper around the Python matplotlib package.

We will see this already in this book and will be discussing it in more detail in the chapter on Graphics. Also, Steven Johnson wrote a kernel interface to the IPython IDE (viz. IJulia), and the work between the IPython and Julia teams led to a new version of the former, Jupyter, in which the code examples accompanying this book have been distributed.

These modules are now supported by the JuliaPy community group, and in addition, there is a “reverse” package, PyJulia, which permits Julia to be called from Python; I will describe that briefly shortly.

In addition, there are some wrapper packages, notably those that implement the Pandas, scikit-learn, Seaborn, and SymPy...