Book description
Learn the awesome Julia programming language by building fun projects like a rocket launcher, a password keeper, and a battle simulator.Julia as a Second Language covers:
- Data types like numbers, strings, arrays, and dictionaries
- Immediate feedback with Julia’s read-evaluate-print-loop (REPL)
- Simplify code interactions with multiple dispatch
- Sharing code using modules and packages
- Object-oriented and functional programming styles
Julia as a Second Language introduces Julia to readers with a beginning-level knowledge of another language like Python or JavaScript. You’ll learn by coding engaging hands-on projects that encourage you to apply what you’re learning immediately. Don’t be put off by Julia’s reputation as a scientific programming language—there’s no data science or numerical computing knowledge required. You can get started with what you learned in high school math classes.
About the Technology
Originally designed for high-performance data science, Julia has become an awesome general purpose programming language. It offers developer-friendly features like garbage collection, dynamic typing, and a flexible approach to concurrency and distributed computing. It is the perfect mix of simplicity, flexibility and performance.
About the Book
Julia as a Second Language introduces Julia by building on your existing programming knowledge. You’ll see Julia in action as you create a series of interesting projects that guide you from Julia’s basic syntax through its advanced features. Master types and data structures as you model a rocket launch. Use dictionaries to interpret Roman numerals. Use Julia’s unique multiple dispatch feature to send knights and archers into a simulated battle. Along the way, you’ll even compare the object-oriented and functional programming styles–Julia supports both!
What's Inside
- Data types like numbers, strings, arrays, and dictionaries
- Immediate feedback with Julia’s read-evaluate-print-loop (REPL)
- Simplify code interactions with multiple dispatch
- Share code using modules and packages
About the Reader
For readers comfortable with another programming language like Python, JavaScript, or C#.
About the Author
Erik Engheim is a writer, conference speaker, video course author, and software developer.
Quotes
Helped kickstart my use of Julia for serious projects. It’s a solid review of the core language features that doesn’t get bogged down on programming fundamentals you already know.
- Jonathan Owens, GE Global Research
Everything you need to learn Julia.
- Amanda Debler, Schaeffler Technologies
Julia for seasoned programmers.
- Kevin Cheung, Carleton University
Perfect for anyone who needs to learn Julia but doesn’t know where to start.
- Simone Sguazza, University of Applied Sciences and Arts of Southern Switzerland
Table of contents
- inside front cover
- Julia as a Second Language
- Copyright
- dedication
- contents
- front matter
- Part 1 Basics
-
1 Why Julia?
- 1.1 What is Julia?
- 1.2 Julia combines elegance, productivity, and performance
- 1.3 Why Julia was created
- 1.4 Julia’s higher performance solves the two-language problem
- 1.5 Julia is for everyone
- 1.6 What can I build with Julia?
- 1.7 Where Julia is less ideal
- 1.8 What you will learn in this book
- Summary
- 2 Julia as a calculator
- 3 Control flow
-
4 Julia as a spreadsheet
- 4.1 Analyzing pizza sales
- 4.2 Different types of arrays
- 4.3 Performing operations on arrays
- 4.4 Working with the statistics module
- 4.5 Accessing elements
- 4.6 Creating arrays
- 4.7 Mapping values in an array
- 4.8 Introducing characters and strings
- 4.9 Storing pizza data in tuples
- 4.10 Filtering pizzas based on predicates
- 4.11 Mapping and reducing an array
- 4.12 Counting matches with Boolean arrays
- Summary
- 5 Working with text
- 6 Storing data in dictionaries
- Part 2 Types
- 7 Understanding types
-
8 Building a rocket
- 8.1 Building a simple rocket
- 8.2 Maintaining invariants in your code
- 8.3 Making objects with constructor functions
- 8.4 Differences between outer and inner constructors
- 8.5 Modeling rocket engines and payloads
- 8.6 Assembling a simple rocket
- 8.7 Creating a rocket with multiple stages and engines
- 8.8 Launching a rocket into space
- Summary
- 9 Conversion and promotion
- 10 Representing unknown values
- Part 3 Collections
- 11 Working with strings
- 12 Understanding Julia collections
- 13 Working with sets
- 14 Working with vectors and matrices
- Part 4 Software engineering
-
15 Functional programming in Julia
- 15.1 How does functional programming differ from object-oriented programming?
- 15.2 How and why you should learn to think functionally
- 15.3 Avoid deeply nested calls with function chaining
- 15.4 Implementing Caesar and substitution ciphers
- 15.5 Creating a cipher-algorithm-agnostic service
- 15.6 Building an encryption service using object-oriented programming
- 15.7 Building an encryption service using functional programming
- Summary
- 16 Organizing and modularizing your code
- Part 5 Going in depth
- 17 Input and output
- 18 Defining parametric types
- Appendix A. Installing and configuring the Julia environment
- Appendix B. Numerics
- index
- inside back cover
Product information
- Title: Julia as a Second Language
- Author(s):
- Release date: April 2023
- Publisher(s): Manning Publications
- ISBN: 9781617299711
You might also like
video
Julia Programming Language - From Zero to Expert
The objective of this course is to give you a strong foundation needed to excel in …
book
Causal Inference in Python
How many buyers will an additional dollar of online marketing bring in? Which customers will only …
audiobook
Generative AI
The future of AI is here. The world is transfixed by the marvel (and possible menace) …
book
Natural Language Processing with Transformers, Revised Edition
Since their introduction in 2017, transformers have quickly become the dominant architecture for achieving state-of-the-art results …