Julia 1.0 Programming: Dynamic and high-performance programming to build fast scientific applications
Book information
Description
Enter the exciting world of Julia, a high-performance language for technical computing Key FeaturesLeverage Julia's high speed and efficiency for your applicationsWork with Julia in a multi-core, distributed, and networked environmentApply Julia to tackle problems concurrently and in a distributed environmentBook Description The release of Julia 1.0 is now ready to change the technical world by combining the high productivity and ease of use of Python and R with the lightning-fast speed of C++. Julia 1.0 programming gives you a head start in tackling your numerical and data problems. You will begin by learning how to set up a running Julia platform, before exploring its various built-in types. With the help of practical examples, this book walks you through two important collection types: arrays and matrices. In addition to this, you will be taken through how type conversions and promotions work. In the course of the book, you will be introduced to the homo-iconicity and metaprogramming concepts in Julia. You will understand how Julia provides different ways to interact with an operating system, as well as other languages, and then you'll discover what macros are. Once you have grasped the basics, you’ll study what makes Julia suitable for numerical and scientific computing, and learn about the features provided by Julia. By the end of this book, you will also have learned how to run external programs. This book covers all you need to know about Julia in order to leverage its high speed and efficiency for your applications. What you will learnSet up your Julia environment to achieve high productivityCreate your own types to extend the built-in type systemVisualize your data in Julia with plotting packagesExplore the use of built-in macros for testing and debugging, among other usesApply Julia to tackle problems concurrentlyIntegrate Julia with other languages such as C, Python, and MATLABWho this book is for Julia 1.0 Programming is for you if you are a statistician or data scientist who wants a crash course in the Julia programming language while building big data applications. A basic knowledge of mathematics is needed to understand the various methods that are used or created during the course of the book to exploit the capabilities that Julia is designed with. Table of ContentsInstalling the Julia Platform Variables, Types, and Operations Functions Control Flow Collection Types More on Types, Methods, and Modules Metaprogramming in Julia I/O, Networking, and Parallel Computing Running External Programs The Standard Library and Packages Cover Title Page Copyright and Credits Packt Upsell Contributors Table of Contents Preface Chapter 1: Installing the Julia Platform Installing Julia Windows OS OS X Linux OS Building from source JuliaPro Working with Julia's REPL Startup options and Julia scripts Packages Adding a new package Installing and working with IJulia Installing Juno Installing julia-vscode Installing Sublime-IJulia Other editors and IDEs How Julia works Summary Chapter 2: Variables, Types, and Operations Variables, naming conventions, and comments Types Integers Floating point numbers Elementary mathematical functions and operations Rational and complex numbers Characters Strings Formatting numbers and strings Regular expressions Ranges and arrays Other ways to create arrays Some common functions for arrays Dates and times Scope and constants Summary Chapter 3: Functions Defining functions Optional and keyword arguments Anonymous functions First-class functions and closures functions Broadcasting Map, filter, and list comprehensions Generic functions and multiple dispatch Summary Chapter 4: Control Flow Conditional evaluation Repeated evaluation for loops while loops The break statement The continue statement Exception handling Scope revisited Tasks Summary Chapter 5: Collection Types Matrices Tuples Dictionaries Keys and values – looping Sets An example project – word frequency Summary Chapter 6: More on Types, Methods, and Modules Type annotations Type conversions and promotions The type hierarchy – subtypes and supertypes Concrete and abstract types User-defined and composite types When are two values or objects equal or identical? A multiple-dispatch example Types and collections – inner constructors Type unions Parametric types and methods Standard modules and paths Summary Chapter 7: Metaprogramming in Julia Expressions and symbols Evaluation and interpolation Defining macros Built-in macros Testing Debugging Benchmarking Starting a task Reflection capabilities Summary Chapter 8: I/O, Networking, and Parallel Computing Basic input and output Working with files Reading and writing CSV files Using DataFrames Other file formats Working with TCP sockets and servers Interacting with databases Parallel operations and computing Creating processes Using low-level communications Parallel loops and maps Summary Chapter 9: Running External Programs Running shell commands Interpolation Pipelining Calling C and Fortran Calling Python Performance tips Tools to use Summary Chapter 10: The Standard Library and Packages Digging deeper into the standard library Julia's package manager Installing and updating packages Graphics in Julia Using Plots on data Summary Other Books You May Enjoy Index
Similar books
Julia 1.0 Programming Complete Reference Guide
2019 · PDF
Learn Red - Fundamentals of Red: Get Up and Running with the Red Language for Full-Stack Development
2018 · EPUB
Programming Crystal: Create High-Performance, Safe, Concurrent Apps
2019 · PDF
Programming Crystal Create High-Performance, Safe, Concurrent Apps
2019 · PDF
Julia 1.0 Programming Dynamic and High-Performance Programming to Build Fast Scientific Applications
2018 · EPUB
Rust Essentials: A quick guide to writing fast, safe, and concurrent systems and applications
2017 · PDF
Rust Essentials: A quick guide to writing fast, safe, and concurrent systems and applications
2017 · EPUB
Rust Essentials: A quick guide to writing fast, safe, and concurrent systems and applications
2017 · PDF