"Olá Mundo!" programa -"Hello, World!" program

Um "Olá, mundo!" programa geralmente é um programa de computador que emite ou exibe a mensagem "Hello, World!". Esse programa é muito simples na maioria das linguagens de programação e costuma ser usado para ilustrar a sintaxe básica de uma linguagem de programação. Freqüentemente, é o primeiro programa escrito por pessoas que estão aprendendo a codificar. Também pode ser usado como um teste de sanidade para garantir que o software de computador destinado a compilar ou executar o código-fonte esteja instalado corretamente e que o operador saiba como usá-lo.

História

"Olá Mundo!" programa de Brian Kernighan (1978)

Embora pequenos programas de teste tenham existido desde o desenvolvimento de computadores programáveis , a tradição de usar a frase "Hello, World!" como uma mensagem de teste foi influenciada por um programa de exemplo no livro seminal de 1978 The C Programming Language . O programa de exemplo nesse livro imprime "Olá Mundo", e foi herdado de um memorando interno da Bell Laboratories de 1974 por Brian Kernighan , Programming in C: A Tutorial :

main( ) {
        printf("hello, world\n");
}

No exemplo acima, o a Principal( ) função define onde o programa deve começar a ser executado . O corpo da função consiste em uma única instrução , uma chamada para oprintffunção, que significa " f impressão ormatted". Esta função fará com que o programa exiba tudo o que for passado a ele como parâmetro , neste caso, a string Olá Mundo, seguido por um caractere de nova linha .

A versão da linguagem C foi precedida pelo próprio A Tutorial de Introdução à Linguagem B de 1972 de Kernighan , onde a primeira versão conhecida do programa é encontrada em um exemplo usado para ilustrar variáveis ​​externas:

main( ) {
    extern a, b, c;
    putchar(a); putchar(b); putchar(c); putchar('!*n');
}
 
a 'hell';
b 'o, w';
c 'orld';

O programa também imprime Olá Mundo!no terminal, incluindo um caractere de nova linha . A frase é dividida em várias variáveis ​​porque em B, uma constante de caractere é limitada a quatro caracteres ASCII . O exemplo anterior no tutorial impressoOi! no terminal, e a frase Olá Mundo! foi introduzido como uma saudação um pouco mais longa que exigia várias constantes de caracteres para sua expressão.

O Jargon File afirma que "Hello, World!" originado em vez de BCPL (1967). Esta afirmação é supostamente apoiada pelas notas arquivadas dos inventores da BCPL, Brian Kernighan em Princeton e Martin Richards em Cambridge . A frase antecedeu em mais de uma década seu uso na computação; já na década de 1950, era o bordão do disc jockey de rádio William B. Williams .

Variações

Um "Olá, mundo!" programa em execução no PlayStation Portable da Sony como uma prova de conceito

"Olá Mundo!" os programas variam em complexidade entre diferentes idiomas. Em algumas linguagens, principalmente em linguagens de script , a mensagem "Hello, World!" O programa pode ser escrito como uma única instrução, enquanto em outras (particularmente em muitas linguagens de baixo nível ) pode haver muito mais instruções necessárias. Por exemplo, em Python , para imprimir a stringOlá Mundo!seguido por uma nova linha, basta escrever . Em contraste, o código equivalente em C ++ [1] requer a importação da biblioteca de software de entrada / saída , a declaração manual de um ponto de entrada e a instrução explícita de que a string de saída deve ser enviada ao fluxo de saída padrão . Geralmente, as linguagens de programação que fornecem ao programador mais controle sobre a máquina resultarão em programas "Alô, Mundo" mais complexos. print("Hello, World!")

A frase "Hello World!" viu vários desvios na pontuação e letras maiúsculas e minúsculas, como a presença da vírgula e ponto de exclamação e a capitalização do H e do W iniciais . Alguns dispositivos limitam o formato a variações específicas, como versões todas em maiúsculas em sistemas que suportam apenas letras maiúsculas, enquanto algumas linguagens de programação esotéricas podem ter que imprimir uma string ligeiramente modificada. Por exemplo, o primeiro programa não trivial de Malbolge imprimiu "Olá, mundo", tendo sido determinado que isso era bom o suficiente . Outras linguagens humanas foram usadas como saída; por exemplo, um tutorial para a linguagem de programação Go produziu caracteres em inglês e chinês ou japonês, demonstrando o suporte integrado a Unicode da linguagem de programação .

