Hack (プログラミング言語)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Hack (プログラミング言語)の意味・解説 

Hack (プログラミング言語)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/17 08:57 UTC 版)

Hack
Hackのロゴ
登場時期 2014年 (11年前) (2014)
設計者 Julien Verlaguet, Alok Menghrajani, and others[1]
開発者 meta 
最新リリース 4.172 / 2022年11月2日[2]
型付け 静的、動的、弱い型付け
影響を受けた言語 PHPJavaC SharpOCamlScalaHaskell 
ライセンス MIT License 
ウェブサイト hacklang.org
テンプレートを表示

Hackは、Metaにより開発されたプログラミング言語である。オープンソースとして公開されており、同社が開発したPHP実行環境のHipHop仮想マシン (HHVM) で動作する[3]

HackはHHVM環境で動作するPHPの新しいバージョンと見なすこともできるが、PHPとは異なり動的/静的双方の型システムが使用可能となっている。MetaではHackを「漸進的型付き言語」であるとしており、これがHackの強みとされている。

歴史

Hackは2014年3月20日に一般に公開された[4]。Hackは公開以前からMeta社内において広く使用されており、同社の実環境における厳しいテストをくぐり抜け開発された。

Hackの登場はPHPにも影響を与えており、2015年12月にリリースされたPHP7は、Hackと同一構文の型システムを搭載している。

特徴

Hackの特徴としては、Web開発において広く用いられているPHPとシームレスに連携できることがまず挙げられる。PHPで書かれたほとんどのスクリプトは、そのままHackのスクリプトとして実行可能である。[5] Hackの型システムでは、関数引数戻り値クラスプロパティに型の指定が可能となる(ローカル変数は不可)[6][7]

構文

Hackスクリプトの基本的なファイル構造は、PHPスクリプトのものとわずかに異なるもののほぼ同じである。PHPがスクリプトの開始を <?php で宣言するのに対して、Hackでは <?hh で宣言する。

<?hh
echo 'Hello World';

上のスクリプトはPHPと酷似している。実行すると、以下の出力がブラウザに対して与えられる。

Hello World

注意が必要な点だが、HackのコードはPHPのようにHTML中に埋め込むことができない。例えば、PHPでは以下のようにPHPとHTMLを一つのファイルに記述することができる。

<html>
    <head>
        <title>PHP Test</title>
    </head>
    <body>
        <!-- hhではこうした記述はできない -->
        <?php echo '<p>Hello World</p>'; ?> 
    </body>
</html>

しかし、Hackではこの構文はサポートされていない。そうした用途には、同じくMetaが開発したXHP英語版や、別途テンプレートエンジンを用いる必要がある。[5]

関数

Hackでは関数引数戻り値に型を指定することができる。型の指定は以下のように行う。

<?hh
// Hackの関数では以下のように型を指定する。
function negate(bool $x): bool {
    return !$x;
}

脚注

  1. ^ Contributors to facebook/hhvm”. Github.com. 2014年3月25日閲覧。
  2. ^ 出典URL: https://hhvm.com/blog/2022/11/02/hhvm-4.172.html, 閲覧日: 2024年4月15日, 題名: Release 4.172, 出版日: 2022年11月2日
  3. ^ Cade Metz (2014年3月20日). “Facebook Introduces 'Hack,' the Programming Language of the Future”. wired.com. 2014年4月15日閲覧。
  4. ^ Hack: a new programming language for HHVM”. Code.facebook.com. 2014年3月23日閲覧。
  5. ^ a b Hack and HHVM: Unsupported PHP Features in Hack - Manual”. Docs.hhvm.com. 2014年4月2日閲覧。
  6. ^ Hack and HHVM: Type Annotations - Manual”. Docs.hhvm.com. 2014年3月25日閲覧。
  7. ^ Hack and HHVM: Type Inference - Manual”. Docs.hhvm.com. 2014年3月25日閲覧。

関連項目

外部リンク




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

辞書ショートカット

すべての辞書の索引

「Hack (プログラミング言語)」の関連用語

Hack (プログラミング言語)のお隣キーワード
検索ランキング

   

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



Hack (プログラミング言語)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS