- ベストアンサー
開発言語の選択について
- 開発言語の選択に迷っています。.NETとJAVAの利点と弱点を比較したいです。
- 開発言語の選択に迷っています。開発工数・アプリ起動時間・動作スピードなどの比較が知りたいです。
- 開発ツールのお勧め情報が知りたいです。運用環境は専用線で結ばれたデータセンターのサーバーとデータベースがあります。EDIにて特定取引先に対してVPNにてデータ配信を行っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VBのプログラムを組めるなら、VB.netでも組めるでしょう。 もちろんオブジェクト指向をよく知らなくても、普通に組めます。 ただ、.どうせならオブジェクト志向的な(あるいは別の最新の)パラダイムも理解して組んだほうが、最新言語の性能や拡張性のマージンを生かすことが出来ます。 開発規模にもよりますが、1人または2人程度でいいのでアーキテクトに任じ、他のプログラマはオブジェクト指向など考えなくても指示通りに組めばよいが、指示通りに組むと実は.NETやJavaのパフォーマンス/拡張性/生産性を活かすようになっている、というようなアーキテクチャをアーキテクトが構築するのがいいとは思いますが…。 サーバも組みなおすのでしょうか? プログラミングモデルの統一という意味では.NETは比較的有利です。 Javaもサーバとクライアントで同一の言語が走らせられますので、ロジックの共通化は可能だと思います。 (.NETだとロジックだけでなく組み方(構造)まで統一できる場合があります) 帳票に関しては、VBでのツール経験を活かしたいならVB.netが楽でしょう。 クリスタルレポートなどはほぼそのままのノリで使えると思います。 javaですとSVFなどが企業使用では定番ですが、やや使い方にクセがあります。
その他の回答 (1)
- t4t
- ベストアンサー率55% (47/84)
クライアントアプリケーションに関しては、VBのエンジニアを擁しているなら.NETのほうが現実的な選択と思います。 アプリ起動時間や動作速度に関しては、経験上はWindowsとの組み合わせでは.NETに分があります。 が、クライアントで動作する対話式アプリケーションにおいて、Javaだから遅くて我慢できない、というようなことは普通はありません。 その場合は、アプリケーションの構造に問題があります。 なお、中国などにオフショア開発を依頼するなら、javaのほうが人材が豊富だと思います。 モバイル(携帯電話)などでも動作させたいとか言い始めると、Javaでもともと作ってあったほうが多少は移植が楽かもしれません。 開発生産性はJavaも.NETも現代的な言語であるのでかなり高いです。 開発生産性についてはMicrosoftが最も得意とするところで、.NET環境+VisualStudioを凌ぐ生産性を実現するJava開発環境は簡単には構築できません。 しかし、.NETの環境だと、それ以外にあまり選択肢がありません。 ほぼVisualStudioイッタクとなります。 Javaは開発環境やツールの選択が幅広く無料のものも多いですし、Eclipseなどは非常に強力な開発統合環境です。 逆に、いろいろあるなかから、貴社のシステム規模・運用体系・開発者のレベルに合わせたものを上手に選んで組み合わせないといけません。 そういう意味では玄人向けです。 上手に選定された開発環境(統合ツールということだけではなく、どんなライブラリを使うかなどといったこと)は、プログラマに対して 「余計なことはできないけどやるべきことはとても効率よくできる」というような環境を構築できます。 開発・実行環境の維持管理としては、ほぼMicrosoftからしかコア部分がリリースされない.NETのほうが楽です。 Javaは上記のとおり、ツールやライブラリ、フレームワークといった基幹的なコンポーネントの供給元が非常に豊富ですが、それぞれのプロジェクトグループが独立してバージョンアップをしたりするため、何年も使う企業アプリケーションだと、それぞれのコンポーネントのどのバージョンの組み合わせがよいのかなどをトレースし続ける必要もあります。 導入後にセキュリティ対策などで個々のコンポーネントのバージョンアップを強いられる場合もあり、そのときに各プロジェクトの進捗次第ではうまく整合性がとれたシステムが構築できない場合もあります…。 ただし、.NET環境の場合は楽ではありますが、Microsoft一社が「サポートを打ち切る」とか言い始めると辛いことになります。 その点、Javaはオープンソースグループが多数ありますので、そういう面でのリスク(いきなりサポート打ち切りなど)は低いと思います。 ご参考になれば。
お礼
早々のアドバイスありがとうございます。 プログラマのスキルですが、VBの知識が多少ですが 少なくても.netで問題ないでしょうか? プロラムのロジックの理解はありますが、複数人での開発を考慮してオブジェクト指向をあまり意識せずに構築できるツールを検討しています。 今回は、サーバーとクライアントでのプログラムロジックを別途で検討しないと構築が難しいのでと心配している次第です。 あと、印刷での書式が任意のフォームで印刷できるかと この辺りも不安を抱いております。
お礼
回答をありがとうございます。 今回の構築は、過去の不便と申しますか全てを見直す覚悟で望みます。 そういう意味ではサーバー環境も見直しを検討しております。 当社で1名特化すればそれなりのシステム構築が可能であるというアドバイスを検討させていただきます。 .netでいけば過去の貴重なロジックを流用できるということも今検討しているのですが、そこが一緒に負の資産を引きずらないか考慮しているところです。 アドバイスありがとうございます。