Um "Olá, mundo!" mensagem sendo exibida através de pintura de luz de longa exposição com uma faixa móvel de LEDs

Alguns idiomas alteram a funcionalidade do "Hello, World!" programa, mantendo o espírito de demonstrar um exemplo simples. Linguagens de programação funcional , como Lisp , ML e Haskell , tendem a substituir um programa fatorial por "Hello, World!", Pois a programação funcional enfatiza técnicas recursivas, enquanto os exemplos originais enfatizam I / O, que viola o espírito do funcional puro programação produzindo efeitos colaterais . Idiomas, de outra forma, capazes de imprimir "Hello, World!" (Assembly, C, VHDL ) também pode ser usado em sistemas embarcados , onde a saída de texto é difícil (exigindo componentes adicionais ou comunicação com outro computador) ou inexistente. Para dispositivos como microcontroladores , matrizes de portas programáveis ​​em campo e CPLDs , "Hello, World!" pode, portanto, ser substituído por um LED piscando , o que demonstra o tempo e a interação entre os componentes.

As distribuições Debian e Ubuntu Linux oferecem a opção "Hello, World!" programa através de seus sistemas gerenciadores de pacotes de software , que podem ser invocados com o comandoOlá. Ele serve como uma verificação de integridade e um exemplo simples de instalação de um pacote de software. Para desenvolvedores, ele fornece um exemplo de criação de um pacote .deb , tradicionalmente ou usando debhelper , e a versão doOláusado, GNU Hello , serve como um exemplo de escrita de um programa GNU .

Variações do "Hello, World!" programas que produzem uma saída gráfica (em oposição à saída de texto) também foram mostrados. A Sun demonstrou um "Olá, Mundo!" programa em Java baseado em gráficos vetoriais escaláveis , e a linguagem de programação XL apresenta um "Hello, World!" usando gráficos de computador 3D . Mark Guzdial e Elliot Soloway sugeriram que a mensagem de teste "hello, world" pode estar desatualizada agora que os gráficos e o som podem ser manipulados tão facilmente quanto o texto.

É hora de Hello World

"Time to hello world" (TTHW) é o tempo que leva para criar um "Hello, World!" programa em uma determinada linguagem de programação. Esta é uma medida da facilidade de uso de uma linguagem de programação; já que o programa é uma introdução para pessoas não familiarizadas com o idioma, um "Olá, Mundo!" mais complexo. programa pode indicar que a linguagem de programação é menos acessível. O conceito foi estendido além das linguagens de programação para APIs , como uma medida de quão simples é para um novo desenvolvedor fazer um exemplo básico funcionar; um tempo mais curto indica uma API mais fácil para os desenvolvedores adotar.

Exemplos

BASIC

10 PRINT "Hello, World!"
20 END

Lote

@echo off
echo Hello World!

Bash

echo "Hello World!"

C

#include <stdio.h>

int main(void) {
  printf("Hello World!");
}

C ++

#include <iostream>

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

C #

using System;
class App
{
  static void Main()
  {
    Console.WriteLine("Hello World!");
  }
}

Clojure

(println "Hello world!")

Dardo

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

Fortran

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

Ir

package main
import "fmt"

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

Haskell

main :: IO ()
main = putStrLn "Hello World!"

Java

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

JavaScript

console.log("Hello World!");

Objective-C

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @mylak {
        NSLog(@"Hello World!");
    }
    return 0;
}

Pascal

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

Perl

print "Hello World!\n";

PHP

<?php
echo "Hello World!";
?>

PowerShell

Write-Host 'Hello World!'

Pitão

print("Hello World!")

Rubi

puts"Hello World!"

Ferrugem

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

Rápido

print("Hello, World!")

Lua

print("Hello, World!")

Veja também

Referências

links externos