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

1デフォルトの名無しさん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)

2デフォルトの名無しさん2014/03/24(月) 20:44:33.88ID:iN+OyuMJ
ゴミ
ゴミ
ゴミ
ゴミ
ゴミ
ゴミ
ゴミ
ゴミ
ゴミ
ゴミ
ゴミ
ゴミ

3デフォルトの名無しさん2014/03/24(月) 21:21:55.54ID:wy6Yi8GY
新プログラミング言語「Hack」発表、Facebookが魔改造したPHPのようなもの
http://hayabusa3.2ch.net/test/read.cgi/news/1395662300/

4デフォルトの名無しさん2014/03/24(月) 21:24:25.69ID:b5p4OWYb
PHPが糞なのは皆知ってるし、多少はましなこの言語へと移行が始まるかもね

5デフォルトの名無しさん2014/03/24(月) 21:31:56.66ID:b5p4OWYb
プログラミング言語「Hack」登場 - 米Facebookが発表
http://news.mynavi.jp/news/2014/03/24/416/

Facebook、新プログラミング言語「Hack」をオープンソースで公開
http://www.itmedia.co.jp/news/articles/1403/24/news093.html

6デフォルトの名無しさん2014/03/24(月) 23:36:07.35ID:taZC4c0i
もっとましな名前付けれなかったのか

7デフォルトの名無しさん2014/03/25(火) 01:31:54.19ID:kfqu4sSW
これが覇権をとることになるの?

8デフォルトの名無しさん2014/03/25(火) 04:32:18.81ID:OCUnqu3v
>>6
Crackよりはマシなの

9デフォルトの名無しさん2014/03/25(火) 20:19:25.52ID:EkLc5i6x
静的変数が何とかって書いてあるがどいうこと?
定数とは違うものなの?

10デフォルトの名無しさん2014/03/25(火) 21:07:42.60ID:HZ2V8Nz5
ただの、PHP改

11デフォルトの名無しさん2014/03/25(火) 21:28:43.03ID:lDiJwQpa
スレッドセーフがPHPの良い所なのに、何でそういった危ない機能付けちゃうの?
アホなの?

12デフォルトの名無しさん2014/03/25(火) 23:05:45.23ID:XOmF7ZXG
PHP++

13デフォルトの名無しさん2014/03/26(水) 00:32:59.44ID:2pJmwYuc
>>6
せめて Hakk とかにすれば検索しやすいのにね

14デフォルトの名無しさん2014/03/27(木) 02:02:30.87ID:ap7nCvC5
これ拡張子何なの?
.hh?
それとも.php?

15デフォルトの名無しさん2014/03/29(土) 17:27:00.04ID:LpEHX1o/
なんかさIT使ってる場所なら
Hackって「言葉」頻繁に使うよね?

それなのに話題性のためにHackって言葉を使うあたりがバカだなって思う!

会話の中でなんの話をしてるのかわかりにくくなるじゃん

16デフォルトの名無しさん2014/03/29(土) 18:42:58.69ID:TFe9EgHM
hip-hopじゃなかったの?

17デフォルトの名無しさん2014/03/29(土) 18:52:35.40ID:c7nJ0zML
CとC++のように
PHP++のようなものだろ

18デフォルトの名無しさん2014/03/31(月) 00:11:53.61ID:1mSn+b7I
>>13
"Hacklang"と"Hack言語"でなんとかなりそう

19デフォルトの名無しさん2014/03/31(月) 00:12:48.31ID:1mSn+b7I
>>14
JITコンパイルだから拡張子はphp

20デフォルトの名無しさん2014/03/31(月) 08:56:00.64ID:nwm7JJ4u
>>1
キモイ文章を引用しなくていいから

21デフォルトの名無しさん2014/03/31(月) 18:25:38.70ID:YDzIhweZ
これIDEあるの?

22デフォルトの名無しさん2014/03/31(月) 22:04:10.61ID:60O6Nh3u
IDEは知らないが、Sublime Text 2かDreamWeaverを使えばよかろう

23デフォルトの名無しさん2014/03/31(月) 22:06:32.04ID:60O6Nh3u
PHP IDEで検索

24デフォルトの名無しさん2014/04/01(火) 02:32:11.58ID:Eteg6KuU
型推論とか警告を出さないとあまり意味はないな

25デフォルトの名無しさん2014/04/01(火) 11:19:29.97ID:7d7wTM2C
これVisualStudioをIDEにできるPhalanger圧勝じゃないの?

26デフォルトの名無しさん2014/04/01(火) 12:09:32.28ID:Eteg6KuU
どっちにせよそこまでウケずに消える予感

27デフォルトの名無しさん2014/04/01(火) 15:24:54.29ID:LNeUvpk1
ドッグフードだろ
なんで、Cookpadはfacebookになれなかったんだろうね

