web-dev-qa-db-ja.com

バレリーナは他の言語とどう違うのですか?

Ballerina は、よりよく統合するためのテキスト構文とグラフィカル構文の両方を備えた、汎用で並行型のプログラミング言語です

  1. バレリーナはインタプリタ言語ですか?
  2. バレリーナプログラムを構築する方法?バレリーナホームやその他のシステム変数を設定する必要がありますか?
  3. バレリーナは依存関係管理をどのようにサポートしますか?推奨されるビルドツールはありますか?
  4. バレリーナを使用するには、どのようなタスクが推奨されますか?さまざまなシステムの統合など、特定のタスクを実行するのにのみ適していますか?
  5. 言語仕様はどこにありますか?バレリーナでサポートされているタイプは何ですか?
37
  1. バレリーナはインタプリタ言語ですか?

バレリーナはコンパイルされたプログラミング言語です。これは、プラットフォームに依存しないバイナリ形式にコンパイルされ、Ballerinaランタイムによって解釈されます。

  1. バレリーナプログラムを構築する方法?バレリーナホームやその他のシステム変数を設定する必要がありますか?

バレリーナに関しては、システム変数の概念はありません。 https://ballerina.io/downloads/ からOS固有のインストーラーをダウンロードしてインストールします。

バレリーナプログラムの実行

ballerina runコマンドを使用して、バレリーナプログラムをコンパイルおよび実行します。

$ ballerina run hello.bal
Hello, World!

ballerina buildコマンドを使用して、拡張子が「balx」の静的にリンクされた実行可能バイナリを生成します。次に、ballerina runコマンドを使用してプログラムを実行します。

$ ballerina build hello.bal
$ ls 
hello.bal hello.balx
$ ballerina run hello.balx
Hello, World!
  1. バレリーナは依存関係管理をどのようにサポートしますか?推奨されるビルドツールはありますか?

バレリーナプログラムは通常、複数のバレリーナパッケージで構成されています。パッケージは、ソースファイルのコレクションです。これは名前空間を定義し、パッケージ内のすべてのソースファイル内のシンボルはその名前空間に属します。別のパッケージで定義されたシンボルを参照する場合は、最初にそのパッケージをインポートする必要があります。その後、パッケージ名でシンボルを参照できます。

Ballerinaプログラムを実行またはビルドする場合、Ballerinaは、プログラムディレクトリ、組み込みリポジトリ(Ballerinaディストリビューションには、すべてのコアライブラリパッケージと一部のサードパーティコネクタパッケージが含まれています)、またはBallerinaリポジトリを使用して、すべてのインポートパッケージを解決しますディレクトリ。 Ballerinaリポジトリは、マシンで使用できるローカルリポジトリです。

今後、Ballerinaリポジトリを管理するためのツールを開発します。

25

バレリーナは解釈言語ですか?

バレリーナがコンパイルされ、解釈されます。

バレリーナプログラムを構築する方法?バレリーナホームやその他のシステム変数を設定する必要がありますか?

好みのテキストエディタまたは一部のIDE(現在、baallerinaはvim、IDEA、sublime Text3、VCS、atomをサポートしています)を使用して、バレリーナプログラムを作成できます。ソースbalファイルがある場合。これをアーカイブ(ライブラリ、サービス、メイン)としてパッケージ化するか、単一のbalファイルを実行するだけです。例えばballerina run main <path to bal path> (or you can give the path to archive)またはballerina run service <path to archibe (or you can give the path to archive .bsz)>

バレリーナを自宅に置く必要はありません。それはバレリーナ自体によって設定されます。しかし、Java_HOMEを設定する必要があります

バレリーナは依存関係管理をどのようにサポートしますか?推奨されるビルドツールはありますか?

Go言語とよく似ています。詳細については、ドキュメントを参照してください。

バレリーナを使用するには、どのようなタスクが推奨されますか?さまざまなシステムの統合などの特定のタスクを実行するのにのみ適していますか?

プログラムに約80%以上の統合シナリオが含まれている場合、Ballerinaは試すのに最適な候補です。しかし、統合部分がかなり少ない(<20%)場合は、別のことを考えることができます。割合が異なる場合は、ユースケースに基づいて決定できます。

言語仕様はどこにあり、バレリーナでサポートされているタイプはどこにありますか?

詳細は Github 場所と Ballerinalang を参照してください。

はい、まさにそれが目的です-バレリーナは、適切に実行され、信頼性と回復力があり、安全に機能することが期待される分散型インタラクションを記述することの意味を十分に理解します。

コネクターがHystrixダッシュボードをサポートするためのイベントストリームについては考えていませんでしたが、サポートします!

10

サービスとアクターのファーストクラス表現は、統合に最適にするのに最適です。しかし、開発者の観点から見ると、これらは抽象言語であり、現代の言語で再利用可能な方法で簡単に実装できます。したがって、最初は大したことではないように思えるかもしれません。しかし、よく見ると、バレリーナはこれらの抽象化OOTBを提供するだけでなく、開発者がこれらのことについて心配する必要がないようにパフォーマンスなどのことも処理します。特に、HTTP接続のプーリング、ストリーミングなど、さまざまなものがあります。たとえばSpringは、RestTemplate OOTB=に接続プールを提供していません。ほとんどの場合、開発者は、アプリケーションのパフォーマンスが非常に悪くなるまで、これについて心配する必要はありません。

バレリーナはOOTBを提供する必要があります。または、市場に出されているように、統合のためのすべてのベストプラクティスを実施する必要があります。これらのベストプラクティスが特定のサーキットブレーカーに追加されることを望んでいます。コネクタのイベントストリーム。これにより、netflixのhystrixダッシュボードを監視に使用できます。

9
John Travel