Q&A JAVAとVB.netでは、これから勉強するのは …


2009年04月16日 Q.質問
JAVAとVB.netでは、これから勉強するのはどちらが良いでしょうか?当方、現在失業中で、30代のCOBOLプログラマーですが、COBOLのスキルだけでは厳しいと感じており、スクールに通ってJAVAかVB.netを習得しようと考えています。だだ、スクールの費用も高く、誤った選択をしたくない為に、こちらに質問させていただきました。ちなみにこの2つの言語を選んだのは、JAVAについては、過去に仕事の合間に参考書をよく読んでいた為で、VB.netについては、Accessの現場で1年程、作業経験があり早く習得できるかなという理由からです。あと、資格は、オラクルマスターブロンズとUMLモデリング認定試験のレベル1(T1)を持っています。みなさん、どうぞご回答を宜しくお願いします。
2009年04月23日 A.回答
[データベース]Oracleを知っているのですから、Javaにせよ、VB.NETにせよ、データベース操作のプログラミングを学ばれると良いです。よって、Java、又はVB.NETの講習会を受講されるのでしたら、Java、又はVB.NETで、データベース操作のプログラミングをする講義のある講習会を受講して下さい。ただ、質問者さんが「Oracleを知っているから」という理由だけではありません。企業で頻繁に扱うソフトと言えば、データベースだからです。>ACCESSが扱える技術があれば、VBもすぐに扱えるのでしょうか?Oracleを知っていても、Accessを知っていても、Java、VB.NET等が扱いやすいというものではありません。データベース(Oracle、Access等)での言語と言えば、SQLです。データベースを構築するだけならばSQLで十分です。しかし、データーベース操作も含めて、もっと広い意味での各種機能を搭載するプログラムを作るには、Javaか、C++等(VB.NETも含む)でプログラミングをします。よって、各種データベースソフトでは、そのデータベースの機能をエクスポート(外部公開)しています。そのエクスポートされた機能(関数、クラス等)を使って、C++等の言語でプログラミングすれば良いです。しかし、エクスポートされた機能は、データーベースの種類によって異なりますので、プログラマーにとっては、やっかいです。そこで、Java系開発環境では「JDBC」、マイクロソフト社系開発環境(VC++、VB、VC♯等)では「ODBC」というプログラムモジュールが用意されています。プログラマーは、JDBC、もしくはODBCにアクセスすることによって、共通したインターフェイスでのプログラミングが可能です。よって、Javaを学んで、さらにJavaでデータベース操作することを学んで下さい。VB.NETも同じく、VB.NETを学んで、さらにVB.NETでデータベース操作することを学んで下さい。ただし、サーバーのプログラミングはC/C++で、クライアントはVBという傾向がありますので、VB.NETよりもC/C++(又はC♯)でデータベース操作をすることを学ぶ方が良いと思います。(クライアントから直接Accessを操作する場合は、VB.NETでも良いとは思いますが)[JavaかVB.NETか]「マイクロソフト系では、ODBC」と言いましたが、今はADO.NETでデータベース操作をします。正確には、ADO.NETでデータベース接続して、LINQ等の色々な便利な機能を使ってプログラミングします。このLINQはクエリの記述を統一させた技術で、「XMLへのクエリ」、「SQLへのクエリ」、「オブジェクトへのクエリ」が統一されました。このように便利に進化していますので、VB.NETでデータベース操作することは盛んです。よって、VB.NETを選んでも悪くは無いと思います。しかし、マイクロソフトがこれだけ努力しているのは、裏を返して言えば、Oracleに負けているからです。SQL Serverは当初トラブルが多く、「Oracle 対 SQL Server」ではSQL Serverが負けてしまいました。よって、今でもOracleの方が多いです。Oracle社は、Javaを好んでいますので、[Java + Oracle]を選択したほうが安全だと思います。ただし、「サーバーでは、SQL ServerよりもOracleが多い」という話しで、手軽に使えるAccessもよく使われています。また、次期Windowsと、本格的な64ビット化に伴い、マイクロソフト社は巻き返しを狙っているでしょうから、VB.NETも捨てがたいです。しかし、どちらが安全かと言いますと、前述の通り、[Java + Oracle]をおすすめします。なお、Java(又は、C/C++)でデーターベース操作が可能であれば、銀行、証券会社等の大きなシステム作成のプロジェクトにも参加可能です。COBOLをやっていたのだから、仕様書を読んだり、作成するのも得意でしょうから、そういう意味では、今までのスキルを活かせます。取り合えず一度、Javaでサーバーの開発をしたという職務経歴が付くように努力されると良いと思います。UMLモデリングも学ばれたのですから、Javaでサーバー開発(データベース操作も含む)が一番良いと私は思います。そうすれば、COBOL、オラクル、UMLをスキルとして活かせると思います(COBOLの「言語の知識」自体は、Java系では直接活かせないかも知れませんが、COBOLを使っての「業務の経験」という意味では、有益に活かせると思います)。なお、銀行等の大きなシステムでは、大本となる基本は大型汎用機を使います(これは御存知でしょうが)。そして、「銀行から証券取引所」、又は「銀行からATM」、「銀行からネット会社」等の接続の仲介をするサーバーは、UNIXでのサーバー機、もしくは、Windowsでのサーバー機となります(ゲートウェイサーバー)。よって、UNIXでのサーバー機で、Javaプログラミングが可能ならば、質問で言われている「COBOLのスキルだけでは厳しい」という心配は無くなります。
Webサービス by Yahoo! JAPAN
このコンテンツは、Yahoo!知恵袋APIより自動取得しています。