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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/03/24(月) 20:41:33.49ID:6L4QVMHI
■概要 [編集]
HackはFacebookが2014年に発表したPHPを魔改造したプログラミング言語である[1]。PHP自体を魔改造により
独自拡張したものなので長い歳月をかけてアホみたいに増えまくったPHPの関数群もそのまま使える。

HackはJavaVMのパクリのようなHHVMという仮想マシンの上で動作する。もともとはPHPを中間コードにして
多段階で最適化する手法を実現したかったようだ。これだけ聞くとPhalangerの車輪の再発明のように思えるが
真相は不明である。

HHVM実行環境のソースコードはPHPライセンスおよびZendライセンスの下で公開されている。

http://monobook.org/wiki/Hack_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)

0043デフォルトの名無しさん2014/04/06(日) 01:00:17.93ID:VpCKQzKq
hackはググれないから、ググるのはhacklangだね。
ほかの言語でも、ググれないのはlang付ける場合が多々ある。dlangとかgolangとか

次スレがあるようなら公式サイトを1に追加しなさって。
http://hacklang.org/
http://hhvm.com/

公式サイトにクイズ形式のチュートリアルがあって、おもったより本気度がある。
http://hacklang.org/tutorial/


GREEやドワンゴは、Scalaに移るのが正しいのかもしれないが、
http://labs.gree.jp/blog/category/scala/
揺り戻しでHack使い始めたら面白そう。
http://labs.gree.jp/blog/2014/04/10651/

0044デフォルトの名無しさん2014/04/06(日) 01:10:52.52ID:VpCKQzKq
この勢いだとlibuv使ったnodeクローンやsinatra/rackクローンみたいなwebサーバも有志が作り始めそうではある。
https://github.com/joyent/libuv
https://github.com/luvit/luvit
https://github.com/chobie/php-uv

0045デフォルトの名無しさん2014/04/06(日) 10:12:37.46ID:ra10Uh+D
>>42
わかりやすい(Fbが変態だということが)

0046デフォルトの名無しさん2014/04/09(水) 00:40:38.81ID:rnlf/mPK
HiphopVMでたし、Symfonyが無双しているし、Laravelでいいよもう
Phalconなんて何が悲しくてcでガリガリコード書いてんだろう

0047デフォルトの名無しさん2014/04/09(水) 01:02:49.59ID:rnlf/mPK
もうPHPとnode.jsの二強だと思っていいのかな...。

0048デフォルトの名無しさん2014/04/09(水) 09:29:39.11ID:iVtPfWG1
jsが最強になってしまったのは異論なし
ruby, pythonとかからするとphpは一歩前に出たな

0049デフォルトの名無しさん2014/04/10(木) 20:39:14.62ID:2cJgY0lS
Symfony,Railsが逃げ切りそう
node.jsは陽の目を浴びないまま時代の流れに消されそう

0050デフォルトの名無しさん2014/04/10(木) 21:14:45.28ID:S4J9jmPb
node陽の目は充分浴びたんじゃね?
なんらかのスタンダードみたいな大台まで登る気配は感じないけど、js人口にも支えられてるし当面脚光浴びてそう

レン鯖でちゃちゃっと、コマンドプロンプトからサクッと、みたいな定番用途ではphp,ruby,pyにはかなわんだろな

0051デフォルトの名無しさん2014/04/11(金) 23:15:55.50ID:WuiIH31f
海外のWebバブルに便乗したスタートアップと比較して、
何故、日本のサイトは広告だらけでダサく、そして使い勝ってが悪いのか

0052デフォルトの名無しさん2014/04/11(金) 23:37:59.28ID:q8b/WDe0
電通様

0053デフォルトの名無しさん2014/04/19(土) 14:40:26.15ID:4RxwLXSV
海外にも110ヶ国に拠点があったワロタ
シリコンバレーの広告土方も、実はチラシに踊らされてたりして

0054デフォルトの名無しさん2014/04/19(土) 20:33:37.78ID:OQZh3sea
全然話題ないが、あまり伸びないかな

0055デフォルトの名無しさん2014/04/22(火) 11:58:59.69ID:MkXEyCN9
クラスにしか変数/関数(あえてこの言い方)の宣言ができないらしいけど、
そうすると、$this->地獄から抜けられるとか、メリットあるの?

0056デフォルトの名無しさん2014/04/22(火) 13:21:57.94ID:mNs2V+qX
PHP由来でグローバル空間に関数定義できないんなら$this->並ぶだろうよ
まだHack言語書いたことないけども

0057デフォルトの名無しさん2014/04/22(火) 18:38:23.50ID:yu0eaLiQ
なるほど。
SPLとかも全部完全修飾しない限りは不可能だね。。

0058デフォルトの名無しさん2014/04/30(水) 09:42:26.81ID:f1RvcKlk
>>51
アメリカのパブリックスクールだと、幼稚園の頃からプレゼン技術を叩き込んでる。

0059デフォルトの名無しさん2014/05/16(金) 22:36:13.58ID:2m3dzGmv
これってPHPからの移植はけっこうスムーズにいくのかね?
PHP使ったこと無いからわからんのだが。

