Hello worldHello world(ハロー・ワールド)は、画面に「Hello, world!」やそれに類する文字列を表示するプログラムの通称である。多くのプログラミング言語において非常に単純なプログラムであり、プログラミング言語の入門書で、プログラムを動かすためのプログラミング言語の基本文法の解説例として提示される。 利用目的ハロー・ワールドは伝統的にプログラミング言語をプログラム初心者に紹介するために使われる。また、ハロー・ワールドはプログラミング言語が正しくインストールされていること、およびプログラミング言語の使用方法を理解するための健全性テストにも使用される。 『プログラミング言語C』(第2版)では、初めに「新しいプログラミング言語を学ぶ唯一の道は、それでプログラムを書いてみることである」との考えが示され、プログラムを入力して実行し、出力を確認することを習得すれば、言語の他の要素を学ぶことは容易だと訓示される。そして、「hello, world という単語を印字せよ」との例題が示される。この例題について、まずプログラムのソースコードが示され、次にUNIXにおける典型的なコンパイル・実行方法が例示される。そして、このプログラムの詳細が解説される[1]。 大抵のプログラミング言語の入門書では、このプログラムを作ることを最初の例題としており、ほとんどの場合、新しくプログラミング言語を習得する際に最初に作るのがこのプログラムである。そのため、「世界一有名なプログラム」と呼ばれることもある[要出典]。 歴史プログラミングできるコンピュータの開発以来、小さなテストプログラムは存在してきたが、テスト文言として「Hello, World!」を使う習慣はブライアン・カーニハンとデニス・リッチーによる著書「プログラミング言語C」(1978年)[2]のC言語バージョンから始まったと言われている。同著書のプログラム例は #include <stdio.h>
main( )
{
printf("hello, world\n");
}
C言語バージョンの以前にはカーニハンの前著「A Tutorial Introduction to the Language B」(1973年)での例があったが、存在が知られている最初のバージョンのプログラムは外部変数を説明するための例だった。プログラムはターミナルに改行を含む main(){
extrn a,b,c;
putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';
モダンな言語においてHello Worldは洗練された変化を遂げている。例えば、Go言語は多言語対応プログラムを紹介し[4]、Sun JavaはSVGで文言を表し[5]、XL言語は3Dグラフィックの地球で見せている[6] 。 種類この文言は句読点や頭文字の異なる多数の種類が存在している。その種類はコンマ「,」や感嘆符「!」の有無、頭文字の「H」および「W」が大文字かどうかを含む。いくつかの大文字のみサポートするシステム上の言語では「HELLO WORLD」のように異なる形式の実装を強制し、難解プログラミング言語でのハロー・ワールドはわずかに修正された文字列を出力する。「Hello, world!」以外の文言でも良いので、同様の意味で英語圏で用いられるスラング「Howdy」を使って、「Howdy, World!」が用いられることもあり、日本語プログラミング言語では「Hello World」を直訳した「こんにちは世界」が用いられることもある。 利用目的にも異なる種類がある。LISP・ML・Haskellのような関数型プログラミング言語では、再帰手法を強調する関数型プログラミングの実例として利用されることがある。一方で、オリジナルの例は副作用を伴った純粋関数型言語に違反した入出力の例として見られる。アセンブリ言語・C言語・VHDLのような組み込みで使われる言語では、文言を出力することが追加のコンポーネントや他機器との連携なしでは難しい、もしくは、その手法が存在しないことの例として用いられる。マイクロコンピュータ (マイコン)・FPGA・CPLDなどの機器では、制御間隔と機器連携を実験するLEDの発光(Lチカ)が文言出力の代わりに利用される。 DebianとUbuntuはaptパッケージシステムでハロー・ワールドプログラムを提供している。利用者は 脚注
外部リンク
|