アルゴリズム的プログラミング
2289 ワード
2020年であり、それぞれ独自のUSPを持つプログラミング言語が多々あります.ビジネス・プログラミングのために、これはビジネスロジックが進歩から利益を得るためにほぼ10年ごとに新しいプログラミング言語を使って書き直されなければならないことを意味します.数ヶ月後、私は簡単に保守、コード再利用性と言語の独立性に焦点を当てて実行可能コードにアルゴリズムを変換する目標を開始した.私は、ちょうど働くかもしれないアプローチを共有してうれしいです.あなたがそれが役に立つとわかるならば、知らせてください.
つのプログラムで起動すると、1つの手順を一連の手順として書き込みます.プログラムがプログラムをアルゴリズムに変換して実行することができれば、それは良いことではないでしょうか?私のアプローチは、最初のドラフトの最終的なプログラムとの1対1の対応を維持します.その事実のハイライトの名前の種類.主題に詳しい人々は、流れベースのプログラミング(FBP)と類似点を見るかもしれません.多くの反復と改善は、基本的なテーマがありますが、私は読者が私のアプローチが改善されているかどうかを決定させていただきます.This discussionは2つのアプローチの比較を提供する.
このアプローチの実行可能性をテストするために、FBP定義(INIT . fbp)からランタイム/オーケストラレーター(index . js)を生成するコードを記述しました.コードはhttps://gitlab.com/atamariya/fbpです.
ネットワークFBP (サンプルFBPプログラム)
ステップを説明するコメント
プログラミング言語において、実行されるコンポーネントからの識別子
コンポーネントのための INITパラメタ ネットワークを実行できます.デフォルトでは
インラインコメントは、その特定のステップで起こっていることを非常に明確にします.だから、流れを理解するためにコンポーネントを調べる必要はありません. GUIツールの有無による編集が簡単です.したがって、それは初心者フレンドリーです. ビジネスロジックのための、これは複雑さと保全性の良いバランスのようです.より複雑な慣用句は、コンポーネント内で実装できるプログラミング言語に適しています. のコンポーネントは、単にオーケストラのそばで実行されるコードの部分です. アルゴリズムはランタイムプログラミング言語に完全に依存しません.
つのプログラムで起動すると、1つの手順を一連の手順として書き込みます.プログラムがプログラムをアルゴリズムに変換して実行することができれば、それは良いことではないでしょうか?私のアプローチは、最初のドラフトの最終的なプログラムとの1対1の対応を維持します.その事実のハイライトの名前の種類.主題に詳しい人々は、流れベースのプログラミング(FBP)と類似点を見るかもしれません.多くの反復と改善は、基本的なテーマがありますが、私は読者が私のアプローチが改善されているかどうかを決定させていただきます.This discussionは2つのアプローチの比較を提供する.
このアプローチの実行可能性をテストするために、FBP定義(INIT . fbp)からランタイム/オーケストラレーター(index . js)を生成するコードを記述しました.コードはhttps://gitlab.com/atamariya/fbpです.
ネットワークFBP (サンプルFBPプログラム)
Read line from network.fbp,lineReader,network.fbp
Parse nodes,parseNodes
Append nodes,append
Generate code,genCode
Execute code,vmscript
これは単純なCSVファイルです.ステップを説明するコメント
プログラミング言語において、実行されるコンポーネントからの
コンポーネントのための
node index.js
また、引数として接尾辞なしでFBPファイルを提供することもできますnode index.js init
インデックス.JS (サンプルnodejs実装)var packages = ["lineReader", "parseNodes", "append", "genCode", "vmscript", ];
var vars = [];
var initargs = [];
initargs[0] = ["network.fbp"];
var core = require("./core")();
var res;
res = core.init(packages, initargs, vars);
res = res.then(() => core.execute(e));
res = res.then((e) => {
console.log(e);
// Additional code to process res
// Returned value is the value of res
return e;
});
return res;
利点Reference
この問題について(アルゴリズム的プログラミング), 我々は、より多くの情報をここで見つけました https://dev.to/atamariya/algorithmic-programming-4lmaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol