Skip to main content

Learn Forth

· 2 min read
John Crickett
Code Challenge Writer

6 Ways to learn Forth and 5 reasons why you should!

Reasons To Learn Forth

  1. It teaches you how interpreters and stacks actually work - Forth makes the stack visible and central. You feel every push and pop. It’s a fantastic way to understand how low-level execution works, especially if you're building interpreters or compilers.

  2. You build the language as you use it - In Forth, the distinction between language and program blurs. You define new words that feel like language primitives. This gives you a powerful sense of how languages evolve and grow from a tiny core.

    It’s like using a tiny Lego kit to build your own programming language, piece by piece.

  3. It’s insanely small and portable - Forth systems can be written in a few kilobytes. That makes it ideal for embedded systems, bootloaders, or environments with tight constraints. It's also a great exercise in minimalism and efficiency.

    NASA used Forth on spacecraft because of its low memory footprint and runtime flexibility.

  4. It makes you think differently - Because it’s so different from modern high-level languages, Forth forces you to think differently. No variables, no classes, no syntax, just raw operations and control flow.

    It's like switching from driving an automatic to driving a race car with manual everything.

  5. It gives you total control - There’s no garbage collector, no runtime doing things behind your back. You’re close to the metal. You manage memory, define execution rules, and create abstractions from scratch.

    It’s a language for people who like knowing exactly what the machine is doing.

Ways To Learn Forth

  1. Read: Starting Forth.
  2. Read: Forth Programmer's Handbook.
  3. Read: Forth Application Techniques.
  4. Install: A Forth Compiler, either SwiftForth or GNU’s Gforth
  5. Build: Build some real-world projects in Forth, if you need some ideas check out Coding Challenges.
  6. Read and Do: Easy Forth.

How Containers Are Implemented

· One min read
John Crickett
Code Challenge Writer

Have you ever wondered what containers are and how they implemented?

Do you know that you can create one with nothing more than the Linux command line?

Coding Challenges For Junior Developers

· One min read
John Crickett
Code Challenge Writer

I've often been asked which of the coding challenges are suitable for junior developers.

My immediate thought is ALL of them! Junior developers will learn valuable skills from tackling any of the coding challenges.

But where should they start? Here's my thoughts:

Go Coding Challenges

· 2 min read
John Crickett
Code Challenge Writer

I've been asked to recommend some Coding Challenges for developers who are learning Go.

The obvious answer is ALL of them! I've been using several of them to learn Go myself.

But to try and provider a more curated answer the question, here are the eight great coding challenges you can use to learn Go:

Build Your Own Redis

· One min read
John Crickett
Code Challenge Writer

Building your own Redis server is a great way to level up as a Software Engineer.

It teaches you about:

Rust Coding Challenges

· 2 min read
John Crickett
Code Challenge Writer

I'm often asked to recommend some Coding Challenges for developers who are learning Rust.

The obvious answer is ALL of them! After all I started writing and sharing these coding challenges as I was using them to learn Rust.

But to try and provider a more curated answer the question, here are the eight great coding challenges you can use to learn Rust: