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
- Java
- C
- Node.js
- Groovy
- Haskell
- Lua
- Common Lisp
- Elixir
- F#
- Assembly (x86-64, Linux, NASM)
- PHP
- C#
- Ruby
- R
- OCaml
- Basic
- Clojure
- COBOL
- Pascal
- Rust
- Objective-C
- CoffeeScript
- Python
- C++
- JavaScript
- Tcl
- Ada
- D
- Erlang
- Fortran
- Scala
- Perl
- Go
- Racket
- Visual Basic .NET
- TypeScript
- Kotlin
- Swift
- Prolog
- 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
syscall11. 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 hello31. 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 Module36. 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.
- Melhores livros de programação para iniciantes: ranking com os livros mais indicados
- Introdução à Programação com Python (Nilo Ney): lógica de programação já com Python, do zero
- Lógica e Algoritmos com JavaScript (Iepsen): lógica para quem pensa em web
Veja todos em livros de programação.
