Skip to main content
'Hello World': A Small Start
  1. Posts/

'Hello World': A Small Start

·4 mins· ·
Victor Luque
Author
Victor Luque
Embedded Software Engineer @ INBRAIN
Table of Contents
«The beginning is the most important part of the work.» — Plato

A few days ago, while I was writing the introductory post for this blog — which I named “Hello World” (give it a read if you haven’t yet!) — I started thinking about this little tradition. I remembered reading something about its origin some time ago, so I thought it would be a good first post to dig into… or second, I guess? Either way, it felt like the right topic to start with.

What is “Hello World”?
#

When people begin learning programming, the very first program they usually write is called “Hello World”. It is a tiny piece of code whose only purpose is to show some text on the screen. Nothing fancy, nothing complex — just a simple confirmation that everything works: the compiler, the editor, the environment, and of course, the programmer.

A Hello World is like saying: “Okay, I’m here. Let’s begin.”

What It Looks Like
#

In most high-level languages, printing text is extremely simple. For example, in Python:

print("Hello, World!")

Or in C, which is a bit more verbose:

#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
    return 0;
}

Even if these examples look trivial, they represent an important moment. They are the first successful interaction with a new language or toolchain.

A Short History
#

The concept has a long history. One of the earliest known appearances is in A Tutorial Introduction to the Language B (1972), written by Brian Kernighan. In that tutorial, there is a small program that simply prints “hello, world”. This was probably the first time the phrase appeared in a programming example, the example in the book is shown below.

main( ) {
        printf("hello, world");
}
The language B itself was a precursor to C. It was a simplified and typeless language developed at Bell Labs, mainly influenced by BCPL. It ran on the PDP-11 and other early systems, and it helped set the foundation for the more structured and powerful C language that would come shortly after.

A few years later, in 1978, Kernighan and Ritchie published the now classical book “The C Programming Language”, usually called K&R. This book contained a Hello World example very similar to the one we still use in C today. Because the book became extremely influential, the Hello World example became a standard tradition across the programming world.

Since then, almost every new language or tutorial starts with some variation of “Hello, World!”.

Meet Blinky!
#

While Hello World works well for desktop or scripting languages, it does not make much sense in embedded development.

Most microcontrollers do not have:

  • a screen
  • a console
  • a standard output
  • or even an operating system

So… printing text is simply not an option.

In embedded systems, the equivalent of Hello World is known as “Blinky”: a tiny program that turns an LED on and off in a loop. Usually this LED is part of a development board. If it blinks, it means the firmware is running, the clock is configured correctly, the toolchain works, the programmer flashed the microcontroller successfully, and the device is alive.

A typical blinky in C might look like this (conceptually):

int main(void) {
    setup_gpio_led();

    while (1) {
        toggle_led();
        delay_ms(500);
    }
}

This small blinking LED is the embedded developer’s version of printing “Hello, World!”. It is the first confirmation that the hardware, the toolchain, and the firmware setup are all correct.

A Simple Beginning
#

Whether it’s a message on the screen or a blinking LED on a board, every project starts with a tiny signal: “Hello, I’m running”. It’s a small step, but it carries a lot of meaning. From this little beginning, entire systems and products eventually grow.

For me, writing this blog feels a bit like that first Hello World. A simple moment, but the start of something new.

More posts will come soon — and hopefully more interesting than blinking LEDs.