'Hello world' đến từ đâu?


109

' hello, world' thường là ví dụ đầu tiên cho bất kỳ ngôn ngữ lập trình nào. Tôi luôn tự hỏi câu này đến từ đâu và nó được dùng lần đầu ở đâu.

Tôi đã từng được nói rằng đó là câu đầu tiên được hiển thị trên màn hình máy tính, nhưng tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào về câu này.

Vậy câu hỏi của tôi là:
Thực hành sử dụng ' hello, world' làm ví dụ đầu tiên cho ngôn ngữ máy tính bắt nguồn từ đâu?
Nó được sử dụng lần đầu ở đâu?

Cập nhật
Mặc dù các câu trả lời khá thú vị, tôi nên lưu ý rằng tôi đã đọc bài viết trên Wikipedia. Nó trả lời câu hỏi về lần sử dụng đầu tiên trong văn học, nhưng không trả lời câu hỏi ' hello world' được sử dụng lần đầu tiên khi nào .
Vì vậy, tôi nghĩ rằng có thể kết luận rằng nó không phải là câu đầu tiên được hiển thị trên màn hình máy tính và không có tài liệu nào về thời điểm nó được sử dụng lần đầu tiên?

Câu trả lời:


97

Brian Kernighan thực sự đã viết chương trình "hello, world" đầu tiên như một phần của tài liệu cho ngôn ngữ lập trình BCPL do Martin Richards phát triển. BCPL đã được sử dụng trong khi C đang được phát triển tại Bell Labs vài năm trước khi xuất bản cuốn sách C của Kernighan và Ritchie vào năm 1972.

Là một phần của quá trình nghiên cứu cho cuốn sách tôi đang viết về môi trường lập trình Alice, tôi đã trao đổi với cả Giáo sư Kernighan tại Princeton và Martin Richards tại Cambridge (khi tôi đang giảng dạy một hội thảo ở đó vào những năm 1990). Họ đã giúp tôi theo dõi việc sử dụng mã được lập thành văn bản đầu tiên để in thông báo "Hello, World!" Brian Kernighan nhớ đã viết mã cho một phần của phần I / O của sổ tay BCPL. Martin Richards - người dường như có một kho tàng các ghi chú, tài liệu cũ, v.v. - đã tìm thấy sổ tay và xác nhận rằng đây là bản gốc Sự xuất hiện của chương trình. Mã này được sử dụng để thử nghiệm ban đầu trình biên dịch C và được đưa vào sách của Kernighan và Ritchie. Sau đó, nó là một trong những chương trình đầu tiên được sử dụng để kiểm tra trình biên dịch C ++ của Bjarne Stroustrup.

Nó đã trở thành một tiêu chuẩn cho các lập trình viên mới sau khi nó xuất hiện trên Kernighan và Ritchie, đây có lẽ là cuốn sách giới thiệu về lập trình bán chạy nhất mọi thời đại.


Nhìn vào (? Các) BCPL thủ cm.bell-labs.com/cm/cs/who/dmr/bcpl.pdf Tôi không nhìn thấy nó
barlop

1
Cuốn sách C không có năm 1972. Cuốn sách B là năm 1972. Ấn bản đầu tiên của cuốn sách C, được xuất bản vào năm 1978 en.wikipedia.org/wiki/The_C_Programming_Language_(book) Có một "một bản ghi nhớ nội bộ của Phòng thí nghiệm Bell năm 1974 bởi Brian Kernighan, Lập trình trong C: A Tutorial " en.wikipedia.org/wiki/Hello_world_program
barlop 19/01

1
Có một phần I / O cho hướng dẫn C năm 1974 của anh ấy mặc dù lysator.liu.se/c/bwk-tutor.html printf ("hello, world \ n"); và trên đó, trong phần 2, không có \ n và trong một chương trình. main( ) { printf("hello, world"); }Hãy thú vị khi xem điều gì đó từ B và BCPL.
barlop

3
được thực hiện tốt vì đã thực sự trò chuyện với chính người đàn ông và "xác nhận" sự xuất hiện, được tìm thấy trong một "kho tàng ghi chú" nhưng bạn có thể trình bày chương trình thực tế trong câu trả lời của mình không?
barlop

