De onde vem 'Olá, mundo'?


109

' hello, world' geralmente é o primeiro exemplo para qualquer linguagem de programação. Sempre me perguntei de onde veio essa frase e onde foi usada pela primeira vez.

Uma vez me disseram que era a primeira frase a ser exibida na tela de um computador, mas não consegui encontrar nenhuma referência a isso.

Portanto, minha pergunta é: de
onde vem a prática de usar ' hello, world' como o primeiro exemplo para linguagens de computador?
Onde foi usado pela primeira vez?

Atualização
Embora as respostas sejam bastante interessantes, devo ter notado que li o artigo da Wikipedia. Responde à pergunta sobre o primeiro uso na literatura, mas não responde quando ' hello world' foi usado pela primeira vez .
Portanto, acho que é seguro concluir que não foi a primeira frase a ser exibida na tela de um computador e que não há registro sobre quando foi usada pela primeira vez?

Respostas:


96

Brian Kernighan escreveu o primeiro programa "hello, world" como parte da documentação da linguagem de programação BCPL desenvolvida por Martin Richards. O BCPL foi usado enquanto C estava sendo desenvolvido no Bell Labs alguns anos antes da publicação do livro C de Kernighan e Ritchie em 1972.

Como parte da pesquisa para um livro que estava escrevendo sobre o ambiente de programação Alice, me correspondi com o Prof. Kernighan em Princeton e Martin Richards em Cambridge (quando eu estava ministrando um seminário lá nos anos 1990). Eles me ajudaram a rastrear o primeiro uso documentado de código para imprimir a mensagem "Hello, World!" Brian Kernighan lembrou-se de ter escrito o código de parte da seção I / O do manual BCPL. Martin Richards - que parece ter um tesouro de notas, documentos antigos, etc. - encontrou o manual e confirmou que este era o original O código foi usado para os primeiros testes do compilador C e fez parte do livro de Kernighan e Ritchie. Mais tarde, foi um dos primeiros programas usados ​​para testar o compilador C ++ de Bjarne Stroustrup.

Tornou-se um padrão para novos programadores depois que apareceu em Kernighan e Ritchie, que é provavelmente a introdução de programação mais vendida de todos os tempos.


Olhando para (o?) Manual BCPL cm.bell-labs.com/cm/cs/who/dmr/bcpl.pdf Não vejo
barlop

1
O livro C não foi em 1972. O livro B foi de 1972. A primeira edição do livro C foi publicada em 1978 en.wikipedia.org/wiki/The_C_Programming_Language_(book) Havia um "memorando interno de 1974 da Bell Laboratories por Brian Kernighan, Programming in C: A Tutorial " en.wikipedia.org/wiki/Hello_world_program
barlop

1
Há uma seção de E / S em seu tutorial C de 1974, embora lysator.liu.se/c/bwk-tutor.html printf ("olá, mundo \ n"); e acima disso, na seção 2, sem o \ ne em um programa. main( ) { printf("hello, world"); }Seria interessante ver algo de B e BCPL.
barlop de

3
parabéns por realmente conversar com o próprio homem e "confirmar" a aparência, encontrada em um "tesouro de notas", mas você pode apresentar o programa real em sua resposta?
barlop de

1
Encontrei uma imagem na wikipedia, image - en.wikipedia.org/wiki/Computer_program#/media/… . Página de origem - en.wikipedia.org/wiki/Computer_program
Daryn

48

De acordo com a wikipedia :

Embora existissem pequenos programas de teste 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 The C Programming Language. O programa de exemplo desse livro imprime "hello, world" (sem letras maiúsculas ou ponto de exclamação) e foi herdado de um memorando interno da Bell Laboratories de 1974 por Brian Kernighan, Programming in C: A Tutorial, que contém a primeira versão conhecida:

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

A primeira instância conhecida do uso das palavras "olá" e "mundo" juntas na literatura de informática ocorreu anteriormente, no tutorial de introdução à linguagem B de Kernighan de 1972 [1], com o seguinte código:

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

parece que o tutorial C de 1974 está aqui cprogramming.com/cgi-bin/cdir/… que aponta para lysator.liu.se/c/bwk-tutor.html Percebi que onde você escreveu main()está na página html que menciono listado como main( )ie um espaço entre o ().
barlop

10

O primeiro programa C no livro "The C Programming Language" foi imprimir "hello world!" na tela.

Desde então, ele é usado como o primeiro programa para apresentar os detalhes básicos de uma linguagem de programação.


7

De http://en.wikipedia.org/wiki/Hello_world_program :

A primeira instância conhecida do uso das palavras "olá" e "mundo" juntas na literatura de informática ocorreu anteriormente, no tutorial de introdução à linguagem B de Kernighan de 1972 [1], com o seguinte código:

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

5

Eu deveria ter sido mais cuidadoso com a linguagem em meu post original sobre isso -

Claro que Barlop está certo, K&R foi publicado em 1978. Faltava coma na minha postagem. Eu quis dizer que o manual da BCPL com o código Hello World do Dr. Kernighan foi datado de 1972. O memorando com uma referência a isso é de 1974.

Martin Richards tem esses documentos. Tenho uma cópia ruim do manual e uma cópia do memorando.

Acredito que o original não tinha pontuação.

O BCPL e o código B apareceram quase ao mesmo tempo. Sempre achei que o código B citado ali vinha primeiro, mas Martin Richards parecia pensar que o código BCPL vinha primeiro. Em qualquer caso, "Hello Word!" é anterior a K&R, e seu primeiro uso documentado em código parece ter sido escrito por Brian Kernighan na Bell Labs.


0

A primeira vez que o encontrei impresso foi (eu acho) a primeira edição de K&R, então isso deve ter sido por volta de 1982, mas eu estava escrevendo meus próprios programas "Olá, mundo" muito antes disso, como todo mundo.


0

Da Wikipedia

Embora existissem pequenos programas de teste 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 The C Programming Language. O programa de exemplo desse livro imprime "hello, world" (sem letras maiúsculas ou ponto de exclamação) e foi herdado de um memorando interno da Bell Laboratories de 1974 por Brian Kernighan, Programming in C: A Tutorial, que contém a primeira versão conhecida:

http://en.wikipedia.org/wiki/Hello_world_program

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.