0060デフォルトの名無しさん2014/05/17(土) 00:44:06.20ID:AT+4x8IP
http://hacklang.org/tutorial/
<?phpを<?hhに書きかえ、末端の?>を消すのからはじまって、
型指定を入れていく。

http://docs.hhvm.com/manual/en/function.gmp-abs.php
一部使えない拡張とかあり、
PECL拡張も使えなかったような。
(独自拡張はある)

あとは、コツコツというのは型指定をしていく。
静的言語で一般的なコレクションもある。

引数と戻り値の型がちゃんと指定出来るような作りなら、なんとかなる。

0061デフォルトの名無しさん2014/05/17(土) 00:58:26.90ID:RMSyflwZ
サーバー系と違うけど、こんな感じ

http://benchmarksgame.alioth.debian.org/u64/hack.php
vs php 3-10倍速い?

http://benchmarksgame.alioth.debian.org/u64/benchmark.php?test=all&;lang=hack&lang2=java&data=u64
vs java 3-10倍遅い?

動的な型チェックの影響が大きいベンチマークだとこんな感じ。
後半三つは、任意精度整数のCライブラリ(GMP)が使えない影響なので、
ネイティブライブラリ使えない場合、これと同じような影響がある。

0062デフォルトの名無しさん2014/05/17(土) 18:09:16.69ID:6wxqk/Zl
おぉサンクス。
既存PHPの数倍早くなりそうならけっこういいかも。

0063デフォルトの名無しさん2014/05/17(土) 19:54:11.14ID:sX8Siisc
コレクションが追加されるなら、rubyのEnumerableとかC#のLINQみたいなものも追加されるのけ?

0064デフォルトの名無しさん2014/05/18(日) 00:08:28.07ID:HDWDipXQ
http://docs.hhvm.com/manual/en/hack.collections.php
http://qiita.com/yone098@github/items/7ff3616030e8d19400a7#1-7
hack専用ではなく、php5.5のyieldになるんじゃないかな。


linqっぽいginq(php >= 5.3.0)というライブラリはあるけど、これが移植出来るかは分からないけど。
http://tanakahisateru.hatenablog.jp/entry/2013/06/03/142037
http://qiita.com/Hiraku/items/0db9a8fed4743c1f00a4

0065デフォルトの名無しさん2014/05/19(月) 19:47:47.16ID:sxo2IuB1
でhhvmは使えるとしても
この言語は普及するのかね

0066デフォルトの名無しさん2014/05/26(月) 01:41:50.49ID:zggjVIna
Facebookで使ってる開発ツールとかがあるのか分からないけど、
IDEやツールを対応しないといけないから、
コミュニティが出来ないことには難しいなと思う。

0067デフォルトの名無しさん2014/05/26(月) 02:20:17.98ID:m1XHiXCh
hhvmは速いといっても、いまいち盛り上がらない感

0068デフォルトの名無しさん2014/05/29(木) 23:45:39.09ID:P2gKTCW3
PHP関係ってなんでこんなに名前のセンスないのかね
HIPHOPとかHHVMとか

0069デフォルトの名無しさん2014/05/30(金) 00:04:04.68ID:QYgs/DL1
php関連というよりは、facebook関連だな、popとかjsxとかも

0070デフォルトの名無しさん2014/05/30(金) 00:06:27.68ID:d/k/qDLK
Zendやコミュニティは、別路線だね。
phpコミュニティとfacebookは交流ないのか?
http://news.mynavi.jp/news/2014/05/28/293/

0071デフォルトの名無しさん2014/05/30(金) 00:31:16.48ID:s9buG1iV
facebookはこの辺受け入れる文化なんじゃね
http://www.gizmodo.jp/sp/2014/05/fbi3.html?r=slashdot.jp
タイトルまんま要約すると、FBIが過去三年間大麻やってないハッカー募集したら閑古鳥なんだと

0072デフォルトの名無しさん2014/05/31(土) 16:37:37.04ID:33u0Irpv
phpStormが対応するみたいだけど

0073デフォルトの名無しさん2014/06/01(日) 00:18:31.16ID:26Vvz8TO
InteliJのCEではphp動かないけど、商用版ってどうなんだろう。

0074デフォルトの名無しさん2014/06/01(日) 00:56:43.96ID:M8F9cK7q
PHPの主流の層は、こういうのいやがりそうだな。

0075デフォルトの名無しさん2014/06/01(日) 06:04:58.86ID:ymXKK1l2
zephirと競合するのかな
zephirはextention作るものって考えられるけど共存できないしね

0076デフォルトの名無しさん2014/06/01(日) 16:34:34.43ID:Y7NQ5gqe
zephirとかつくってるphalconは、extention中心とだから移植が必要になるのか。

hhvmの拡張は、いまやところZendEngineの拡張ではなく、hhvm用でhackベースで独自のみになってるらしい。
http://labs.gree.jp/blog/2014/04/10651/

