'Hello world'는 어디에서 왔나요?


109

' hello, world'는 일반적으로 모든 프로그래밍 언어의 첫 번째 예입니다. 나는 항상이 문장이 어디서 왔고 어디서 처음 사용되었는지 궁금했습니다.

나는 그것이 컴퓨터 화면에 표시되는 첫 번째 문장이라고 들었지만 이것에 대한 언급을 찾을 수 없었습니다.

그래서 내 질문은 :
' hello, world'를 컴퓨터 언어의 첫 번째 예로 사용하는 관행 은 어디 에서 비롯된 것입니까?
처음 사용 된 곳은 어디입니까?

업데이트
답변이 상당히 흥미롭지 만 위키피디아 기사를 읽었다는 점에 주목해야했습니다. 문학의 첫 사용에 대한 질문에는 대답하지만 ' hello world'가 처음 사용 되었을 때는 대답하지 않습니다 .
그래서 컴퓨터 화면에 표시되는 첫 문장이 아니고, 언제 처음 사용했는지에 대한 기록이 없다고 결론을 내리는 것이 안전하다고 생각합니다.

답변:


96

Brian Kernighan은 실제로 Martin Richards가 개발 한 BCPL 프로그래밍 언어 문서의 일부로 최초의 "hello, world"프로그램을 작성했습니다. BCPL은 1972 년 Kernighan과 Ritchie의 C 책이 출판되기 몇 년 전에 Bell Labs에서 C가 개발되는 동안 사용되었습니다.

앨리스 프로그래밍 환경에 대해 저술하고 있던 책 연구의 일환으로 저는 프린스턴의 Kernighan 교수와 캠브리지의 Martin Richards (1990 년대에 세미나를 가르쳤을 때)와 연락했습니다. 그들은 "Hello, World!"라는 메시지를 인쇄하기 위해 처음으로 문서화 된 코드 사용을 추적하는 데 도움이되었습니다. Brian Kernighan은 BCPL 매뉴얼의 I / O 섹션의 일부에 대한 코드를 작성했던 것을 기억했습니다. 메모, 오래된 문서 등의 보물을 가지고있는 것처럼 보이는 Martin Richards는 매뉴얼을 찾아 이것이 원본임을 확인했습니다. 이 코드는 C 컴파일러의 초기 테스트에 사용되었으며 Kernighan과 Ritchie의 책에 포함되었으며 나중에 Bjarne Stroustrup의 C ++ 컴파일러를 테스트하는 데 사용 된 최초의 프로그램 중 하나였습니다.

Kernighan과 Ritchie에 등장한 후 새로운 프로그래머의 표준이되었으며, 이는 아마도 가장 많이 팔린 프로그래밍 소개 일 것입니다.


(the?) BCPL 매뉴얼 cm.bell-labs.com/cm/cs/who/dmr/bcpl.pdf보고 있지 않습니다
barlop

1
는 C 책은 1972 년에 B의 책은 1972 아니었다 된, 1978 년에 출판 된 C 책의 초판 ) en.wikipedia.org/wiki/The_C_Programming_Language_(book 는 "1974 년 벨 연구소 내부 각서 (MOU)에 의해이 있었다 Brian Kernighan, Programming in C : A Tutorial " en.wikipedia.org/wiki/Hello_world_program
barlop

1
lysator.liu.se/c/bwk-tutor.html printf ( "hello, world \ n") 를 통해 그의 1974 년 C 튜토리얼에 I / O 섹션이 있습니다 . 그리고 그 위에 섹션 2에서 \ n없이 프로그램에서. main( ) { printf("hello, world"); }B와 BCPL에서 무언가를 보는 것이 흥미로워집니다.
barlop

3
그 남자 자신과 실제로 대화하고 "보물 고지"에서 찾은 외모를 "확인"하는 데는 잘했지만 대답에 실제 프로그램을 제시 할 수 있습니까?
barlop

1
나는 위키 피 디아, 이미지에 이미지를 발견 - en.wikipedia.org/wiki/Computer_program#/media/... . 소스 페이지 -en.wikipedia.org/wiki/Computer_program
Daryn

48

wikipedia 에 따르면 :

프로그래밍 가능한 컴퓨터의 개발 이후 작은 테스트 프로그램이 존재했지만 "Hello world!"라는 문구를 사용하는 전통이 있습니다. 테스트 메시지는 The C Programming Language라는 책의 예제 프로그램의 영향을 받았습니다. 이 책의 예제 프로그램은 "hello, world"(대문자 또는 느낌표 제외)를 인쇄하며, 1974 년 Bell Laboratories 내부 메모 (Brian Kernighan, Programming in C : A Tutorial)에서 상속되었습니다.

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

컴퓨터 문헌에서 "hello"와 "world"라는 단어가 함께 사용 된 것으로 알려진 첫 번째 사례는 Kernighan의 1972 Tutorial Introduction to the Language B [1]에서 다음 코드와 함께 발생했습니다.

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

1974 년 C 튜토리얼 같은 외모는 여기 cprogramming.com/cgi-bin/cdir/... 있는 점 lysator.liu.se/c/bwk-tutor.html 당신이 쓴 어디 통지 main()내가 나열 언급 HTML 페이지에 main( )즉 사이의 공백 ().
barlop

10

책 "The C Programming Language"의 첫 번째 C 프로그램은 "hello world!"를 인쇄하는 것이 었습니다. 화면에.

그 이후로 프로그래밍 언어의 기본 세부 사항을 소개하는 첫 번째 프로그램으로 사용됩니다.


7

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

컴퓨터 문헌에서 "hello"와 "world"라는 단어가 함께 사용 된 것으로 알려진 첫 번째 사례는 Kernighan의 1972 Tutorial Introduction to the Language B [1]에서 다음 코드와 함께 발생했습니다.

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

5

나는 이것에 대한 내 원래 게시물에서 언어에 더 조심해야했습니다.

물론 Barlop 이 맞습니다. K & R은 1978 년에 출판되었습니다. 내 게시물에 혼수 상태가 누락되었습니다. Kernighan 박사의 Hello World 코드가 포함 된 BCPL 매뉴얼이 1972 년에 작성되었음을 의미했습니다. 이에 대한 메모는 1974 년에 작성되었습니다.

Martin Richards는 이러한 문서를 가지고 있습니다. 설명서 사본과 각서 사본이 있습니다.

원본에는 구두점이 없었습니다.

BCPL과 B 코드는 거의 동시에 나타났습니다. 난 항상 의해 B 코드가 인용 생각 therefromhere이 첫번째 듯했지만, 마틴 리차드는 BCPL 코드를 먼저 생각하는 것 같았다. 두 경우 모두 "Hello Word!" K & R보다 이전 버전이며 코드에서 처음으로 문서화 된 용도는 Bell Labs의 Brian Kernighan이 작성한 것으로 보입니다.


0

처음으로 인쇄본을 본 것은 K & R의 초판 이었기 때문에 1982 년경이었을 것입니다.하지만 다른 모든 사람들과 마찬가지로 그 이전에 나만의 "Hello world"프로그램을 작성했습니다.


0

Wikipedia에서

프로그래밍 가능한 컴퓨터의 개발 이후 작은 테스트 프로그램이 존재했지만 "Hello world!"라는 문구를 사용하는 전통이 있습니다. 테스트 메시지는 The C Programming Language라는 책의 예제 프로그램의 영향을 받았습니다. 이 책의 예제 프로그램은 "hello, world"(대문자 또는 느낌표 제외)를 인쇄하며, 1974 년 Bell Laboratories 내부 메모 (Brian Kernighan, Programming in C : A Tutorial)에서 상속되었습니다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.