--- 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. ---