"Hello, World!"

Hello from My World

Millions of developers have typed these two words as their first act of creation. If you can recall that moment — or imagine it — you already know what this post is about. It is not about the program. It never was.

Every programmer uses "Hello, World!" to announce their arrival into programming. It is a baby's first cry — proof of life in a new language, in a new world. It demonstrates nothing in terms of skill or expertise. And yet, the joy of seeing your first program execute is something no amount of subsequent complexity ever quite replicates.

It is like discovering fire. But without the risk of burning down the house.

// Early 2000s. A terminal. A cursor. And one very nervous student.
#include <stdio.h>
int main() {
    printf("Hello, World!\n");
    return 0;
}
Hello, World!

The Teacher's Warning I Didn't Fully Understand Yet

In those early days of learning C, my programming teacher gave us a lecture that I have never forgotten — even if it took years to properly understand it. He was talking about code readability. About the responsibility a programmer has to the person who reads their code next.

Your computer doesn't judge your messy room, but your colleague definitely will judge your messy code.

At the time, I was too busy surviving the course to appreciate the depth of that observation. I was not good at programming. I did not like C at all — in fact, I actively hated it as a course. But there was no escaping it. I had mandatory programming modules across four semesters, in multiple languages. The curriculum was, in retrospect, relentless.

Across those two years, I printed "Hello, World!" in C++, Java, JavaScript, and early C#. It was a never-ending cycle of digital déjà vu — the same two words, a new language, the same small thrill each time, and somehow never diminishing.

the turning point

OOP, and the First Real Joy

Then came Object-Oriented Programming. And something changed.

I loved OOP in a way I had not loved any course before it. The idea that you could model the world as objects — encapsulated, inheriting, interacting — felt less like learning syntax and more like learning a new way to think. I earned my first A+. I spent an unreasonable amount of time in my room. This, I later understood, is why developers often have fewer friends.

My roommate and I fell into something that seemed, at the time, entirely normal: we began communicating through C++ code. Not about the code — through it. A message passed as a comment. A joke embedded in a variable name. We ran in-room programming competitions with no judges and no prizes, purely for the satisfaction of a solution that compiled cleanly.

// Dorm Room, Door — circa 2001
10 Reasons for a Non-Programmer to Stay Out
  • The occupants are currently in a recursive loop and cannot be interrupted.
  • Any conversation not in C++ will be compiled with warnings.
  • We have not implemented a user-friendly interface for human visitors.
  • The room operates on a strict garbage-collection schedule. You may be collected.
  • Entry without a pointer to the door handle will result in a segmentation fault.
  • Existing bugs are features. We ask that you not report them.
  • Our stack is currently full. Please come back after the semester.
  • We do not support legacy communication protocols (talking).
  • This room is not thread-safe. Proceed at your own risk.
  • The developers are not responsible for any side effects caused by this room.
c++ vs java

The Debate That Never Ends

My love for C++ gradually became a love for Java — and with it came an argument that occupied more of my time than I care to admit. The C++ vs Java debate was a permanent feature of our dorm room, our university corridors, and later, our early workplaces.

// The Verdict, Eventually

The Comparison That Explains Itself

Comparing Java and C++ is like believing you can diet without exercise because you have theoretically eaten fewer calories — but practically, you have eaten a cake. Both languages have their place. Both have their advocates. The debate is mostly about which trade-offs you are willing to live with. I chose Java, and I made peace with the cake.

the art

Programming as a Form of Art

This is something I have believed for a long time, and I have never found a better way to say it: programming is nothing less than a form of art. It is creative. It is imaginative. It gives you a private space for thinking that few other disciplines offer — a room inside a room, where the only constraints are the ones the language imposes.

My best piece of code — the one I still consider, without apology, a work of art — was written in pajamas at 3 AM on three hours of sleep.

Programmers are notorious for the self-talk that happens while staring at a black terminal screen. The muttering, the pacing, the absolute certainty that the problem is unsolvable, followed by the equally absolute certainty that you have just had the only idea that could possibly solve it. From the outside, this looks like a psychological event. From the inside, it is completely rational. And it vanishes entirely the moment the code compiles and runs.

The madness is the method. The compile is the proof.
the log

Twenty-Four Years, Ten Languages, One String

The thread that connects all of it — every language, every phase, every sleepless night — is that same string. Two words. An exclamation mark. And somewhere, in each new language, a version of that first uncomplicated joy.

// The Language Log — Early 2000s to Present
C Where it started. Hated it at the time. Grateful for it now.
C++ OOP. The A+. The dorm room. The door sign. Everything changed here.
Java The language that became a career. Still my favourite — perhaps unfairly.
Object Pascal A detour. Taught me that syntax is not the point.
C# Elegant. Microsoft's answer to Java, and not a bad one.
JavaScript The mandatory one. Still everywhere. Make of that what you will.
Ruby Pure joy to write. Reminded me why programming can feel like poetry.
Scala Where functional thinking became more than a concept.
Kotlin Java, refined. What happens when a language learns from its predecessor.
Python The great humbler. Readable, powerful, and everywhere AI is.
Go Still learning. Still curious. The log is not closed.

My programming teacher told me that my colleague would judge my messy code. He was right — and over twenty-four years, that warning became a value. The cleanliness of code is a form of respect: for the person who reads it next, for the problem it is solving, and for the craft itself.

The madness that started with a single C program in the early 2000s has carried on through ten languages and counting. The screen is different. The machine is different. The problems are orders of magnitude more complex.

But somewhere at the start of every new language, there is still that same program. Two words. An exclamation mark. And the feeling — brief, specific, irreplaceable — that you have just announced your arrival somewhere new.

Hello from my world. It has been twenty-four years, and the joy of a clean compile has not gotten old. I hope it never does.