開発言語の選択について

このQ&Aのポイント
  • 開発言語の選択に迷っています。.NETとJAVAの利点と弱点を比較したいです。
  • 開発言語の選択に迷っています。開発工数・アプリ起動時間・動作スピードなどの比較が知りたいです。
  • 開発ツールのお勧め情報が知りたいです。運用環境は専用線で結ばれたデータセンターのサーバーとデータベースがあります。EDIにて特定取引先に対してVPNにてデータ配信を行っています。
回答を見る
  • ベストアンサー

開発言語について

開発言語について、現在vb6にて開発された基幹業務が VISTA等のクライアントで一部動作検証がとれなくなってきております。 今後のクライアントOSを考慮し、基幹業務の再構築を検討しております。 そこで開発言語を.NETでいくかJAVAで開発するか迷っております。 それぞれの利点と弱点があるかと思いますが私には双方の知識が乏しく 皆様からの意見を伺いたく投稿いたしました。 開発工数・アプリ起動時間・動作スピード等の比較がわかりますと助かります。 また、開発ツールのお勧め情報がありますたらご助言をお願いします。 運用環境は専用線(20MB)で結ばれたデータセンターのサーバーと データベースがあり、アプリケーションは社内にて運用してます。 EDIにて特定取引先に対してVPNにてデータ配信をしております。

質問者が選んだベストアンサー

  • ベストアンサー
  • t4t
  • ベストアンサー率55% (47/84)
回答No.2

VBのプログラムを組めるなら、VB.netでも組めるでしょう。 もちろんオブジェクト指向をよく知らなくても、普通に組めます。 ただ、.どうせならオブジェクト志向的な(あるいは別の最新の)パラダイムも理解して組んだほうが、最新言語の性能や拡張性のマージンを生かすことが出来ます。 開発規模にもよりますが、1人または2人程度でいいのでアーキテクトに任じ、他のプログラマはオブジェクト指向など考えなくても指示通りに組めばよいが、指示通りに組むと実は.NETやJavaのパフォーマンス/拡張性/生産性を活かすようになっている、というようなアーキテクチャをアーキテクトが構築するのがいいとは思いますが…。 サーバも組みなおすのでしょうか? プログラミングモデルの統一という意味では.NETは比較的有利です。 Javaもサーバとクライアントで同一の言語が走らせられますので、ロジックの共通化は可能だと思います。 (.NETだとロジックだけでなく組み方(構造)まで統一できる場合があります) 帳票に関しては、VBでのツール経験を活かしたいならVB.netが楽でしょう。 クリスタルレポートなどはほぼそのままのノリで使えると思います。 javaですとSVFなどが企業使用では定番ですが、やや使い方にクセがあります。

selection2
質問者

お礼

回答をありがとうございます。 今回の構築は、過去の不便と申しますか全てを見直す覚悟で望みます。 そういう意味ではサーバー環境も見直しを検討しております。 当社で1名特化すればそれなりのシステム構築が可能であるというアドバイスを検討させていただきます。 .netでいけば過去の貴重なロジックを流用できるということも今検討しているのですが、そこが一緒に負の資産を引きずらないか考慮しているところです。 アドバイスありがとうございます。

その他の回答 (1)

  • t4t
  • ベストアンサー率55% (47/84)
回答No.1

