> For the complete documentation index, see [llms.txt](https://choubey.gitbook.io/internals-of-deno/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://choubey.gitbook.io/internals-of-deno/foundations/hello-world.md).

# 5.1 Hello world program

We have discussed the theoretical aspects of Deno, including its introduction, architecture, threading model, and the Deno-v8 bridge. Now, we will explore how a program works within the Deno environment. We will start with a simple program that prints a message, like "hello world," to the console.&#x20;

Why start with a simple program? We want to focus on the basic elements of Deno. Understanding these elements is essential for grasping how Deno works. By analyzing Deno's code, we can see how even the simplest program is executed. Once we understand these basics, we can move on to more complex programs. This chapter contains a lot of important information, so take your time to understand it thoroughly. Don't rush through it. This chapter, along with the next one, is the core of this book.&#x20;

To get the most out of it, we recommend reading this chapter twice before moving on to the next content. This will help you learn more effectively.

## Chapter contents

{% content-ref url="/pages/-MLAxmBFWA4gOaFMHAK5" %}
[5.2 Basic hello world](/internals-of-deno/foundations/basic-hello-world.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MLB-rNXPXAZOu4Wtk9m" %}
[5.3 Main program of Deno](/internals-of-deno/foundations/main-program.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MM4\_fOXXB-D4idQz\_sP" %}
[5.4 Module Specifier](/internals-of-deno/foundations/resolve_url_or_path.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MM4e82aws-K4d1sBGAM" %}
[5.5 CLI Factory](/internals-of-deno/foundations/program-state.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MM4o6l0olSq0n\_RDlIU" %}
[5.6 Permissions](/internals-of-deno/foundations/permissions.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MMDO8bFk4-9q5rsdQ84" %}
[5.7 Main Worker](/internals-of-deno/foundations/mainworker.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MMNiu9iH5-ZQDvxh9W7" %}
[5.8 JS Runtime](/internals-of-deno/foundations/jsruntime.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MMy6iuFIvaXzmkWC\_Tn" %}
[5.9 Run main module](/internals-of-deno/foundations/execute_module.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MN56hnCC1LPr48nkJyE" %}
[5.10 Load module](/internals-of-deno/foundations/load-module.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MOxsVDOVBD4o2RMe4uy" %}
[5.11 Recursive module loading](/internals-of-deno/foundations/4.11-recursive-module-loading-and-module-graphs.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MOyqZZ4O4OC2mzel\_mS" %}
[5.12 Module graphs](/internals-of-deno/foundations/4.12-module-graphs.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MPG-eQDpGuYHVzZKMu8" %}
[5.13 File fetching](/internals-of-deno/foundations/4.13-file-fetcher.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MP3237HYU18XSIUR8Ts" %}
[5.14 Transpile](/internals-of-deno/foundations/4.13-check-and-or-transpilation.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MN7CaSt3jlN8apQmEOz" %}
[5.15 Register / compile module](/internals-of-deno/foundations/register-and-instantation.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MPM30\_Y3YmOd9sd\_DID" %}
[5.16 Instantiate module](/internals-of-deno/foundations/instantiate-module.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MN7KJ-P7nvPqFzKw3nk" %}
[5.17 Evaluate module](/internals-of-deno/foundations/evaluate-module.md)
{% endcontent-ref %}

{% content-ref url="/pages/lqnkxwufHqZGSUwmGhg6" %}
[Broken mention](broken://pages/lqnkxwufHqZGSUwmGhg6)
{% endcontent-ref %}
