Understanding Hello, World!

Everyone starts their coding journey with a Hello, World!\n program.

For example, it takes only 4 lines to do this in C:

hello.c
#include<stdio.h>

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

But how does it really work? This is what we are going to understand here.

Expectations

I am not going to lie. This thing is inherently very complex. It took me a lot to create these articles.

  • Sometimes, even the most simple and straightforward looking thing holds a sea worth of complexity.

When I chose to understand it, I really mean it.

  • Now I can't back off or settle with high level understanding.

  • No matter how complex and confusing it gets, you have to be willing to understand it.

Asking questions is very important. A dialogue is very important.

  • But a series of articles is just a monologue and neither I am a writer nor I am here with the intention to write a dialogue.

  • But I have tried to ask as many questions as I can so that you don't feel you are foolish when those questions come in your mind.

  • But there is a limit to the number of questions I can ask. It is highly possible that I might understand something and you don't. Although I am trying my best to keep even smallest things in account, but, at the end of the day, I am also a human.

  • You have to ask questions yourself. And if they are not answered here, you have to find their answer yourself. You can pull a request on GitHub. Or you can drop in an email.

There are certain questions which are better not asked right now.

  • Because we might lack the information necessary to understand them.

  • Most of the questions are answered but you'll find some unanswered, because it is in the best of our interest to not go after them. They will only increase the mental agitation.

  • But how we will decide whether to go after a question or not? I will leave an explanation. I have invested many hours like these, without any lead. But I don't want you to waste your time.

Lets start the dive.

Last updated

Revision created