Programming Crystal: Create High-Performance, Safe, Concurrent Apps

Ivo Balbaert (Author) Simon St Laurent (Author)


Crystal is for Ruby programmers who want more performance, or for developers who enjoy working in a high-level scripting environment. Crystal combines native execution speed and concurrency with Ruby-like syntax, so you will feel right at home. This book, the first available on Crystal, shows you how to write applications that have the beauty and elegance of a modern language, combined with the power of types and modern concurrency tooling. Now you can write beautiful code that runs faster, scales better, and is a breeze to deploy.

Crystal is elegant to read and easy to program like Ruby, allowing full object-oriented development. Its compiler is powerful enough to nearly always infer the type of your variables. So you get the benefits of a statically typed language: more robust code, safety and execution speed, while still reaching high productivity in development. Null pointer exceptions as in JavaScript, Java or C#, are a thing of the past: Crystal annihilates them, just like Rust.

Explore the building blocks and design of the language, and how you can use the Crystal tool-chain to build and manage powerful applications. Harness the power of the macro system, as well as how to work with fibers and channels, making concurrency as easy as possible. Learn how to use the Kemal web framework and access databases, and how to tap the potential of existing Crystal libraries. Find the spot that Crystal fills in today's software world with real-world examples.

With Crystal, you can combine the best of both worlds: the high-level coding of dynamic languages, and the safety and blazing performance of a natively compiled language.

What You Need:

To develop in Crystal, you only need Crystal v 0.26 the latest version, a common text editor and a browser.

Product Details

Pragmatic Bookshelf
Publish Date
February 12, 2019
7.5 X 0.52 X 9.25 inches | 0.95 pounds

Earn by promoting books

Earn money by sharing your favorite books through our Affiliate program.

Become an affiliate

About the Author

Ivo Balbaert is a programming teacher and Crystal enthusiast. He has a Ph.D. in Applied Physics and has worked for 25 years in the software industry as a developer and project manager in several companies. Now he combines teaching and consultancy with technical writing. He is particularly interested in elegant emerging languages for concurrency and distributed processing.

Simon St. Laurent is a content manager at LinkedIn Learning, focusing primarily on front-end web projects. He has been co-chair of the Fluent conference and of OSCON. He has authored or co-authored books including Introducing Elixir, Introducing Erlang, and Learning Rails 3, XML: A Primer, and Cookies. You can find more of his writing on technology, Quakerism, and the Town of Dryden at