地底たる謎の研究室

3000km深から愛をこめて

"hello, world"の深い意味



「宇宙コロニー( Off-world colonies )での新しい生活が貴方を待っています。チャンスと冒険に満ちた黄金の土地に、再び巡ってきた好運。」 “A new life awaits you in the Off-world colonies. The chance to begin again in a golden land of opportunity and adventure.”

広告


pocket LINE




題名:"hello, world"の深い意味
報告者:ログ

 “hello, world”を訳すと、”こんにちは, 世界”であるが、その語の両端に” “がつくことで、プログラミング上では文字列と認識される。この”hello, world”が日本で初めて発表されたのは、B.W. カーニハンとD.M. リッチーの著による「プログラミング言語C 第2版 ANSI規格準拠」の本で、プログラミング言語を学ぶ上で有名な文字列の筆頭に挙げられる。日本でのこの本の初版は1989年になり、共立出版1)から販売されている。しかしながら、本国アメリカでの初版は、ANSIの標準化前の1978年まで遡ることができる。ただし、”hello, world”は標準化前の本でも記載されている。
 そのカーニハンとリッチー2,3)は、AT&Tベル研究所に所属していた計算機科学者で、プログラミング言語のCの開発者として著名な方々である。そのため、先の本も愛称をもってK&Rと略されることもある。今となってはやや古典的な言語として扱われるCではあるが、今日の様々なプログラミングの母体となった言語でもあるために、その地位は未だにゆるぎない。
 “hello, world”は、その本のIntroductionの次のA Simple C Programに記述され、

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

となる4)。( )は関数であることを示し、main( )は全体を管理する関数、printf( )は結果を出力する関数である。このため、上記のプログラムは、実行として、”hello, world”という文字列を出力(印字)せよ、という内容となる。このようにC言語は関数によって様々な処理が実行される。
 C言語の細かな実行処理の方法はさておき、ここで問題としたいのは、なぜカーニハンとリッチーが”hello, world”という文字列を選んだかである。インターネットの歴史において、この本の初版であった1978年はインターネットがまだ普及していない時代である5)。しかしながら、1974年にV. カーフとR. カーンによって論文上で初めてInternetという言葉が登場し6)、1975年にカーニハンとリッチーが所属していたAT&Tベル研究所でUNIX OS上でのC言語の開発が進んだのを機に、徐々にInternetも次世代への技術の布石として水面下では本格的に研究されつつあったのであろう。K&Rには具体的にInternetに関する内容はないものの、この本の著者であるカーニハンとリッチーにはその布石がはっきりと見えていたに違いない。すなわち、”hello, world”とは、この言語を学ぶ人に向けた単なる文字列メッセージでなく、Internet時代の到来に向けた2人のお茶目なメッセージであったに違いない。まさにworld wideである。

1) http://www.kyoritsu-pub.co.jp/bookdetail/9784320026926 (閲覧2015.8.19)
2) https://ja.wikipedia.org/wiki/ブライアン・カーニハン (閲覧2015.8.19)
3) https://ja.wikipedia.org/wiki/デニス・リッチー (閲覧2015.8.19)
4) http://www.math.utah.edu/computing/compilers/c/Kernighan-CTutorial.pdf (閲覧2015.8.19)
5) http://www.densan.net/doc/0107_2003.html (閲覧2015.8.19)
6) http://www-net.cs.umass.edu/653-04/documents/cerfkahn.pdf (閲覧2015.8.19)

From ここから。© 2015 This is 地底たる謎の研究室 version。