Звідки береться "Hello world"?


109

' hello, world' зазвичай є першим прикладом для будь-якої мови програмування. Мені завжди було цікаво, звідки походить це речення і де воно вперше вживається.

Мені одного разу казали, що це було перше речення, яке коли-небудь відображалося на екрані комп'ютера, але я не зміг знайти жодного посилання на це.

Отже, моє запитання:
звідки hello, worldбере початок практика використання " " в якості першого прикладу для комп'ютерних мов?
Де його вперше застосували?

Оновлення
Хоча відповіді досить цікаві, я мав зазначити, що я прочитав статтю у Вікіпедії. Він відповідає на питання про перше використання в літературі, але не відповідає, коли " hello world" вперше було використано .
Тож я думаю, що можна з упевненістю зробити висновок, що це було не перше речення, яке колись відображалося на екрані комп’ютера, і що немає запису про те, коли воно було вперше використано?

Відповіді:


96

Брайан Керніган насправді написав першу програму "Привіт, світ" як частину документації до мови програмування BCPL, розроблену Мартіном Річардсом. BCPL використовувався в той час, як C розроблявся в Bell Labs за кілька років до виходу книги Керніган та Річі в 1972 році.

У рамках дослідження книги, яку я писав про середовище програмування Еліс, я листувався з професором Керніган із Принстона та Мартином Річардсом у Кембриджі (коли я викладав там семінар у 1990-х). Вони допомогли мені відстежити перше задокументоване використання коду для друку повідомлення "Привіт, світ!" Брайан Керніган згадував, як писав код для частини розділу I / O в посібнику BCPL. Мартін Річардс, який, здається, має скарбницю записок, старих документів тощо - знайшов посібник і підтвердив, що це оригінал поява програми Код був використаний для раннього тестування компілятора С і пробився до книги Керніган та Річі. Пізніше це була одна з перших програм, що використовувались для тестування компілятора C ++ Bjarne Stroustrup.

Це стало стандартом для нових програмістів після того, як він з'явився в "Керніган" і "Річі", що, мабуть, є найбільш продаваним вступом до програмування всіх часів.


Дивлячись на (the?) Керівництво BCPL cm.bell-labs.com/cm/cs/who/dmr/bcpl.pdf Я цього не бачу
барлоп

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

1
Існує розділ вводу-виводу до його підручника з 1974 року, хоча lysator.liu.se/c/bwk-tutor.html printf ("привіт, світ \ n"); і вище, у розділі 2, без \ n та програми. main( ) { printf("hello, world"); }Будьте цікаві, щоб побачити щось із B та BCPL.
барлоп

3
молодець, що насправді розмовляв із самою людиною та «підтверджував» зовнішність, знайдений у «скарбничці записок», але чи можете ви представити фактичну програму у своїй відповіді?
барлоп

1
Я знайшов зображення у Вікіпедії, зображення - en.wikipedia.org/wiki/Computer_program#/media/… . Сторінка джерела - en.wikipedia.org/wiki/Computer_program
Дарин

48

За вікіпедією :

У той час як невеликі тестові програми існували з моменту розробки програмованих комп'ютерів, традиція використання фрази "Привіт, світ!" як тестове повідомлення вплинула приклад програми у навчальній книзі «Мова програмування на С». Прикладна програма з цієї книги друкує "привіт, світ" (без великих літер чи знаків оклику) і успадкована із внутрішнього меморандуму Брайана Керніган 1974 року "Bell Laboratories", програмування в C: A Tutorial, який містить першу відому версію:

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

Перший відомий екземпляр використання слів "привіт" та "світ" разом у комп'ютерній літературі стався раніше, у підручнику "Вступ до мови Б" Кернігана 1972 року [1], з таким кодом:

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

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

10

Першою програмою C у книзі "Мова програмування на С" було надрукувати "Привіт, світ!" на екрані.

З цього часу вона використовується як перша програма для введення основних деталей мови програмування.


7

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

Перший відомий екземпляр використання слів "привіт" та "світ" разом у комп'ютерній літературі стався раніше, у підручнику "Вступ до мови Б" Кернігана 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

З Вікіпедії

У той час як невеликі тестові програми існували з моменту розробки програмованих комп'ютерів, традиція використання фрази "Привіт, світ!" як тестове повідомлення вплинула приклад програми у навчальній книзі «Мова програмування на С». Прикладна програма з цієї книги друкує "привіт, світ" (без великих літер чи знаків оклику) і успадкована із внутрішнього меморандуму Брайана Керніган 1974 року "Bell Laboratories", програмування в C: A Tutorial, який містить першу відому версію:

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.