# Hello World!

Primeiramente, sejam bem-vindos ao meu blog pessoal. Apesar de blogs e leitura parecerem coisas ultrapassadas em um mundo tão acelerado, ainda acredito que a palavra escrita é a mais duradoura forma de transmitir ideias.

## Como tudo começou

O *"Hello, World!"* é um programa simples, utilizado geralmente quando o programador tem o primeiro contato com uma linguagem de programação. É uma espécie de "boas-vindas" para o desenvolvedor.

Sendo um aficionado por software, eu não poderia começar um blog de tecnologia falando sobre outro assunto. Arrisco dizer que todo programador do mundo hoje já se deparou com um *"Hello, world!"* em sua tela. Mas será que foi sempre assim? Você sabe como essa tradição começou?

Eu também não sabia até o momento em que tive a ideia de escrever esse post. Durante as minhas pesquisas sobre o assunto fiz uma viagem no tempo lembrando das minhas primeiras linhas de código e o quanto evoluí nesse período.

O criador da versão popular desse programa é [Brian Kernighan](https://en.wikipedia.org/wiki/Brian_Kernighan), ele referenciou um exemplo do programa em seu livro *"A Tutorial Introduction to the Programming Language B"*. Vale ressaltar que Brian é autor do livro *C Programming Language*, um dos livros mais famosos de programação, o que provavelmente ajudou a espalhar a palavra do *"Hello, World!"*.

Ainda hoje, assim como na época em que os computadores comerciais começavam a surgir, o *"Hello, World!* ajuda a quebrar a barreira mental que programação é algo de outro mundo e permite que as pessoas tenham a sua primeira "conversa" com o computador de maneira simples e amigável.

## Exemplos em diversas linguagens

O que não podia faltar nesse post era código, então aqui vai uma lista do "Hello, World!" escrito em diferentes linguagens de programação.

#### **Ada**

```plaintext
with Ada.Text_IO;
use Ada.Text_IO;
procedure Hello is
begin
   Put_Line ("Hello, world!");
end Hello;
```

#### **B** *(onde tudo começou)*

```c
main( ) {
 extrn a, b, c;
 putchar(a); putchar(b); putchar(c); putchar('!*n');
}

a 'hell';
b 'o, w';
c 'orld';
```

#### **C**

```c
#include <stdio.h>

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

#### **C++**

```cpp
#include <iostream>

int main() {
  std::cout << "Hello, World!\n";
  return 0;
}
```

#### **C#**

```cs
Console.WriteLine("Hello, World!");
```

#### **Dart**

```dart
void main() {
  print('Hello, World!');
}
```

#### **Go**

```go
package main
import "fmt"

func main() {
    fmt.Println("Hello, World!")
}
```

#### **Java**

```java
public class Main {
  public static void main(String[] args) {
    System.out.println("Hello, World!");
  }
}
```

#### **Javascript/Typescript**

```js
console.log("Hello, world!");
```

#### **Kotlin**

```kotlin
fun main() {                       
    println("Hello, World!")        
}
```

#### **Python**

```python
print("Hello, World!")
```

#### **R**

```r
print("Hello, World!")
```

#### **Rust**

```rust
fn main() {
    println!("Hello, World!");
}
```

#### **Swift**

```swift
print("Hello, World!")
```

## Referências

* [Hello World: A Timeless Bit of Code](https://blogs.vmware.com/opensource/2020/04/22/hello-world-timeless-code/)
    
* ["Hello, World!" program](https://en.wikipedia.org/wiki/%22Hello,_World!%22_program)
