私はITで2年間の経験を持っています。再帰的なコードは見ていません。プロダクション環境で再帰的コードを使用する企業や組織があるかどうかを知りたい。一部の人がユースケースについても説明してくれれば素晴らしいだろう。誰がいつ生産環境で再帰コードを使用する
答えて
バリデーションテンプレートを使用するすべてのコードは必ず再帰を使用します。 http://kevinushey.github.io/blog/2016/01/27/introduction-to-c++-variadic-templates/。
this questionへの回答には、いくつかの再帰の例があります。最も説得力のあるものは、再帰的に定義された言語(Cや他のほとんどの場合、ブロックにはブロックや式の式などが含まれる)の手作業でコンパイルされたコンパイラ(またはパーサー)実装です。おそらくそれは私がCSコースでそれをしたので、私にとって最も説得力のあるものに過ぎません。ここでも、生産コンパイラはツールで作成され、再帰的ではない可能性があります。誰かがgccや他のオープンソースコンパイラの内部動作を明らかにしてくれたら、私はそれを感謝します。
一般的には、再帰的なデータ構造を処理するプログラムの中には、シンプルでエレガントであるという理由だけで再帰を使用するものがあります。再帰の最大の障害。
考えてみると、私は実際には、-eval <file>
というオプションを持つ内部カスタムプログラムの単純な「オプション言語」を解析するために再帰を使用しました。参照ファイルにはより多くのオプションが含まれています(-eval
)。参照されるファイルは実際には単純に再帰的に評価されます。
あなたの情報のために、私は本番環境で多数の再帰的コードを記述するために使用していた私の初期の頃にIT企業に就いていました。あなたが望むならば、それ以上のコーダーに依存します。いくつかの再帰的コード例を送ることができます。
例は必要ありません。私はちょうど興味があります、どんな状況で誰かが何か別のアプローチではなく再帰と行く必要があります。 – shubham12511
@ sbmc7あなたは文字通り「再帰的コードを使用する会社または組織があるかどうか知りたいですか?」と尋ねました。そしてsmnは「はい、私たちはしました!これは明らかに質問に正確に答えます。この答えが気に入らない場合は、「どのような状況で誰かが別のアプローチではなく再帰を行う必要がある」という質問に言い換えることができます。これははるかに興味深い質問です。これまで再帰を使用していた企業はありません。 –
@ sbmc7私は、プロセス2が完了するまで実行できないプロセスproc1を持っているようなシナリオを持っているという例を挙げておきます(これは、多くの代替アプローチはありません)。だから私はトリックを書いた1つのメインプロセスを書きました.1つのelse文は、プロセス2が正常に実行され、プロセス1だけが実行するスロットを持っていて、2分間スリープ状態になり、再度呼び出します。それはあなたのために今はっきりしていることを望みます。 –
プログラムが基本的にCRUD(作成、検索、更新、削除)画面である種のデータベースとのインタフェースを持つ場合、再帰呼び出しはほとんどありません。そして、それは真剣で現実世界のプログラミングの多くです。
しかし、多数のプログラムにはツリーがあります。例えば。アートワークツリー、または3Dアニメートされたオブジェクトツリー。一度木を扱うと、再帰は問題を解決する最も簡単な方法です。
反復を再帰で置き換える「関数型プログラミング」のパラダイムもあります。理論的にはいくつかの利点があり、いくつかの環境で使用されていますが、まだまだ学問的かつ実験的です。
最近、機能のプログラミングは、パラレル実行(あまり共有されていないデータがある)とよく似ているため、多くの注目を集めています。 –
- 1. 開発環境と生産環境を持つGit
- 2. AWS生産環境のElasticBeanstalk
- 3. Rakeタスクの生産環境をRailsで再現
- 4. クロムエクステンションを知るには開発環境か生産環境ですか?
- 5. 生産環境でFiddlerがキャプチャしない
- 6. 生産環境でDjangoに組み込まれたWebサーバーを使用する
- 7. 標準環境の命名、ステージング、生産
- 8. 生産環境でDjango経由でSMTPメールを送信する
- 9. お客様の生産環境に何が問題ですか?
- 10. 生産環境で角度2を実行する方法
- 11. 生産環境のlaravelの方が良いメッセージ[エラーページ]
- 12. イオン3の開発環境と生産環境を基にしたデータ表示
- 13. Laravelでは生産環境とは何ですか?
- 14. MVCコアのページをキャッシュする方法(生産環境のみ)
- 15. 支店に応じて生産環境またはレビュー環境への送信
- 16. ファイルを環境に再帰的にコピーする
- 17. レール4の生産環境で資産に404エラーが見つかりません
- 18. マルチサーバー生産環境でのMVCセッション状態の処理
- 19. 自家生産環境での流星設定へのアクセス
- 20. 誰かがMATLABツールを使用してC/C++コードを生成しましたか?結果のコードは実稼働環境で使用可能かどうか
- 21. IIS上のPHPが生産と開発環境を設定する
- 22. データベースにアクセスすると、JIRA Customfieldの生産環境が遅くなります
- 23. 生産環境用の角度jsプロジェクトのjsファイルを縮小します
- 24. 環境に応じてオプションでコンフィグレーションファイルをロードする - 生産またはテスト
- 25. 非生産環境で負荷関連のクラッシュを複製する
- 26. webpack - 生産環境と開発環境に異なる変数を持たせる方法
- 27. フィーチャーレス環境でドリフトが発生する
- 28. symfony 2 Assets cssとjs 404の生産環境内
- 29. Railsの4 - 生産的環境はちょうどproduction.log
- 30. Google App Engineの開発と生産環境の設定
umm ...例えば、あなたがlispやスキームで開発している場合、再帰を使うことができなければ、あなたはかなり戸惑うでしょう。 – bolov
Web開発者がC++コードを本番環境で見たことがない場合、C++が使用されているわけではありません。 ITはそのような大きな分野であり、事実上すべてのパラダイムの正当な使用法を見つけることができます – bolov
@bolov再帰は常に反復で置き換えることができるため、再帰を使用する必要があります(再帰的に関数を呼び出さなければ意味がありません)とても厳しい;-))。しかし、多くの再帰的なデータ構造は再帰的な関数で美しく扱えることは事実です。しかし、繰り返し処理は、通常、スタックオーバーフローという観点からは速く、危険性は低いという事実もあります。 –