Book Image

Julia Programming Projects

By : Adrian Salceanu
Book Image

Julia Programming Projects

By: Adrian Salceanu

Overview of this book

Julia is a new programming language that offers a unique combination of performance and productivity. Its powerful features, friendly syntax, and speed are attracting a growing number of adopters from Python, R, and Matlab, effectively raising the bar for modern general and scientific computing. After six years in the making, Julia has reached version 1.0. Now is the perfect time to learn it, due to its large-scale adoption across a wide range of domains, including fintech, biotech, education, and AI. Beginning with an introduction to the language, Julia Programming Projects goes on to illustrate how to analyze the Iris dataset using DataFrames. You will explore functions and the type system, methods, and multiple dispatch while building a web scraper and a web app. Next, you'll delve into machine learning, where you'll build a books recommender system. You will also see how to apply unsupervised machine learning to perform clustering on the San Francisco business database. After metaprogramming, the final chapters will discuss dates and time, time series analysis, visualization, and forecasting. We'll close with package development, documenting, testing and benchmarking. By the end of the book, you will have gained the practical knowledge to build real-world applications in Julia.
Table of Contents (19 chapters)
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Preface
Index

Working with dates and times


Julia provides a very rich API for handling date and time information. All the functionality is packed into the Dates module. The module is built in to the language so there's no need for additional package installs. In order to access its functionality, all we have to do is declare that we'll be using Dates.

The dates module exposes three main types—Date, DateTime, and Time. They are all subtypes of the abstract TimeType type and represent day, millisecond, and nanosecond precision, respectively.

Julia tries to make working with dates and times as simple as possible. This is the reason why, on the one hand, it provides three distinct types, each with its own temporal representation:

  • Date object maps to a date—a time entity defined by a day, a month, and a year
  • An instance of Time is a moment in time—the hour, the minute, the second, and the milliseconds, but with absolutely no information about the date itself
  • The DateTime, as you may have guessed from the name...