2

文字列「helloworld」を進化させる単純な遺伝的アルゴリズムを作成しました。二回書きました。最初はクラスを使って書かれました。そして 2 回目は、データ フロー パラダイムを模倣するために、遺伝的世界の状態全体が 1 つの関数から次の関数に渡される関数のみを使用して記述されました。驚くべきことに、コードは両方の実装でうまく機能しました。しかし、バグをひとつひとつ丁寧に取り除くという、かなりの骨の折れる作業を経てやっと動くようになりました。

そして、私は自問しました..もっと良い方法があるはずです。クラスを使用してコードを記述することは、単純な関数を使用して同じコードを記述するよりも比較的困難でした。同じコードを視覚的に記述すると、たとえば labview などを使用して単純な関数のみを使用して記述するよりもはるかに簡単になると思います。

その範囲で、私はデータ フロー プログラミングとビジュアル プログラミングについて読みましたが、率直に言って、ほとんどのプログラミング言語が可能にするステートメント単位の方法よりも、視覚的でデータ指向の方法でプログラミングする方が自然で直感的であるように思えます。今日すること。私の質問は..もしそうなら、なぜ「labview」のようなデータフロー、ビジュアルプログラミングが標準にならないのですか?

4

2 に答える 2

2

データフロー/「ビジュアルプログラミング」が、適切に設計されたコードのパフォーマンスに近いとは思いません。

テキストベースのコードは、グラフィカルなものよりもはるかに複雑で微妙なデータ構造とフローを表現できます。プログラマーは、何がコピーされ、何がアクセスされるかを詳細に制御し、一連のステップを正確に制御できます。データフローがいかに表現力豊かであるかを理解するのに苦労しています。

最終的に、データフロー/ビジュアルプログラミングは、すでに知られていることしか記述できません。テキストプログラミング(より良い用語がないため)は、実際にあなたがより多くを表現することを可能にします。プログラマーは、まだ視覚的に表現されていないまったく新しいデータ構造とアルゴリズムを作成できます。

于 2012-02-16T22:27:10.247 に答える
1

プログラミング言語を設計する方法の基礎として単一の問題を使用することは危険です。たとえば、データフローパラダイムがGUIフレームワークの設計をどのように改善するかはわかりません。

于 2012-02-16T22:24:02.570 に答える