0077デフォルトの名無しさん2014/06/02(月) 03:14:47.61ID:D0pIbZYb
PHPDeveloper.org: HHVM Blog: HHVM 3.1.0
http://www.phpdeveloper.org/news/21243
- Support for PHP 5.6 variadic ...$args syntax for func declarations
- Over 400 ini settings you can use to configure various things
- Fixes for several security issues including CVE-2011-2202 and CVE-2014-2270

php 5.5&5.4で修正したCVEに対応してる、
いまのところfacebookで実際のサービスに使ってる&CVE対応も追従してる
みたいなので、サービスに使えそうではある。

0078デフォルトの名無しさん2014/06/28(土) 08:32:22.88ID:P2OHKOXb
イラストレーターで収入が少ないからと30代後半で漫画家になろうとする、ひきこもりのバカ発見。
足立区に住んでいるそうだ
http://inumenken.blog.jp/archives/6609090.html

0079デフォルトの名無しさん2014/07/02(水) 02:23:09.31ID:0hqA4PPS
すごくいいと思うけど、オープンソースとはいえFBに依存するリスクがあるんでしょ?

0080デフォルトの名無しさん2014/08/10(日) 23:52:30.08ID:sbm4mn2r
で、その後Hackの調子はどうなのよ?普及しそうなの?

今PHPで他人の戻り値がmixedなクソコードでイライラしてるから、
いっそPHP 6とかでHackの型をオプションで取り込んで欲しいんだが。

0081デフォルトの名無しさん2014/08/11(月) 18:44:08.09ID:nzVNkquN
zendのblogにhackというよりhhvmのこと触れられてたけど、別コミュニティみたいな感じがする。
http://blog.zend.com/2014/07/17/php-next-generation-outperforming-facebooks-hhvm/

0082デフォルトの名無しさん2014/08/11(月) 19:01:12.96ID:nzVNkquN
現状だと、分散バージョン管理でコミット時にコードチェッカーでなんかしら対処すればいいのかね。

最近、IDEにphpdocの型アノテーション読ませて開発する機会が増えて来たのでmixed減らしたい。

0083デフォルトの名無しさん2014/09/01(月) 01:03:19.47ID:Q/16Nw/8
そうだね

0084デフォルトの名無しさん2014/09/03(水) 10:41:07.66ID:QONXtDoH
zendがphp-ngって実装つくってるが、hhvmとパフォーマンスが同じぐらいなので、faceboookの方針が変わらない間は、hackの実行環境もパフォーマンスの問題はなさそう。

https://kinsta.com/blog/real-world-wordpress-benchmarks-with-php5-5-php5-6-php-ng-and-hhvm/
http://www.phoronix.com/scan.php?page=news_item&;px=MTc3NTY

0085デフォルトの名無しさん2014/09/03(水) 10:43:07.63ID:QONXtDoH
PHP Next Generation is outperforming Facebook’s HHVM
http://blog.zend.com/2014/07/17/php-next-generation-outperforming-facebooks-hhvm/
zendの記事、一緒にやるつもりはなさそう。

0086デフォルトの名無しさん2014/09/03(水) 10:43:54.13ID:QONXtDoH
>81 に貼ってあった、、、

0087デフォルトの名無しさん2014/10/11(土) 18:45:43.15ID:kAb2UVjI
PHPカンファレンス2014の「HHVM + Hack == PHP++」おもしろかった。
HHVMはだいぶパフォーマンスよろしいらしく、どんどん採用例増えてるみたいだし、
流れに乗ってHackもPHPからの移行先としてワンチャン来るか!?

ただ、PHP-NGが出たあとが心配ではある。現状だとHHVMの普及と一蓮托生なのが
おっかなくて気軽には使用できん。

0088デフォルトの名無しさん2014/11/13(木) 11:06:28.27ID:rSWsXFBf
https://code.facebook.com/posts/398235553660954/announcing-the-hack-transpiler/
hackのサポートが急になくなると困るという声があり、
無くなっても困らないことを示すのにhackからphp5にトランスコードするツールをつくったらしい。
型アノテーションはすぐに外せるけど、
関数型のサポートの一部はphp5のライブラリで実装したっぽい。

0089デフォルトの名無しさん2015/12/05(土) 13:20:50.86ID:CEgC85ga
PHP7が出て、Hackの存在がさらに微妙になった。

0090デフォルトの名無しさん2015/12/19(土) 15:17:06.39ID:eQK9mXNn
phpdoc用の型アノテーション読めるようになったんだっけ。
hackにしてjavaぐらいまで速くなる訳じゃないし、
速くする方向でphp拡張使うこと考えると、hhvmと標準のphpのvm互換性がないという。

0091デフォルトの名無しさん2018/05/23(水) 23:15:28.79ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

NUL78

0092デフォルトの名無しさん2018/07/04(水) 18:20:23.09ID:bZ79e0V+
やっぱこれだよねhttps://goo.gl/ZosWhA

0093デフォルトの名無しさん2018/07/04(水) 21:44:48.34ID:gFgZc5FG
YA4

■ このスレッドは過去ログ倉庫に格納されています