Book Image

Crystal Programming

By : George Dietrich, Guilherme Bernal
Book Image

Crystal Programming

By: George Dietrich, Guilherme Bernal

Overview of this book

Crystal is a programming language with a concise and user-friendly syntax, along with a seamless system and a performant core, reaching C-like speed. This book will help you gain a deep understanding of the fundamental concepts of Crystal and show you how to apply them to create various types of applications. This book comes packed with step-by-step explanations of essential concepts and practical examples. You'll learn how to use Crystal’s features to create complex and organized projects relying on OOP and its most common design patterns. As you progress, you'll gain a solid understanding of both the basic and advanced features of Crystal. This will enable you to build any application, including command-line interface (CLI) programs and web applications using IOs, concurrency and C bindings, HTTP servers, and the JSON API. By the end of this programming book, you’ll be equipped with the skills you need to use Crystal programming for building and understanding any application you come across.
Table of Contents (26 chapters)
1
Part 1: Getting Started
5
Part 2: Learning by Doing – CLI
10
Part 3: Learn by Doing – Web Application
13
Part 4: Metaprogramming
18
Part 5: Supporting Tools

Values and expressions

Programming is the art of transforming and moving data. We want to receive information, maybe from the user typing on a keyboard, from an IoT sensor on the roof of your house, or even from an incoming network request sent to your server. Then, we want to interpret and understand that information, representing it in a structured way in our program. Finally, we want to process and transform it, applying algorithms and interfacing with external sources (things such as querying a database or creating a local file). Pretty much all computer programs follow this structure, and it's essential to understand that it's all about data.

Crystal has many primitive data types used to express values. For example, you can write integer numbers using digits, as in 34. You can also store data in variables. They act as named containers to store values and can change at any time. To do so, simply write the name of the variable, followed by an equals symbol, and the...