西暦 2015 年 08 月 19 日 ダレナン博士の研究所 研究報告書 No.18 題名:"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)
© Copyright 2024 ExpyDoc