Programação

Executando "Hello World!" em 40 Linguagens de Programação

Hello World em 40 linguagens de programação com código pronto: Python, Java, C, Go, Rust, COBOL, Assembly e mais, com dicas para comparar a sintaxe.

Capa: Executando "Hello World!" em 40 Linguagens de Programação

O "Hello, World!" é o primeiro programa que quase todo mundo escreve ao aprender uma linguagem: ele só exibe uma mensagem na tela. A tradição vem do livro The C Programming Language, de Brian Kernighan e Dennis Ritchie, de 1978. Aqui estão 40 versões, de linguagens modernas como Python e Rust a clássicas como COBOL e Assembly, para você comparar a sintaxe de cada uma.

Você pode testar qualquer exemplo online, sem instalar nada, em onecompiler.com.

Lista das linguagens

  1. Java
  2. C
  3. Node.js
  4. Groovy
  5. Haskell
  6. Lua
  7. Common Lisp
  8. Elixir
  9. F#
  10. Assembly (x86-64, Linux, NASM)
  11. PHP
  12. C#
  13. Ruby
  14. R
  15. OCaml
  16. Basic
  17. Clojure
  18. COBOL
  19. Pascal
  20. Rust
  21. Objective-C
  22. CoffeeScript
  23. Python
  24. C++
  25. JavaScript
  26. Tcl
  27. Ada
  28. D
  29. Erlang
  30. Fortran
  31. Scala
  32. Perl
  33. Go
  34. Racket
  35. Visual Basic .NET
  36. TypeScript
  37. Kotlin
  38. Swift
  39. Prolog
  40. Brainfuck

O que dá para notar na comparação

  • Verbosidade: Java, C# e COBOL pedem mais estrutura. Python, Ruby e Lua resolvem em uma linha.
  • Linguagens compiladas e interpretadas: C, C++, Rust e Go geram um executável. Python, PHP e Ruby são executadas por um interpretador.
  • Paradigmas: Haskell, OCaml e Clojure são funcionais, Prolog é lógica, Java e C# são orientadas a objetos.
  • Nível: em Assembly você fala direto com o sistema operacional, via chamadas de sistema, e em Python tudo isso fica escondido.

Se está começando, veja também Programação é fácil? Será mesmo? e as 11 formas de ganhar dinheiro com programação.

Exemplos de código

Os exemplos abaixo seguem a ordem da lista acima. Alguns precisam de detalhes de ambiente (como o Assembly, que roda em Linux x86-64 com NASM). Os demais rodam como estão em um compilador ou interpretador da linguagem.

1. Java

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

2. C

#include <stdio.h>

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

3. Node.js

console.log("Hello, World!");

4. Groovy

println "Hello, World!"

5. Haskell

main = putStrLn "Hello, World!"

6. Lua

print("Hello, World!")

7. Common Lisp

(format t "Hello, World!~%")

8. Elixir

IO.puts("Hello, World!")

9. F#

printfn "Hello, World!"

10. Assembly (x86-64, Linux, NASM)

section .data
    msg db "Hello, World!", 10
section .text
    global _start
_start:
    mov rax, 1        ; sys_write
    mov rdi, 1        ; stdout
    mov rsi, msg
    mov rdx, 14
    syscall
    mov rax, 60       ; sys_exit
    xor rdi, rdi
    syscall

11. PHP

<?php echo "Hello, World!";

12. C#

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

13. Ruby

puts "Hello, World!"

14. R

print("Hello, World!")

15. OCaml

print_endline "Hello, World!"

16. Basic

PRINT "Hello, World!"

17. Clojure

(println "Hello, World!")

18. COBOL

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
    DISPLAY "Hello, World!".
    STOP RUN.

19. Pascal

program Hello;
begin
  writeln('Hello, World!');
end.

20. Rust

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

21. Objective-C

#import <Foundation/Foundation.h>

int main(void) {
    NSLog(@"Hello, World!");
    return 0;
}

22. CoffeeScript

console.log "Hello, World!"

23. Python

print("Hello, World!")

24. C++

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
}

25. JavaScript

console.log("Hello, World!");

26. Tcl

puts "Hello, World!"

27. Ada

with Ada.Text_IO;
procedure Hello is
begin
   Ada.Text_IO.Put_Line("Hello, World!");
end Hello;

28. D

import std.stdio;

void main() {
    writeln("Hello, World!");
}

29. Erlang

-module(hello).
-export([start/0]).
start() -> io:fwrite("Hello, World!\n").

30. Fortran

program hello
  print *, "Hello, World!"
end program hello

31. Scala

object Main extends App {
  println("Hello, World!")
}

32. Perl

print "Hello, World!\n";

33. Go

package main

import "fmt"

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

34. Racket

#lang racket
(displayln "Hello, World!")

35. Visual Basic .NET

Module Program
    Sub Main()
        Console.WriteLine("Hello, World!")
    End Sub
End Module

36. TypeScript

console.log("Hello, World!");

37. Kotlin

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

38. Swift

print("Hello, World!")

39. Prolog

:- initialization(main).
main :- write('Hello, World!'), nl.

40. Brainfuck

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.

Perguntas frequentes

Por que todo mundo começa com "Hello, World!"?

Porque é o menor programa que mostra que o ambiente está configurado e que a pessoa consegue escrever, executar e ver um resultado. Virou tradição desde o livro de C de 1978.

Qual a linguagem mais simples para começar?

Python costuma ser a mais indicada por ter sintaxe curta e legível, e JavaScript é uma boa escolha para quem quer ver resultados no navegador.

Preciso instalar algo para testar?

Não. Compiladores online como o OneCompiler executam as linguagens do seu navegador.

Para aprofundar

Gostou de ver tantas linguagens? Para escolher uma e aprender a lógica por trás dela, veja estes livros.

Veja todos em livros de programação.

Mais artigos