28デフォルトの名無しさん2014/04/01(火) 16:30:18.52ID:Eteg6KuU
CookpadはIT向けの講演、勉強会とか積極的なのにな

29デフォルトの名無しさん2014/04/02(水) 01:58:01.16ID:oeyiben4
あんま盛り上がらんな

30デフォルトの名無しさん2014/04/02(水) 12:53:45.84ID:9bf/HRbf
内部で使ってるらしいし
流行らなくてもいいんだろう

31デフォルトの名無しさん2014/04/02(水) 17:49:15.54ID:oeyiben4
Facebookのために作っておすそ分けって感じね
ドキュメントはけっこうカッチリ作ってあったが

32デフォルトの名無しさん2014/04/02(水) 18:38:48.70ID:dFeJg3uF
暗号名はHipHop。

33デフォルトの名無しさん2014/04/02(水) 22:01:55.20ID:eMainclp
facebookはPHP、GoogleはJavascriptが戦略上最重要な言語である以上、
自分らで最速、堅牢に改良していく余地があるんだろうけど
RubyやPythonは未だにホビィスト規模のコミュニティにしか見えない。
特に何の根拠もないのに、RailsよりSymfonyの方が信頼できそうなのは何故なのか
PHPが最強過ぎて悲しい

34デフォルトの名無しさん2014/04/02(水) 22:54:56.96ID:qDK6z6rG
>>29
3日でスレ消化したGoと比べちゃいかん

35デフォルトの名無しさん2014/04/03(木) 00:02:41.91ID:3TXTLRvX
>>33
JavaScriptはどれだけ新言語(Coffee, TS, Dart)で補っても根本がクソなんで、PHPはたしかに安定感がある
node.jsてまだ流行ってんの?

36デフォルトの名無しさん2014/04/03(木) 11:26:32.01ID:QLCdboVe
cpanやrailsを再発明するぐらい流行ってるよ
cpanと同じ運命を辿るだろうけど、飯さえ食えれば関係ないよね?

37デフォルトの名無しさん2014/04/03(木) 14:45:37.99ID:3TXTLRvX
ある意味信者を増やす商売でもあるからな

38デフォルトの名無しさん2014/04/03(木) 15:42:10.21ID:QLCdboVe

39デフォルトの名無しさん2014/04/03(木) 15:54:21.86ID:QLCdboVe
Cookpad、楽天、37signalsは猛省すべき

40デフォルトの名無しさん2014/04/03(木) 16:04:56.27ID:QLCdboVe
javalizeとperlizeの何方が幸せかは疑問なものの緩やかに闇へ葬られるのだろう

41とんぼ ◆0ioouYq6qF8x 2014/04/03(木) 22:04:53.54ID:JgrUCG7l
>>40
ごめん、質問します。
Javalizeとperlizeってどういう意味。検索したけどわからなかった。

42デフォルトの名無しさん2014/04/06(日) 00:49:59.30ID:VpCKQzKq
>>1
JavaVMとかPhalanger(.netのVM言語な JVMにもQuercusというのがある)とか置いといて
HipHopVMの話から追ったほうが納得しやすいかも。
http://www.infoq.com/jp/news/2012/12/Facebook-HHVM-JIT

経緯追うとこんなあらすじだったと思う。
・既存のphpについて、本番環境の実行速度を上げてサーバ台数減らすのに、php2c++のトランスレータコンパイラを開発して導入。
(APCとあまり速度変わらないようにみえた)
・開発環境では、全部毎回コンパイルしてると時間がかかるし、既存のphpと完全互換ではないので、互換性が保証されるインタプリタを開発して、開発環境に導入。だいぶ遅い!
(普通に本番も開発もAPC付きのphpでいいんじゃね?)
・インタプリタの代わりになる、ある程度互換性のあるJIT付きのVMを作り始める。
(APC(ry
・VMを開発環境に導入
(APC(ry
・パーサ使って型チェッカーを作り利用し始める。
(そいつはありがてぇ)
・コンパイラより速くなったVMを本番環境に導入。
(v8みたいに型推論してきた?
・VM言語としてtypescriptみたいなdependent typingがあるphp風言語hack作った。
(やべえ!)

43デフォルトの名無しさん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/

44デフォルトの名無しさん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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

60デフォルトの名無しさん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拡張も使えなかったような。
(独自拡張はある)

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

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

61デフォルトの名無しさん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)が使えない影響なので、
ネイティブライブラリ使えない場合、これと同じような影響がある。

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

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

64デフォルトの名無しさん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

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

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

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

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

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

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

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

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

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

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

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

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

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

77デフォルトの名無しさん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対応も追従してる
みたいなので、サービスに使えそうではある。

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

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

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

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

81デフォルトの名無しさん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/

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

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

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

84デフォルトの名無しさん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

85デフォルトの名無しさん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の記事、一緒にやるつもりはなさそう。

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

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

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

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

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

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

新着レスの表示
レスを投稿する