HQ9Fとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > HQ9Fの意味・解説 

HQ9+

(HQ9F から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/09/27 18:33 UTC 版)

HQ9+はクリフ・ビッフルによって作られたジョーク向け難解プログラミング言語である。実用言語ではない。

HQ9+は4つの命令だけで構成されており、それらは'H'、'Q'、'9'、'+'という単一の文字で示される。HQ9+はチューリング完全ではなく、プログラミング言語としては不完全であるが、プログラミングの例題としてよく取り上げられるいくつかの問題に対しては極めて効率的である。

仕様

HQ9+のプログラムは、例えば次のようになる。

HHQ+HQ++

このプログラムは"Hello, world! Hello, world! HHQ+HQ++ Hello, world! HHQ+HQ++"と表示し、アキュムレータを三回インクリメントする。

解説

HQ9+の命令体系は、プログラム初心者や新しいプログラミング言語を学習するプログラマによく利用される例題そのものである。例えば「文字列"Hello, world!"を出力する」という例題は極めて一般的なものであるが、この種の処理を行うことが非常に難しいプログラミング言語も存在する。しかし、HQ9+にとっては極めて容易な問題であり、ただ単に"H"と命令するだけである(というよりも、問題の回答自体が言語仕様に入っている)。また、「自分自身のソースプログラムを出力する」という例題は多くのプログラミング言語にとって最も難しい課題の一つであるが、これもHQ9+にとっては取るに足らない問題である(これも問題を解いているわけではなく、言語仕様に回答が含まれているだけであるが)。

HQ9+のインタプリタを作成することは極めて簡単であるため、多数のHQ9+の処理系が存在する。たとえば、あるインタプリタはPythonによるものであり、作成時間は約5分、サイズはわずか18行である。またある、C言語で記述されたコンパイラはHQ9+のプログラムをCのコードに変換するもので、サイズは約40行である。そしてこのインタプリタはJavaScriptで記述されており、ステップ実行ができる[1]

HQ9+には入力機能がないため、HQ9+のインタプリタやコンパイラをHQ9+自身で記述することは不可能である。

また、HQ9++と呼ばれる言語も存在する。これはデイビッド・モルガン=マール英語版によって作成されたオブジェクト指向言語で、HQ9+とは下位互換性をもつ。HQ9++には'++'という新しい命令が追加されている。この命令はアキュムレータを2回インクリメントし、さらにオブジェクトのインスタンスを生成する。情報隠蔽英語版の原理に従い、このオブジェクトへのアクセスはできない様になっている。

さらにFizzBuzzを追加したHQ9F+なるものも存在する。

脚注

関連項目

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「HQ9F」の関連用語

1
16% |||||

2
8% |||||

HQ9Fのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



HQ9Fのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのHQ9+ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS