2012-02-16 29 views
2

私は文字列 "helloworld"を展開するための簡単な遺伝的アルゴリズムを書いた。私はそれを二度書きました。最初はクラスを使って書かれました。そして、2回目は、遺伝的世界の状態全体が1つの機能から次の機能に渡されるちょうど関数を使って書かれました...データフローのパラダイムを模倣します。意外にも、このコードは両方の実装でうまく機能しました。しかし、私は苦労してそれぞれのバグを取り除いた後にしかそれを稼働させることができませんでした。これはかなり面倒なプロセスでした。なぜデータフロープログラミングは標準ではないのですか?

そして私は自分自身に尋ねました。もっと良い方法があるはずです。クラスを使用してコードを書くのは、単純な関数を使って同じコードを書くよりも比較的難しく、同じコードを視覚的に書いていると思います。たとえば、labviewのようなものを使うと、単純な関数を使って書くよりも、

これまでのところ、データフロープログラミングとビジュアルプログラミングについて読んできましたが、ステートメントごとの方法よりも視覚的でデータ指向の方法でプログラミングするのがより自然で直感的であるように思えます。プログラミング言語を使用することで、今日できることです。私の質問は..もしそうなら、なぜデータフローがないのですか? "labview"のようなビジュアルプログラミングが標準になりますか?

+0

標準的なパラダイムはありません。非常に重い使用が見られる言語では、多くのプログラミングパラダイムがあります。最高のパラダイムは、あなたが攻撃している問題に最も適したパラダイムです。 – rwilliams

+0

また、何かを学ぶのが難しいという理由だけでも、それがその仕事に適したツールではないというわけではありません。 – rwilliams

答えて

1

プログラミング言語をどのように設計するべきかの根拠として、1つの問題を使用することは危険です。データフローのパラダイムがGUIフレームワーク設計をどのように改善するかはわかりません。

+0

+1 - 遺伝的アルゴリズムは大部分の開発者にとって日常的なプログラミングではほとんどありません。 –

2

私は、データフロー/「ビジュアルプログラミング」がうまく設計されたコードの性能をほとんど持っていないとは思っていません。

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

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

+0

私はあなたの言うことに同意します。しかし、私はより良い方法が必要だと思っています。コーディングに費やす時間とデバッグ時間を減らすことができます。私はいつもビジュアルフローベースのプログラミングが役立つでしょう。 – Jay

関連する問題