Откуда взялось «Hello world»?


109

' hello, world' обычно является первым примером для любого языка программирования. Мне всегда было интересно, откуда взялось это предложение и где оно было впервые использовано.

Однажды мне сказали, что это первое предложение, которое когда-либо отображалось на экране компьютера, но я не смог найти на него никакого упоминания.

Итак, мой вопрос:
откуда взялась практика использования " hello, world" в качестве первого примера компьютерных языков?
Где его впервые использовали?

Обновление
Хотя ответы довольно интересны, я должен был отметить, что прочитал статью в Википедии. Он действительно отвечает на вопрос о первом использовании в литературе, но не дает ответа на вопрос, когда hello worldвпервые было использовано "" .
Поэтому я думаю, что можно с уверенностью заключить, что это не первое предложение, которое когда-либо отображалось на экране компьютера, и что нет никаких записей о том, когда оно было впервые использовано?

Ответы:


97

Брайан Керниган фактически написал первую программу «привет, мир» как часть документации для языка программирования BCPL, разработанной Мартином Ричардсом. BCPL использовался во время разработки языка C в Bell Labs за несколько лет до публикации книги Кернигана и Ричи о языке C в 1972 году.

В рамках исследования для книги, которую я писал о среде программирования Алисы, я переписывался с профессором Керниганом из Принстона и Мартином Ричардсом из Кембриджа (когда я проводил там семинар в 1990-х годах). Они помогли мне отследить первое задокументированное использование кода для печати сообщения «Hello, World!» Брайан Керниган вспомнил, как писал код для части раздела ввода-вывода руководства BCPL. Мартин Ричардс, у которого, похоже, есть кладезь заметок, старых документов и т. Д., Нашел руководство и подтвердил, что это оригинал. Внешний вид программы.Код был использован для раннего тестирования компилятора C и вошел в книгу Кернигана и Ричи, а затем стал одной из первых программ, использованных для тестирования компилятора C ++ Бьярна Страуструпа.

Он стал стандартом для начинающих программистов после того, как появился в книге Керниган и Ричи, которая, вероятно, является самым продаваемым введением в программирование за все время.


Глядя на (?) Руководство BCPL cm.bell-labs.com/cm/cs/who/dmr/bcpl.pdf, я его не вижу
barlop

1
Книги C не было в 1972 году. Книга B была выпущена в 1972 году. Первое издание книги C было опубликовано в 1978 году en.wikipedia.org/wiki/The_C_Programming_Language_(book) Был «внутренний меморандум Bell Laboratories 1974 года, сделанный Брайан Керниган, Программирование на C: Учебное пособие " en.wikipedia.org/wiki/Hello_world_program
barlop

1
В его учебнике по C 1974 года есть раздел ввода-вывода, хотя lysator.liu.se/c/bwk-tutor.html printf ("hello, world \ n"); и выше, в разделе 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
Дарин,

48

Согласно википедии :

Хотя небольшие тестовые программы существовали с момента разработки программируемых компьютеров, традиция использования фразы «Hello world!» на тестовое сообщение повлиял пример программы из основополагающей книги «Язык программирования Си». В примере программы из этой книги печатается «привет, мир» (без заглавных букв и восклицательного знака), она была унаследована из внутреннего меморандума Bell Laboratories 1974 года Брайана Кернигана «Программирование на C: Учебник», который содержит первую известную версию:

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

Первый известный случай использования слов «привет» и «мир» вместе в компьютерной литературе произошел ранее, в учебнике «Введение в язык B» Кернигана 1972 года [1] со следующим кодом:

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

похоже, что учебник C 1974 года находится здесь cprogramming.com/cgi-bin/cdir/… который указывает на lysator.liu.se/c/bwk-tutor.html. Я заметил, где вы написали, main()находится на странице html, которую я упомянул, как main( )ie пробел между ().
barlop

10

Первая программа C в книге "Язык программирования C" должна была напечатать "hello world!" на экране.

С тех пор он используется как первая программа для ознакомления с основными деталями языка программирования.


7

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

Первый известный случай использования слов «привет» и «мир» вместе в компьютерной литературе произошел ранее, в учебнике «Введение в язык B» Кернигана 1972 года [1] со следующим кодом:

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

5

Я должен был быть более осторожным с языком в моем исходном сообщении об этом -

Конечно, Барлоп прав, K&R был опубликован в 1978 году. В моем посте отсутствовала кома. Я имел в виду, что руководство BCPL с кодом доктора Кернигана Hello World было датировано 1972 годом. Меморандум со ссылкой на это датирован 1974 годом.

Эти документы есть у Мартина Ричардса. У меня плохая ксерокопия руководства и копия меморандума.

Я считаю, что в оригинале не было знаков препинания.

BCPL и B-код появились почти одновременно. Я всегда думал, что B-код, процитированный оттуда, появился первым, но Мартин Ричардс, похоже, думал, что BCPL-код был первым. В любом случае «Привет, слово!» предшествовал K&R, и его первое задокументированное использование в коде, по-видимому, было написано Брайаном Керниганом из Bell Labs.


0

Первый раз, когда я наткнулся на это в печати, было (я думаю) первое издание K&R, так что это было примерно в 1982 году, но я писал свои собственные программы «Hello world» задолго до этого, как и все остальные.


0

Из Википедии

Хотя небольшие тестовые программы существовали с момента разработки программируемых компьютеров, традиция использования фразы «Hello world!» на тестовое сообщение повлиял пример программы из основополагающей книги «Язык программирования Си». В примере программы из этой книги печатается «привет, мир» (без заглавных букв и восклицательного знака), она была унаследована из внутреннего меморандума Bell Laboratories 1974 года Брайана Кернигана «Программирование на C: Учебник», который содержит первую известную версию:

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.