あなたの実際の経験、ホワイトペーパー、または他の尊敬されている参照可能な研究に基づいて、F#は現在、企業/企業レベルのレポートのための実行可能なツールですか?
注意:この質問を「建設的ではない」として投票する前に、下部のビットをお読みください。
背景
私は現在、SAS、Cognos、SSRS、さらにはCOBOLの優れた機能など、さまざまなレポートツールを多用している大企業で働いています。各ツールには適切な場所があり、それらの多くは、ほとんどの点で、機能セットなどで同等です。ほとんどのツールは、PDF、Excel、およびデータベースに比較的簡単に出力でき、そのような場合はうまく機能します。
残念ながら、私の組織は、多くの場合と同様に、Excelスプレッドシートを使用しており、Excelスプレッドシートから情報を抽出したり、Excelスプレッドシートに情報を挿入したりするために、.NETコンソールアプリケーションの作成に多くの時間を費やしています。(私はこのアプローチの長所または短所を議論することに興味がありません。それはそれが何であるかであり、私がそれを変えることができる方法はありません。)
上記のレポートテクノロジは優れていますが、スプレッドシートからの、またはスプレッドシートへの高度なETLに関しては、フラットになります。それらはそのために設計されたものではなく、レポートをExcelスプレッドシートとしてフォーマットすることは完全に得意ですが、既存のスプレッドシートを更新したり、特定の方法でデータを抽出したりすることはあまり得意ではありません(赤で強調表示された値のみを抽出します。例えば)。したがって、このビットを実行するために、多くの.NETコンソールアプリケーションを作成することになります。(繰り返しますが、アプローチについて議論することに興味はありません。それが何であるかです。私は知っていますが、私もそれが好きではありません。)
私の意見では、.NETは素晴らしいフレームワークであり、ほとんどすべてのプログラミングタスクを処理するのに十分な柔軟性があるため、理論的には.NETですべてのレポートを処理できます。ただし、.NETですべてのレポートを処理しようとすると時間がかかりすぎます。ボイラープレートのすべてを自分で作成する必要があります。私は、すでに持っている実際のレポートツールのパワー、シンプルさ、堅牢性を活用したいと思っています。
したがって、1つのタスクに対して2つのアプリケーションを作成することになります。たとえば、複数のデータソースからデータをロードし、変換を実行して結果を永続的または一時的な場所に保存するSASジョブと、実行する2番目の.NETジョブです。結果をスプレッドシートにロードします。(知っている。)
過去数年間、F#について多くのことを見て、聞いてきたポイント
で、私は少し自分でそれに手を出しました。私は大学でOCAMLを学び、関数型プログラミングが大好きです。必要に応じて、特定のレポートのすべてのプログラミングを単一のプラットフォーム(単一の言語ではない場合)で実行したいと思います。ただし、問題は、F#言語と.NETFrameworkがエンタープライズレベルのレポートに完全に対応できるかどうかです。正確かつ効率的に実行する必要のあるレポートについて話しています。マイクロソフトは確かにそれを一生懸命売っています、しかし、他のレポート技術の経験がある人が実際に実稼働環境でそれを試したかどうかを知りたいです。他のレポートテクノロジーと比較して、企業環境に簡単に統合できますか?セキュリティにどのように対処しましたか?正しく行われ、F#にはどのようなメモリプロファイルが必要ですか(何百万ものレコードを話している)?表形式のデータを適切に処理しますか?効率的ですか?保守はどのくらい簡単ですか(特にコードが大きくなった場合)?何かを機能させるには、どのような種類のサードパーティのアドオンやプラグインなどが必要ですか(または、ほとんどすべてをすぐに実行できますか)?他のレポートシステム(同様の結果の場合)と比較して、どのくらいの作業(プログラミング時間など)が必要ですか?
F#の経験がない場合、またはF#を排他的に使用している場合、私はあなたの意見に特に興味はありません-実際にギャップを埋め、経験から、機会とビッグデータ(数百万のレコード、さまざまな形式で出力)のレポートエンジンとしてF#を使用する際の落とし穴。
私はすでにこの分野のいくつかをカバーしているいくつかの質問を見てきました:
しかし、彼らは数歳です。いくつかのバージョンの後、F#はタスクに対応していますか?それとも私は犬が間違った木を吠えていますか?
編集
わかりやすくするために、私はF#の新しい情報豊富なプログラミングに特に興味があります。F#3.0より前は、これは単に興味深いテクノロジでしたが、最近追加されたデータベースタイププロバイダーとそのクエリ式を使用する機能により、他のレポート作成テクノロジの実行可能な代替手段のように見えます。マイクロソフトは確かにそれを示唆しています。
受け入れ可能な回答には、F#に組み込まれたエンタープライズレベルのレポートエンジンの実装に関する直接の説明(または文書化されたケーススタディへの参照)と、パフォーマンスの向上または低下などの別のレポートテクノロジとの比較が含まれます。あまりにも詳細である必要があります-平均的な(有能な)マネージャーに、F#がバルク/バッチデータ処理に適切/不適切なテクノロジーであると納得させるのに十分です。できましたか?誰がやったの?結果はどうでしたか?実装は(同様のテクノロジーと比較して)どのくらい複雑でしたか?それはうまく機能しますか?
なぜ私は主観的な質問をしているのですか?
ほとんどの優れたstackoverflowメンバーのように、私は頻繁に主観的な質問を閉じるために投票します。FAQによると、主観的な質問は避けるべきですが、完全に禁止されているわけではありません。FAQは、私が従おうとした素晴らしい主観的な質問のための6つのガイドラインにリンクしています。この質問を閉じるために投票する前に、これらのガイドラインをお読みください。