1
Tôi tìm thấy một hình ảnh trên wikipedia, hình ảnh - en.wikipedia.org/wiki/Computer_program#/media/… . Trang nguồn - en.wikipedia.org/wiki/Computer_program
Daryn 7/10/18

48

Theo wikipedia :

Trong khi các chương trình thử nghiệm nhỏ đã tồn tại kể từ khi máy tính lập trình được phát triển, truyền thống sử dụng cụm từ "Hello world!" như một thông báo thử nghiệm đã bị ảnh hưởng bởi một chương trình ví dụ trong cuốn sách gốc Ngôn ngữ lập trình C. Chương trình ví dụ từ cuốn sách đó in ra "hello, world" (không viết hoa hoặc dấu chấm than) và được kế thừa từ bản ghi nhớ nội bộ năm 1974 của Phòng thí nghiệm Bell bởi Brian Kernighan, Lập trình trong C: A Tutorial, có phiên bản đầu tiên được biết đến:

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

Trường hợp đầu tiên được biết đến về việc sử dụng các từ "xin chào" và "thế giới" cùng nhau trong tài liệu máy tính đã xảy ra trước đó, trong Hướng dẫn giới thiệu ngôn ngữ B năm 1972 của Kernighan [1], với đoạn mã sau:

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

có vẻ như hướng dẫn C 1974 ở đây cprogramming.com/cgi-bin/cdir/… trỏ đến lysator.liu.se/c/bwk-tutor.html Tôi nhận thấy nơi bạn đã viết main()là trên trang html mà tôi đề cập được liệt kê main( )là một không gian giữa ().
barlop

10

Chương trình C đầu tiên trong cuốn sách "Ngôn ngữ lập trình C" là để in "hello world!" trên màn hình.

Kể từ đó nó được sử dụng như là chương trình đầu tiên giới thiệu các chi tiết cơ bản của một ngôn ngữ lập trình.


7

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

Trường hợp đầu tiên được biết đến về việc sử dụng các từ "xin chào" và "thế giới" cùng nhau trong tài liệu máy tính đã xảy ra trước đó, trong Hướng dẫn giới thiệu ngôn ngữ B năm 1972 của Kernighan [1], với đoạn mã sau:

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

5

Tôi nên cẩn thận hơn với ngôn ngữ trong bài đăng ban đầu của tôi về điều này -

Tất nhiên Barlop nói đúng, K&R được xuất bản vào năm 1978. Tôi đã mất tích trong bài đăng của tôi một cơn mê. Ý tôi là sổ tay BCPL với mã Hello World của Tiến sĩ Kernighan được ghi vào năm 1972. Bản ghi nhớ có liên quan đến điều này là từ năm 1974.

Martin Richards có những tài liệu này. Tôi có một bản sao xấu của sách hướng dẫn và một bản sao của bản ghi nhớ.

Tôi tin rằng bản gốc không có dấu chấm câu.

BCPL và mã B xuất hiện gần như cùng một lúc. Tôi luôn nghĩ mã B được trích dẫn từ đó có trước, nhưng Martin Richards dường như nghĩ mã BCPL là trước. Trong cả hai trường hợp, "Xin chào Word!" có trước K&R, và việc sử dụng mã được ghi nhận đầu tiên của nó dường như được viết bởi Brian Kernighan tại Bell Labs.


0

Lần đầu tiên tôi xem nó trên bản in (tôi nghĩ) là ấn bản đầu tiên của K&R, có lẽ là vào khoảng năm 1982, nhưng tôi đã viết các chương trình "Hello world" của riêng mình từ rất lâu trước đó, cũng như những người khác.


0

Từ Wikipedia

Trong khi các chương trình thử nghiệm nhỏ đã tồn tại kể từ khi máy tính lập trình được phát triển, truyền thống sử dụng cụm từ "Hello world!" như một thông báo thử nghiệm đã bị ảnh hưởng bởi một chương trình ví dụ trong cuốn sách gốc Ngôn ngữ lập trình C. Chương trình ví dụ từ cuốn sách đó in ra "hello, world" (không viết hoa hoặc dấu chấm than) và được kế thừa từ bản ghi nhớ nội bộ năm 1974 của Phòng thí nghiệm Bell bởi Brian Kernighan, Lập trình trong C: A Tutorial, có phiên bản đầu tiên được biết đến:

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.