'Merhaba dünya' nereden geliyor?


109

' hello, world' genellikle herhangi bir programlama dili için ilk örnektir. Bu cümlenin nereden geldiğini ve ilk nerede kullanıldığını hep merak etmişimdir.

Bir keresinde bunun bir bilgisayar ekranında gösterilen ilk cümle olduğu söylendi, ancak buna herhangi bir referans bulamadım.

Öyleyse sorum şu: Bilgisayar dilleri için ilk örnek olarak
' hello, world' kullanma pratiği nereden kaynaklanıyor?
İlk nerede kullanıldı?

Güncelleme
Cevaplar oldukça ilginç olsa da Wikipedia makalesini okuduğumu belirtmeliydim. Literatürdeki ilk kullanımla ilgili soruyu yanıtlıyor, ancak ' hello world' ilk kullanıldığında yanıt vermiyor .
Öyleyse, bunun bir bilgisayar ekranında gösterilen ilk cümlenin olmadığı ve ilk ne zaman kullanıldığına dair bir kayıt olmadığı sonucuna varmanın güvenli olduğunu düşünüyorum.

Yanıtlar:


97

Brian Kernighan, Martin Richards tarafından geliştirilen BCPL programlama dili belgelerinin bir parçası olarak ilk "merhaba, dünya" programını yazdı. BCPL, 1972'de Kernighan ve Ritchie'nin C kitabının yayınlanmasından birkaç yıl önce Bell Labs'ta C geliştirilirken kullanıldı.

Alice programlama ortamı hakkında yazdığım bir kitabın araştırmasının bir parçası olarak, Princeton'dan Prof. Kernighan ve Cambridge'den Martin Richards ile yazıştım (1990'larda orada bir seminer verirken). "Merhaba Dünya!" Mesajını yazdırmak için ilk belgelenmiş kod kullanımını izlememe yardımcı oldular. Brian Kernighan, BCPL kılavuzunun G / Ç bölümünün bir kısmının kodunu yazdığını hatırladı. Notlar, eski belgeler vb. Bir hazineye sahip gibi görünen Martin Richards, kılavuzu buldu ve bunun orijinal olduğunu doğruladı Programın görünümü.Kod, C derleyicisinin erken testlerinde kullanıldı ve Kernighan ve Ritchie'nin kitabına girdi. Daha sonra Bjarne Stroustrup'un C ++ derleyicisini test etmek için kullanılan ilk programlardan biriydi.

Muhtemelen tüm zamanların programlamaya en çok satan girişi olan Kernighan ve Ritchie'de göründükten sonra yeni programcılar için bir standart haline geldi.


(?) BCPL kılavuzuna bakıyorum cm.bell-labs.com/cm/cs/who/dmr/bcpl.pdf Bunu görmüyorum
barlop

1
C kitap 1972'de B kitap 1972. ödendi, 1978 yılında yayınlanan C kitabın ilk baskısı ) en.wikipedia.org/wiki/The_C_Programming_Language_(book bir "a 1974 Bell Laboratuvarları iç muhtırası ile oluştu Brian Kernighan, C Programlama: Bir Öğretici " en.wikipedia.org/wiki/Hello_world_program
barlop

1
Lysator.liu.se/c/bwk-tutor.html printf ("merhaba, dünya \ n") olsa da, 1974 C öğreticisinin bir G / Ç bölümü var ; ve bunun da ötesinde, 2. bölümde, \ n olmadan ve bir programda. main( ) { printf("hello, world"); }B ve BCPL'den bir şeyler görmek ilginç olun.
barlop

3
adamla gerçekten konuştuğunuz ve bir "not hazinesinde" bulunan görünüşü "onayladığınız" için iyi iş çıkardınız, ancak cevabınızda gerçek programı sunabilir misiniz?
barlop

1
Wikipedia'da bir resim buldum, resim - en.wikipedia.org/wiki/Computer_program#/media/… . Kaynak sayfa - en.wikipedia.org/wiki/Computer_program
Daryn

48

Wikipedia'ya göre :

Programlanabilir bilgisayarların geliştirilmesinden bu yana küçük test programları varken, "Merhaba dünya!" İfadesini kullanma geleneği var. Test mesajı, seminal kitabındaki C Programlama Dili'ndeki örnek bir programdan etkilenmiştir. Bu kitaptaki örnek program "merhaba, dünya" (büyük harfler veya ünlem işareti olmadan) basıyor ve Brian Kernighan'ın 1974 Bell Laboratories dahili notundan, C Programming in C: A Tutorial adlı ilk bilinen sürümü içeren miras alındı:

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

Bilgisayar literatüründe "merhaba" ve "dünya" kelimelerinin birlikte kullanımının bilinen ilk örneği, daha önce, aşağıdaki kodla Kernighan'ın 1972 B Diline Giriş Dersinde [1] meydana geldi:

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

1974 C öğreticisi burada gibi görünüyor cprogramming.com/cgi-bin/cdir/… ki bu lysator.liu.se/c/bwk-tutor.html'ye işaret ediyor Yazdığınız yerin ie main()olarak listelendiğim html sayfasında olduğunu fark ettim main( )arasında bir boşluk ().
barlop

10

"C Programlama Dili" kitabındaki ilk C programı "merhaba dünya!" ekranda.

O zamandan beri bir programlama dilinin temel ayrıntılarını tanıtan ilk program olarak kullanılmaktadır.


7

Gönderen http://en.wikipedia.org/wiki/Hello_world_program :

Bilgisayar literatüründe "merhaba" ve "dünya" kelimelerinin birlikte kullanımının bilinen ilk örneği, daha önce, aşağıdaki kodla Kernighan'ın 1972 B Diline Giriş Dersinde [1] meydana geldi:

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

5

Orijinal yazımda bu konuda daha dikkatli olmalıydım -

Elbette Barlop haklı, K&R 1978'de yayınlandı. Gönderimde bir koma eksikti. Dr Kernighan'ın Hello World kodunun bulunduğu BCPL kılavuzunun 1972 tarihli olduğunu kastetmiştim. Buna atıfta bulunan memorandum 1974'ten kalmadır.

Martin Richards'ın bu belgeleri var. El kitabının bozuk bir fotokopisi ve muhtıranın bir kopyası elimde.

Orijinalde noktalama işareti olmadığına inanıyorum.

BCPL ve B kodu hemen hemen aynı anda ortaya çıktı. Her zaman oradan alıntılanan B kodunun önce geldiğini düşünmüşümdür , ancak Martin Richards BCPL kodunun ilk olduğunu düşünüyor gibiydi. Her iki durumda da "Merhaba Kelime!" K & R'den öncedir ve koddaki ilk belgelenmiş kullanımı, Bell Labs'ta Brian Kernighan tarafından yazılmış gibi görünüyor.


0

İlk kez basılı olarak karşılaştığımda (sanırım) K & R'nin ilk baskısıydı, yani bu 1982 civarı olurdu, ama ondan çok önce, herkes gibi kendi "Merhaba dünya" programlarımı yazıyordum.


0

Wikipedia'dan

Programlanabilir bilgisayarların geliştirilmesinden bu yana küçük test programları varken, "Merhaba dünya!" İfadesini kullanma geleneği var. Test mesajı, seminal kitabındaki C Programlama Dili'ndeki örnek bir programdan etkilenmiştir. Bu kitaptaki örnek program "merhaba, dünya" (büyük harfler veya ünlem işareti olmadan) basıyor ve Brian Kernighan'ın 1974 Bell Laboratories dahili notundan, C Programming in C: A Tutorial adlı ilk bilinen sürümü içeren miras alındı:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.