クライアントアプリケーションに関しては、VBのエンジニアを擁しているなら.NETのほうが現実的な選択と思います。 アプリ起動時間や動作速度に関しては、経験上はWindowsとの組み合わせでは.NETに分があります。 が、クライアントで動作する対話式アプリケーションにおいて、Javaだから遅くて我慢できない、というようなことは普通はありません。 その場合は、アプリケーションの構造に問題があります。 なお、中国などにオフショア開発を依頼するなら、javaのほうが人材が豊富だと思います。 モバイル(携帯電話)などでも動作させたいとか言い始めると、Javaでもともと作ってあったほうが多少は移植が楽かもしれません。 開発生産性はJavaも.NETも現代的な言語であるのでかなり高いです。 開発生産性についてはMicrosoftが最も得意とするところで、.NET環境+VisualStudioを凌ぐ生産性を実現するJava開発環境は簡単には構築できません。 しかし、.NETの環境だと、それ以外にあまり選択肢がありません。 ほぼVisualStudioイッタクとなります。 Javaは開発環境やツールの選択が幅広く無料のものも多いですし、Eclipseなどは非常に強力な開発統合環境です。 逆に、いろいろあるなかから、貴社のシステム規模・運用体系・開発者のレベルに合わせたものを上手に選んで組み合わせないといけません。 そういう意味では玄人向けです。 上手に選定された開発環境(統合ツールということだけではなく、どんなライブラリを使うかなどといったこと)は、プログラマに対して 「余計なことはできないけどやるべきことはとても効率よくできる」というような環境を構築できます。 開発・実行環境の維持管理としては、ほぼMicrosoftからしかコア部分がリリースされない.NETのほうが楽です。 Javaは上記のとおり、ツールやライブラリ、フレームワークといった基幹的なコンポーネントの供給元が非常に豊富ですが、それぞれのプロジェクトグループが独立してバージョンアップをしたりするため、何年も使う企業アプリケーションだと、それぞれのコンポーネントのどのバージョンの組み合わせがよいのかなどをトレースし続ける必要もあります。 導入後にセキュリティ対策などで個々のコンポーネントのバージョンアップを強いられる場合もあり、そのときに各プロジェクトの進捗次第ではうまく整合性がとれたシステムが構築できない場合もあります…。 ただし、.NET環境の場合は楽ではありますが、Microsoft一社が「サポートを打ち切る」とか言い始めると辛いことになります。 その点、Javaはオープンソースグループが多数ありますので、そういう面でのリスク(いきなりサポート打ち切りなど)は低いと思います。 ご参考になれば。

selection2
質問者

お礼

早々のアドバイスありがとうございます。 プログラマのスキルですが、VBの知識が多少ですが 少なくても.netで問題ないでしょうか? プロラムのロジックの理解はありますが、複数人での開発を考慮してオブジェクト指向をあまり意識せずに構築できるツールを検討しています。 今回は、サーバーとクライアントでのプログラムロジックを別途で検討しないと構築が難しいのでと心配している次第です。 あと、印刷での書式が任意のフォームで印刷できるかと この辺りも不安を抱いております。

