# Hello World!

Pretty much any tutorial or lesson on programming will have you "print" something to the screen as your first program. We tend to use "Hello World!" as that first string, because it's fun.&#x20;

Output is the only way the program can give feedback to you, the user. So let's start by creating a simple program that outputs "Hello World!".

{% tabs %}
{% tab title="Javascript" %}
Javascript does not have an output "window" perse, but it has (at least) two different ways you can print output.

**Method 1:** [**The console**](https://cs.brash.ca/unit-2/input-output/the-console)\
A `console` is a text area, a box, or a 'place' where a program can give text output, usually meant to be hidden from the user but sometimes it is the only input/output window (DOS or BASH prompts). Javascript can give output by "logging" to the console window:

{% code title="HelloWorld.js" %}

```javascript
// Print to the console
console.log("Hello World!");
```

{% endcode %}

**Method 2: Writing to the current document**\
Javascript is primarily meant to provide interactivity with a web page (HTML). So, if you are running your Javascript as the back-end to a document, you can write to that document directly:

{% code title="HelloWorldDoc.js" %}

```javascript
// Write to the main document (this adds to whatever is already there)
document.write("Hello World!");

// OR you can overwrite the entire document
document.documentElement.innerHTML = "Hello World!";
```

{% endcode %}
{% endtab %}

{% tab title="Python" %}
Python has one of the simplest methods for giving text output - the "print" command (method, function, whatever...):

{% code title="HelloWorld.py" %}

```python
# Print output
print("Hello World!")
```

{% endcode %}
{% endtab %}

{% tab title="C++" %}
I love C++ but it is a complicated beast (for good reasons). In order to print output, you need to ensure you are utilizing the code that controls "Standard Output" otherwise known as stdout.

{% code title="HelloWorld.cpp" %}

```cpp
// Header file for IO (we are "including it" in our code)
#include<iostream>  

// Utilizing the "standard" namespace, so we don't have to say "std" every time.
using namespace std; 
  
// C++ programs need a main function where the code begins
int main() { 
    // Let's finally print to std out
    cout << "Hello World"; 

    // The main function has to return something
    return 0; 
} 
```

{% endcode %}
{% endtab %}

{% tab title="Java" %}
Java is also a great language to learn, but is also quite complicated (for good reason). Let's look at our first program in Java:

{% code title="HelloWorld.java" %}

```java
// The class name has to match the filename
public class HelloWorld {
    // Similar to C++, Java needs a main function to start the program
    public static void main(String[] args) {
        // Print "Hello, World" 
        System.out.println("Hello, World");
    }
}
```

{% endcode %}
{% endtab %}
{% endtabs %}
