A Language a Day

I published my new book: A Language a Day, which is a collection of brief overviews to 21 programming languages.

I published my new book: A Language a Day, which is a collection of brief overviews to 21 programming languages.

This book provides a concise overview of 21 different programming languages. Each language is introduced using the same approach: solving several programming problems to showcase its features and capabilities. Languages covered in the book: C++, Clojure, Crystal, D, Dart, Elixir, Factor, Go, Hack, Hy, Io, Julia, Kotlin, Lua, Mercury, Nim, OCaml, Raku, Rust, Scala, and TypeScript.

Each chapter covers the essentials of a different programming language. To make the content more consistent and comparable, I use the same structure for each language, focusing on the following mini projects:

  1. Creating a ‘Hello, World!’ program.
  2. Implementing a Factorial function using recursion or a functional-style approach.
  3. Creating a polymorphic array of objects (a ‘zoo’ of cats and dogs) and calling methods on them.
  4. Implementing the Sleep Sort algorithm—while impractical for real-word use, it’s a playful demonstration of language’s concurrency capabilities.

Each language description follows—where applicable—this pattern:

  1. Installing a command-line compiler and running a program.
  2. Creating and using variables.
  3. Defining and using functions.
  4. Exploring object-oriented features.
  5. Handling exception.
  6. Introducing basic concurrency and parallelism.

You can find all the code examples in this book on GitHub: github.com/ash/a-language-a-day.

You can buy it on Amazon or LeanPub as an electronic or Kindle edition, or as a paper hardcover or paperback version. More information with the links to the shops.

3 thoughts on “A Language a Day”

  1. Great little book. I bought it recently from Leanpub. I know several programming languages, and your book introduced me at a very high level to additional ones, like Raku. I truly enjoyed reading it. The C++ chapter surprised me because I had used C++ decades ago and wasn’t aware of the recent improvements.

  2. Interesting book, but peculiar choice of languages. Mercury, Factor, Hack, Hy, etc… have small following and few contributors on GitHub. Languages like Zig, Vlang, or Odin have greater followings and future potential.

Leave a Reply

Your email address will not be published. Required fields are marked *

Retype the CAPTCHA code from the image
Change the CAPTCHA codeSpeak the CAPTCHA code