Julia High Performance Programming


Download Julia High Performance Programming PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Julia High Performance Programming book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages.

Download

Hands-On Design Patterns and Best Practices with Julia


Hands-On Design Patterns and Best Practices with Julia

Author: Tom Kwong

language: en

Publisher: Packt Publishing Ltd

Release Date: 2020-01-17


DOWNLOAD





Design and develop high-performance, reusable, and maintainable applications using traditional and modern Julia patterns with this comprehensive guide Key FeaturesExplore useful design patterns along with object-oriented programming in Julia 1.0Implement macros and metaprogramming techniques to make your code faster, concise, and efficientDevelop the skills necessary to implement design patterns for creating robust and maintainable applicationsBook Description Design patterns are fundamental techniques for developing reusable and maintainable code. They provide a set of proven solutions that allow developers to solve problems in software development quickly. This book will demonstrate how to leverage design patterns with real-world applications. Starting with an overview of design patterns and best practices in application design, you'll learn about some of the most fundamental Julia features such as modules, data types, functions/interfaces, and metaprogramming. You'll then get to grips with the modern Julia design patterns for building large-scale applications with a focus on performance, reusability, robustness, and maintainability. The book also covers anti-patterns and how to avoid common mistakes and pitfalls in development. You'll see how traditional object-oriented patterns can be implemented differently and more effectively in Julia. Finally, you'll explore various use cases and examples, such as how expert Julia developers use design patterns in their open source packages. By the end of this Julia programming book, you'll have learned methods to improve software design, extensibility, and reusability, and be able to use design patterns efficiently to overcome common challenges in software development. What you will learnMaster the Julia language features that are key to developing large-scale software applicationsDiscover design patterns to improve overall application architecture and designDevelop reusable programs that are modular, extendable, performant, and easy to maintainWeigh up the pros and cons of using different design patterns for use casesExplore methods for transitioning from object-oriented programming to using equivalent or more advanced Julia techniquesWho this book is for This book is for beginner to intermediate-level Julia programmers who want to enhance their skills in designing and developing large-scale applications.

Julia 1.0 Programming


Julia 1.0 Programming

Author: Ivo Balbaert

language: en

Publisher: Packt Publishing Ltd

Release Date: 2018-09-24


DOWNLOAD





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.

Learning Julia


Learning Julia

Author: Anshul Joshi

language: en

Publisher: Packt Publishing Ltd

Release Date: 2017-11-24


DOWNLOAD





Learn Julia language for data science and data analytics About This Book 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 Who This Book Is For This book allows existing programmers, statisticians and data scientists to learn the Julia and take its advantage while building applications with complex numerical and scientific computations. Basic knowledge of mathematics is needed to understand the various methods that will be used or created in the book to exploit the capabilities for which Julia is made. 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 In Detail 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. Style and approach This book demonstrates the basics of Julia along with some data structures and testing tools that will give you enough material to get started with the language from an application standpoint.