関連するQ&A

  • パソコンで、COBOL言語開発できますか?

    会社の業務で、自分独自のプログラムを作成して仕事をしたいのですがVBやアクセス、SQL言語を最初から勉強するのは大変です。 以前COBOL言語でプログラムを開発した事があるので、その知識を 使ってパソコンでプログラムを開発できないでしょうか>? 個人なので NET_COBOL等 高額なソフトを購入する予算もありません し 開発(画面設計含む)、デバック、コンパイル、最終的に動かす制御言語までの流れもパソコンではどうなるのか? 検討もつきません。 パソコンでコンパイルと言う概念があるのかさえ 解っていません! 会社の基幹系システム(SQL)よりODBCで一旦 自分PCに必要なデータだけダウンロード(データベースaccess)し、個人の環境だけで動作できれば良いのですが! やっぱし 安価、独学では難しいでしょうか? セミナーでもあれば 教えてください。

  • COBOL言語で開発できますか?

    SQL Server2000のデータ処理をCOBOL言語で開発できますか? 社内システムの開発コスト低減のためシルバー人材を使い安くあげたいと考えています。田舎のシルバー市場ではOPEN系言語を使える人が十分にはみつかりません、それでCOBOLを使って開発できないかと考えました。 すべての業務をCOBOLで開発するのではなくデータを抽出し加工してテキストデータをつくる部分をCOBOLで行えないかと考えています。 (欲を言えばレコードの追加や更新もできればこしたことはないのですが) システムの寿命は約10年と見積もっています

  • 開発言語の選び方について

    windowsで動作する簡単なアプリケーションを作りたいと考えています。アプリケーションは、「CSV形式のデータを取り込み、リストで表示したりデータの抽出、指定した範囲を印刷する」といった簡単な内容です。 phpの経験はあり、上記の仕様は作れるのですが、これを気にプログラムについて勉強しながら取り組みたいと考えているのですが、開発言語をどのように選べばよいかアドバイスをお願いします。 ユーザインターフェースなどを簡単に作れる、VB, VC#, VC++で考えているのですがそれぞれはどのような違いがあるのでしょうか?

  • ネイティブコード開発言語

    お世話になります。 組み込み系のWindowsアプリを勉強の為に書いてみようと思っていますが、どんな開発言語を選択したらよいか、困っています。 以下のようなことがしたいのですが、何か良いものはありますでしょうか? ・Windowsベース ・PCIバス上のデータ、メモリ上のデータ等を高速に処理したい。 ・中間言語に落とす形式は起動時間や動作速度が推定しにくく避けたい ・GUIプログラミングもしたいし、デバイスドライバも書きたい

  • システム開発(運用)環境のメリット・デメリット

    いつも大変お世話になっております、御丁寧な回答ありがとうございます。 前質問と若干内容が重なるかと思います。 私は社内SEをしており、VisualBasic6.0、.NET+SQLServer、AccessVBAなどの開発を行ってきました。 社内で運用しているファイルメーカーで開発された基幹システムを入れ替え(新規開発)することになり、開発・クライアントの運用環境で迷っています。もちろん、コストは低くしたいと考えております。 以下安易仕様になりますが・・・ クライアント数は30~50 1.オーダーを出す(オーダー票出力) 2.別セクションでオーダーを受付ステータスにする 3.オーダーが実施されたらステータスを終了にする 4.本日のオーダー一覧、過去のオーダー履歴が確認できる と言ったところです。 イントラネットでのWeb開発が最適なのでは??と社内で説があります メリットとして調べたのですが  ・ 複数拠点でシステムを簡単に共有したい  ・ Webブラウザで簡易的に操作したい  ・ 初期コストを抑え、システムを導入したい  ・ クライアントに負荷をかけずに、システムを運用したい などが見つかりました。 上層部に上手く提案する為にお聞きしたいのですが・・・ 質問(1) 開発者のスキルは置いておいて、一般的な(多く使用されている)開発環境(言語+DB)をいくつか教えて下さい。 質問(2) クライアントサーバー型のシステムのメリットデメリットを教えて下さい。 質問(3) 他のWebシステムのメリットデメリットがあれば教えて下さい。 長文になり、申し訳ありませんが何とぞよろしくお願い致します。

  • 開発設計(仕様)と使用年数の関係

    社内SEをしております。 社内の基幹システムの保守が主な業務です。 その基幹システムの運用が始まって5年目に入るのですがあちこちで不具合がおきております。 その中でもっとも納得がいかないのはデータ件数が増えた(運用により)ために 動かなくなった、というものです。 (具体的に言うとSQLでビューを使いまくっていて、件数が増えたことにより ビューを作成する時点で応答がなくなってしまう) 開発したベンダーに報告しても、 「そんなに件数の多いパターンで納入時に試験できなかった(試験してない)」 「運用して5年もたって不具合を言われても困る(無償では対応できない)」 といった切り返しをされます。 これってどうなんですかね・・・? いちいち設計のときに何万件のデータでも動くようにしてください、とか 言わないといけなかったんでしょうか。 データ量も他の業界に比べれば全然少ないほうで、むしろこの程度で 動かなくなるなんて不良品じゃないかーって言いたい気持ちがあるのですが・・。 仕様検討の段階で、大量の試験データを用意して納入試験をしなかった弊社、 そしてとりあえず今動けばいいや、という認識でプログラム作成したベンダー、 両社の責任・・・ってことになるのでしょうか・・。

  • Webアプリ開発言語など選定について

    Webアプリ開発の際の開発言語の選定について教えて下さい。 現在一般的にWebサイトなどを構築する際にはPHP、Javalなどが使用されてMicrosoftのASP.netなどはほとんど使用されていないようです。(私見ですが・・・。) 業務アプリのWeb化やある程度以上の規模の開発工数がかかる場合ではSilver lightやASP.netを使用した方が生産性の面で有利に働き、Windows Serverの導入費用を考えても上記言語を選択するより、いい場合というのが多々あるように思うのですが、なぜちまたでは上記言語で多くのサイト、Webアプリが作成されているのでしょうか? ・サーバOSとしての性能がLinux系よりWindows系の方が劣るから? ・Windowsサーバはセキュリティの虚弱性がよく指摘されて不安だから? ・そもそもWeb系の開発者にWindows系アプリに対する嫌悪感のようなものがある? ・Apacheなどに比べてIISの性能が劣る? ・LinuxにもWindowsにも導入可能な為? 私見ですが思いつく理由を上げてみました。 実際のところはどうなのでしょうか? 規模やユーザ要求、金額によっても変わってくるものなのでしょうが・・・。

  • LinuxでのC言語開発に便利な統合開発環境

    Linux OS上で、C言語の開発をすることになりました。 そこで、質問なのですが、使い勝手のよい便利な統合開発環境はありますでしょうか?また、その際に使われているLinuxのディストリビューションは何でしょうか? 私自身、以下の開発環境を実装してみましたが、非常に動作が重く、とても開発環境として使っていけるとは思えませんでした。 統合開発環境 Eclipse3.3 JAVA実行環境 jre1.6 Linuxのディストリビューションは Vine Linux3.2 です。 現状、試行錯誤しながら、どのディストリビューションとどの開発環境の組み合わせがいいかをあれこれ検証しているだけの時間があまりない状況です。そこで、できればみなさんの構築実績のある組み合わせをお教えいただければと思っております。(また、それに伴う構築手順のHPなどがあれば幸いです。) 大変恐縮ではありますが、何卒宜しくお願いいたします。

  • プロジェクトでの工程の見積

    新卒3年目のSEです。 はじめてリーダーを任され、 要件定義からの工数見積もり、要員発注など 一部の業務を担当します。 そこで取っ掛かりからなのですが、 工数見積もりの考え方がよくわかりません。 実は未経験の言語の仕事で、私は開発の経験が それほど無いこともあり(運用が長く)、 「なんとなくこのぐらいの日数かな」という浅い検討と結論で 工数を考えてしまっています。 それだとNGだ、と先輩にも指摘を受けたのですが、 ではどうやって根拠ある工数を積めば良いかわからず・・ また、その工数には計画上、予期しない仕様変更などに 対応するため、その分のリスクの工数を積むように、言われています。 それも、具体的にどの程度積めばよいか、判断がつかず・・ やはり開発や導入の経験が少ないと厳しいと感じています・・。 すみませんが、上記の考え方について アドバイスを頂ければ幸いです。

  • VBA・マクロでの開発経験募集 社内SE

    お世話になります。 現在就職活動をしているのですが、以下の案件に応募しようと考えているのですが、自分のスキルでVBAがどれくらいの期間である程度理解又は開発できるようになれものなのかご意見又は経験談など教えてくださいますようお願い致します。(事前学習や面接時の対策として) /* *** 募集案件 *** */ 職種:工場の社内SE 必要な経験:VBA・マクロでの開発経験がある方または同等のスキルの方 業務内容:インフラ整備・基幹業務・開発・運用 /* *** 業務経験(IT関係のみ抜粋) *** */ ネットワークCE:1年 c言語:4年弱(ブランクあり) VB・c#:1,2ヶ月(動作確認用プログラムの作成程度の経験) /* *** その他 *** */ エクセルマクロ:自分のオークション取引関係の簡単な処理(これのみ) xhtml・php:携帯専用HP作成(趣味)

専門家に質問してみよう