---
title: Crystal Programming
page_title: "Building efficient, safe, and readable web and CLI applications with Crystal"
layout: book
section: learning
book:
cover_image: /assets/learning/crystal_programming.png
description: |
Crystal Programming is a project-based book by George Dietrich and Guilherme Bernal that covers all the
fundamental concepts needed to start programming in Crystal, such as OOP and concurrent programming.
details: |
While focused towards those with programming experience, previous knowledge of Crystal itself is not required, as
the book is outlined with step-by-step explanations of essential concepts and practical examples. By the end of
this book, you’ll be equipped with the skills you need to use Crystal programming for building and understanding any
application you come across.
vendors:
- url: https://www.amazon.com/Crystal-Programming-project-based-introduction-applications/dp/1801818673/ref=sr_1_2
name: Amazon
- url: https://www.packtpub.com/product/crystal-programming/9781801818674
name: Packt
what_you_will_learn:
- image: icons/merge-type.svg
description: Explore how Crystal combines the merits of other languages
- image: icons/folder.svg
description: Understand how to leverage existing C libraries without writing any C
- image: icons/update.svg
description: Focus on zero-cost abstractions with compile-time macros
- image: icons/code.svg
description: Use an example-based approach to demonstrate language features
- image: icons/apps.svg
description: Develop a variety of Crystal applications, such as web and CLI apps
- image: icons/library-books.svg
description: Gain an understanding of the macro API and annotations
authors:
- image: /assets/learning/george.png
description: |
George Dietrich is a software engineer, open-source aficionado, and Crystal community moderator. He
holds a Master of Science degree in internet information systems and a Bachelor of Science degree in
information sciences.
- image: /assets/learning/guilherme.jpg
description: |
Guilherme Bernal is the chief technology officer at Cubos Tecnologia. He holds a bachelor's
degree in TI management. Guilherme co-founded a software development company
and several tech start-ups, including one that focused on teaching programming
skills to a new generation of developers. He is also a two-time world finalist
in the coding competition, ACM ICPC.
---