phpにコンパイルする言語を使用している人々から意見を聞きたいです。私が知っているそのような言語の1つはHaxeです。私が読んだ他のものは、キラとファレンです。
これらの言語はPHPとどの程度うまく統合されていますか?それらの中でPHP CMSのプラグインを書くのは比較的簡単ですか?
実装とツールはどの程度成熟していますか?
php cmsを使用しなければならないが、phpが嫌いな人にお勧めしますか?
phpにコンパイルする言語を使用している人々から意見を聞きたいです。私が知っているそのような言語の1つはHaxeです。私が読んだ他のものは、キラとファレンです。
これらの言語はPHPとどの程度うまく統合されていますか?それらの中でPHP CMSのプラグインを書くのは比較的簡単ですか?
実装とツールはどの程度成熟していますか?
php cmsを使用しなければならないが、phpが嫌いな人にお勧めしますか?
回答:
私は、Pharenの作成者であり、PharenはLisp方言をPHPにコンパイルします。あなたの質問に答えるために、それはPHPと非常によく統合します。既存のライブラリに関数呼び出しを含めたり、オブジェクトを使用したりするのは簡単です。
成熟度に関しては、Pharenコードの生産的な使用はまだありません。言語に関しては、必要なものはすべて揃っていて機能しますが、展開などにはまだ少し手間がかかります。
そうは言っても、もしあなたがファレンを選んだら、私はできる限り手伝ってもらえると嬉しいです。他に質問がある場合はお知らせください!
Josh Kはいくつかの点で正しいです。PHPランタイムをより適切にターゲットにするには、PHPを知っている方が良いでしょう。ただし、これの主な理由は、haxeが悪いコンパイラではないということではありませんが、そのphpはそのような「特異な」言語です。
PHPの基本名前空間には信じられないほどの量の関数があります。そのため、名前の競合を防ぐために知っておく必要のある予約済みのキーワードと特別な機能がたくさんあります。一部の人々はこれで問題ありません。恐ろしい言語設計だと思います。HaXeは、PHPで独自の名前空間を作成することにより、この問題を回避します。
PHPは、オーバーフロー時に整数を自動的に浮動小数点数に変換します。もちろん、これはHaXeのような言語が型の安全性に依存している(そして高速ハッシュアルゴリズムのような単純なものを可能にする)厳密な型付けを破ります。これは別のひどい言語機能だと思います。また、このphpの動作は変更できないため、haXeはここでは役に立ちません。
それで、そこに行きます。haXeは、PHPのいくつかの(認識されている)言語の欠陥をクリーンアップするため、PHPを改善すると思います。ただし、PHPには非常に多くの奇妙なことがあるため、その特異性のいくつかを修正するために、PHPをよく学ぶ必要があります。
とはいえ、haXe言語は非常に素晴らしいです。PHPコードをより良い名前空間に整理し、かなり洗練された型システムを持ち、PHP固有の問題を処理するための条件付きコンパイルオプションがあり、いくつかの素晴らしいドキュメント操作があります。これらの理由だけでも、洗練されたライブラリを設計することは悪い選択ではありません... PHPのようなものであってもです。
関連リンク:
PHPマジック:http : //haxe.org/doc/advanced/magic
(メインhaxe.orgサイトのコミュニティセクションで「プラットフォームの癖」も探してください)
私は誰かの推薦にhaXeを使用しましたが、何らかの理由で誰にも推薦しません。
言語間のクロスコンパイルは、混乱、間違い、エラーにつながります。また、デバッグは途方もないタスクになります。
php cmsを使用しなければならないが、phpが嫌いな人にお勧めしますか?
いや!PHPを適切に学習するか、別のCMSを使用することをお勧めします。CMSの部分では選択肢がないように思えるので、他のオプションは言語を学習して対処することです。
実装とツールはどの程度成熟していますか?
せいぜい若く、最悪では不安定。それらに対する多くのサポートは見つかりません。
PHPアプリケーション用に何かを書く仕事をしているようです。コードが既存のPHP関数/オブジェクトをインポートして動作する必要があるという明白な問題、および上記のジャンクに加えて、これに取り組んでいる他の誰もがあなたの言語を言語コンパイラに習得しなければなりません。さもなければ、彼らは結果である薄っぺらな「PHP」コードをいじります。これはまた、もし彼らがそれに取り組んでいるなら、あなたはあなたのコードでそれらの変更を再実装しなければならないことを意味します。
PHPを使用したくない場合は、これらの言語が出力するコードの一部を使用する必要が生じるまで待ちます。
「「言語間のクロスコンパイル」
混乱、間違い、エラーにつながります。別の言語に翻訳されるコードを書くとき、最初のソースから自分自身を削除します。何を書いて何を生成するかは完全にコンパイラ次第です。コードを生成してコードを生成すると混乱を招き、間違いを犯し、予期しないエラーを見つけることになります。それらを使用することはお勧めしません。
私は多くの言語翻訳者を使用してきましたが、最終的には回避しようとしていることに関して常に多くのことをしなければなりません...ですから、もしPHPが嫌いなら、腸の首まで深く入ります。ただし、haXeでnekoをターゲットにするのはかなりクールだと思うので、私は食いしん坊でなければなりません。