X



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/
0046デフォルトの名無しさん
垢版 |
2014/04/09(水) 00:40:38.81ID:rnlf/mPK
HiphopVMでたし、Symfonyが無双しているし、Laravelでいいよもう
Phalconなんて何が悲しくてcでガリガリコード書いてんだろう
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バブルに便乗したスタートアップと比較して、
何故、日本のサイトは広告だらけでダサく、そして使い勝ってが悪いのか
0053デフォルトの名無しさん
垢版 |
2014/04/19(土) 14:40:26.15ID:4RxwLXSV
海外にも110ヶ国に拠点があったワロタ
シリコンバレーの広告土方も、実はチラシに踊らされてたりして
0055デフォルトの名無しさん
垢版 |
2014/04/22(火) 11:58:59.69ID:MkXEyCN9
クラスにしか変数/関数(あえてこの言い方)の宣言ができないらしいけど、
そうすると、$this->地獄から抜けられるとか、メリットあるの?
0056デフォルトの名無しさん
垢版 |
2014/04/22(火) 13:21:57.94ID:mNs2V+qX
PHP由来でグローバル空間に関数定義できないんなら$this->並ぶだろうよ
まだHack言語書いたことないけども
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)が使えない影響なので、
ネイティブライブラリ使えない場合、これと同じような影響がある。
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
0066デフォルトの名無しさん
垢版 |
2014/05/26(月) 01:41:50.49ID:zggjVIna
Facebookで使ってる開発ツールとかがあるのか分からないけど、
IDEやツールを対応しないといけないから、
コミュニティが出来ないことには難しいなと思う。
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対応も追従してる
みたいなので、サービスに使えそうではある。
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の型をオプションで取り込んで欲しいんだが。
0082デフォルトの名無しさん
垢版 |
2014/08/11(月) 19:01:12.96ID:nzVNkquN
現状だと、分散バージョン管理でコミット時にコードチェッカーでなんかしら対処すればいいのかね。

最近、IDEにphpdocの型アノテーション読ませて開発する機会が増えて来たのでmixed減らしたい。
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のライブラリで実装したっぽい。
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
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況