ASPにするべきかJAVAにするべきか迷っています。
JAVAを使う理由、メリット、デメリットなど
教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

仕事でJavaを使ってシステム開発を行っていますが、第一の理由はプラットフォーム


(OS)を選ばないことですね。(Write once, Run Any where)
ユーザから開発言語にJavaを指定されるときの理由として最初にあがります。
デメリットとしては、実行が遅いことです。でも最近は実行速度を上げる
ための技術が色々開発され、またハードの進歩もあって早くなってきています。
開発サイドとしては、オブジェクト指向言語であるためまだまだ技術者が少ない=>人手
が足らないというところでしょうか。

で、実際に開発をするときにASP(VBScriptまたはJScript)とJavaのどちらにするか
ということですが、作る物にもよりますね。

ちょっとした小物をすぐに作りたい、というようなことであればスクリプト言語である
VBScript(またはJScript)を使用すれば簡単にできるでしょう。
ただ、ASPを使用した場合基本的にサーバOSはWindowsに限定されてしまいます。

企業で使用するような規模の大きな開発をするのであれば、きちんとシステムの分析・
設計をしてJava(JSPやServlet)で開発したほうが開発効率、保守性はよいと思います。

言語を何にするかよりは、何を作るのかという目的をはっきりさせて、開発するのに
かけられる工数(人数、期間)、開発する人の技術・知識レベルから一番適した開発言語
を選ぶのがいいのではないでしょうか。
所詮、開発言語はシステムを開発するための道具で、道具でできあがるものの良し悪し
が決まるわけではないですからね。

全然見当違いのことを言っていたらごめんなさい。
    • good
    • 0
この回答へのお礼

>言語を何にするかよりは、何を作るのかという目的をはっきりさせて・・・
肝に銘じていきたいとおもいます。技術を客観的に見極めて目的に応じて使い分けられるようになるには、相当の知識、経験が必要になってきますね。

お礼日時:2001/02/28 12:53

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QJavaを仕事で使うには、Javaだけ勉強したのではダメ?

プログラマーの仕事に就きたいと思っています。
求人誌やスクール情報誌を拝見しますと、現在、言語の中ではJavaが需要が多いようですね。

先日、あるパソコンスクールへ見学に行った際に言われたのですが、Java言語でプログラマーになるならHTMLなど他の言語(Web系言語とういうのでしょうか?)の知識がないと実務で通用しないとのことでした。

スクールとしては、沢山勉強してもらった方が収入も増えるわけですから多少のセールストークをするのはやむを得ない部分もあるかと思っています。

実際のところはどうなのでしょうか。Javaだけを勉強したのでは、やはり実務に就きにくかったり、又実務に就けても仕事がしずらいのでしょうか。

現在の私のスキル(というほどのものではありませんが)は、ブラインドタッチでの入力とワード・エクセルが多少解るという程度です。今のスキルからJavaだけ勉強してプログラマーになるのは無理なのでしょうか。

ちなみに入社を目指している会社は、アルバイトか契約・請負・派遣社員待遇で、プログラム知識ゼロの者はお断りだが実務未経験者(知識はある程度有)なら受け入れも検討といった感じのところです。
そのような会社なら、まさか最初から完全な知識は期待していないですよね?もちろん、いずれはOS・ハードなどの知識やJabaに関連する言語も勉強する必要があるとは思っています。

正直、なるべく早く実務経験者になりたいというのが本音なのです。Javaのみの勉強で、不十分ながらもとりあえずはプログラマーの職に就くことは可能でしょうか?
もし、それが不可能でしたら、最低限Java以外に知っておかなければいけないことは何でしょうか。

どなたか宜しくお願い致します。

プログラマーの仕事に就きたいと思っています。
求人誌やスクール情報誌を拝見しますと、現在、言語の中ではJavaが需要が多いようですね。

先日、あるパソコンスクールへ見学に行った際に言われたのですが、Java言語でプログラマーになるならHTMLなど他の言語(Web系言語とういうのでしょうか?)の知識がないと実務で通用しないとのことでした。

スクールとしては、沢山勉強してもらった方が収入も増えるわけですから多少のセールストークをするのはやむを得ない部分もあるかと思っていま...続きを読む

Aベストアンサー

みなさん、長く書いてありますね。私にはかけないので。。。

開発っていっても色々あります。
Javaなら、Web系が中心となるので、Java全体というよりもServlet、JSPをまず知る必要があります。

その次に、HTMLの基礎的な知識、SQLが必要です。

この4つがしっかりしていれば、かなりいいです。
一番いい方法は、書店などでJSPやサーブレットとデータベースが連携してある本を購入してやってみると良いです。

わたしも25で未経験で業界入りしました。スクール(ほとんど意味ない)と独学でやりました。すんなりと入れ、経験者よりも当初から仕事ができました。。。

そのかわり、独学でやっていたとき、書籍代だけで、6,7万かかり猛烈に勉強しました。

実際、入社してみることをお勧めします。自分でやるよりも的を絞った勉強法がわかりますし、余分なことをやらなくてよいです。

Javaと決めたらWeb系だけ勉強すればよいので、思ったよりは楽です。

QjavaのASPを読んでも意味がわかりません

現在java言語を学習中のものなのですが、
メソッド、クラスを調べるときにASPを読んでみるのですが
正直読んでも意味がわかりません。

自分が初学者であるせいだからとは思いますが
あまりに意味がわからないのでASPをもう少し噛み砕いた書籍などが
ないものかと思っています。
そこで宜しかったら以下の疑問・質問に回答お願いします。

(1)一般にjavaのプログラマの皆さんはASPを辞書のように読みこなして
いるのでしょうか?
(2)もしそうならASPを読みこなせるようになるにはどうすればいいのでしょうか?
(3)ASPに比べてもう少し親切に説明を加えた良い書籍・サイトなどがあるなら教えてください。

宜しくお願いします。

Aベストアンサー

ASP・・・これは、「API」のことでしょうか? 要するに、APIの説明を書いてあるJavadocのことですね?

(1)一般にjavaのプログラマの皆さんはASPを辞書のように読みこなしているのでしょうか?

普通、そうでしょう。コーディングしているときは、これで調べながら書きますから。

(2)もしそうならASPを読みこなせるようになるにはどうすればいいのでしょうか?

とりあえず、Java SEのシステムクラスライブラリの全体像が頭に入っていないからではないでしょうか。「こういうことをやりたい」というとき、だいたい「これとこれとこれを組み合わせればできたはずだな」ぐらいがわかるようになっていれば、後はJavadocという辞書を引きながらコーディングができます。

まずは、全体像を把握することが大事です。Javaの、しっかりした入門書(200ページぐらいのぺらぺらのものでなく、500ページ以上あるようなもので、かつわかりやすく説明してあるもの)を何冊か自分のレベルにあわせて購入し、後はひたすらそれを読みながらコードを書くだけです。

(3)ASPに比べてもう少し親切に説明を加えた良い書籍・サイトなどがあるなら教えてください。

APIのドキュメント自体に説明を加えた・・・というものはあまり記憶にありません。というより、APIのドキュメントを調べたいという人にとっては、必要にして十分な情報が書かれていますから、これ以上説明を加える必要はないでしょう。

(2)と重なってしまいますが、まずは全体をしっかり把握するために、しっかりした入門書を読まれるのがよいと思います。Webサイトでもいいところはたくさんありますが、個人的には本のほうが総合的にしっかり理解できる気がしてしまうので、Amazonなどで評判の高いものを2~3冊購入してみることをおすすめします。

ASP・・・これは、「API」のことでしょうか? 要するに、APIの説明を書いてあるJavadocのことですね?

(1)一般にjavaのプログラマの皆さんはASPを辞書のように読みこなしているのでしょうか?

普通、そうでしょう。コーディングしているときは、これで調べながら書きますから。

(2)もしそうならASPを読みこなせるようになるにはどうすればいいのでしょうか?

とりあえず、Java SEのシステムクラスライブラリの全体像が頭に入っていないからではないでしょうか。「こういうことをやりたい」というとき...続きを読む

QJava forループで ≦記号を使うべきではない?

こんばんは、Java初心者です。
ある動画にて、forループメソッドを表記する際に

for( int i = 0 ; i ≦ 4 ; i++){
処理


と書いた場合、いかにも初心者っぽいので 、< 記号を使うのが現場では常識と言っていました。

個人で書くならまだしも、共同作業では<記号を使うのが常識なのでしょうか?

Aベストアンサー

30年ほど基本ソフトの開発や応用システムの開発をしていまいたが。。。

> いかにも初心者っぽいので 、< 記号を使うのが現場では常識と言っていました。

 「これこれしかじかで、≦を使うとこういう誤りを起こす可能性があるから、こういう場合には<を使うようにしなさい」との説明があかったのでしたらそれに従うのがよいですが、ご質問に書かれている説明だけなのでしたらソフトウェア開発に関して大したスキルを持っている人ではないでしょう。恐らくその意味するところ、本質を理解していない。。。

 初心者っぽいということは「誰にでも分かりやすい」ということだと私は思います。
 ソフトウェアは一度作ると形を変えながら長く生き延びます。最初に作ったシステムは無くなってしまっても、その中にあった機能は次の世代のシステムの中にそのまま持ち込まれることもあります。あたなが別の部署へ行っても、別の会社へ行ったとしても今作ったシステムは使われ続けます。
 つまりあなたがいなくなても誰かが面倒を見るのです。ですから設計書やコーディングは分かりやすさが大切です。
 こうやった方が機械語に落ちた際の命令数が少ないとかいったことはもうずいぶん前からコンパイラの最適化機能がかなり頑張ってやってくれます。高速のCPUがカバーしてくれます。ぎりぎりめいっぱいシビアな分野のリアルタイム処理や、ほんのわずかな高速化が大きな処理時間短縮につながる大規模シミュレーションのようなプログラムでも限り「人の分かりやすさ」「可読性」を犠牲にしてまで凝る必要はありません。
 なので、、、


> いかにも初心者っぽいので 、< 記号を使うのが現場では常識と言っていました。

などと言ったお遊び事を言っている人間のいう事は重要ではありません。
 それよりも「for( int i = 0 ; i ≦ 4 ; i++)」が「for( int i = 0 ; i < 5 ; i++)」よりこの部分の処理の意味合いを誤解無く示すのであれば「for( int i = 0 ; i ≦ 4 ; i++)」とするのが適当です。
 そこでその人が言う所の初心者っぽく見せないために「for( int i = 0 ; i < 5 ; i++)」と書いた時、「なぜ5なの?」「5は何処から来たの?」となるようでは本末転倒。プロとしての配慮が無い自己満足だけのコーディングだと言えます。
 逆に今の「for( int i = 0 ; i ≦ 4 ; i++)」がそうなら意味の分かりやすい形に直すのが適当です。それが「for( int i = 0 ; i < 5 ; i++)」なのか、「for( int i = 1 ; i ≦ 5 ; i++)」なのかは仕様によるのでわかりません。

 ちなみにこのforループの初期値と繰返し条件のところの分かりやすさの問題はJavaに限りません。
 配列の位置情報としてカウンターは0から使いたい。でも繰返し条件は回数とか配列の個数とかであることが直観的で分かりやすい。。。
 経験的にはfor文の初期値、繰返し条件に使用する変数名はそこに格納される値が位置なのか個数・回数なのかが分かるようにすることが重要と思います。
 C言語系では昔から i、jを(リッチー&カーニハンの教科書がそうだったので)常用していますが、Javaはそれに付き合う必要はないと思います。もっと自由に分かりやすく書けばよいと思います。もちろん、その際にソース上に加筆するコメントも重要です。

30年ほど基本ソフトの開発や応用システムの開発をしていまいたが。。。

> いかにも初心者っぽいので 、< 記号を使うのが現場では常識と言っていました。

 「これこれしかじかで、≦を使うとこういう誤りを起こす可能性があるから、こういう場合には<を使うようにしなさい」との説明があかったのでしたらそれに従うのがよいですが、ご質問に書かれている説明だけなのでしたらソフトウェア開発に関して大したスキルを持っている人ではないでしょう。恐らくその意味するところ、本質を理解していない。。。

 初...続きを読む

QJava は「アップデータを自動的にチェック」にするべきか、否か。 

コントロールパネルをみると Java(Sun)が「アップデーロを自動的にチェック」になっています。一月に一度の頻度で手動アップデートをすれば、余計にメモリとか使用しなくなっていいかな、と思ったのですが手動アップデートにすることにデメリットなどあるでしょうか。

Aベストアンサー

バージョンに依存するアプレットを動かしている場合など、勝手に更新されたくない状況はありますね。
私の場合、開発者としては自分で意識して更新するようにしています。
ただし業務で開発したアプレットをユーザに配布している場合、自動更新させないように指示しています。

Qstaticのメリット、デメリット

こんばんは。

staticについて、だんだんわからなくなってきました・・・。
例えばあるクラスの変数で、
static int i = 10;
とあった場合、参照クラスからiの値を見ると、必ず10ですよね?
static修飾子がついているメソッドの場合、挙動はどうなるのでしょう?
staticなメソッドはインスタンス化しなくても呼び出せる。
つまり、メモリ上に1箇所しか存在しないので、同時にアクセスされた場合(synchronizedしていない場合)はどうなるのかがわかりません・・・。
メソッドには引数が存在し、returnがStringやintなどの場合です。
returnは保証(参照側にとって望む値と言う意味で)されるのでしょうか?
インスタンス化をしない事によって、パフォーマンスが向上するのでしょうけれど、いまいちメリットがわかりません・・・。
public、privateにかかわらず、メソッドをstatic修飾するメリットを教えてください。
同時にデメリットもお願いします。

以上、下手くそな文章ですみません・・・。
(^^ゞ

こんばんは。

staticについて、だんだんわからなくなってきました・・・。
例えばあるクラスの変数で、
static int i = 10;
とあった場合、参照クラスからiの値を見ると、必ず10ですよね?
static修飾子がついているメソッドの場合、挙動はどうなるのでしょう?
staticなメソッドはインスタンス化しなくても呼び出せる。
つまり、メモリ上に1箇所しか存在しないので、同時にアクセスされた場合(synchronizedしていない場合)はどうなるのかがわかりません・・・。
メソッドには引数が存在し、retu...続きを読む

Aベストアンサー

No.7にちょっと、訂正です。。。

>>DBのコネクションはクラス変数で、
>>外部のクラスをnewしております。

>対象のメソッド内でnewして、その参照をローカル変数
>に代入しているのならば、他のスレッドにその参照
>を渡さない限り(自分からしかアクセスできないの
>だから)大丈夫です。

生成したインスタンス(コネクション)の参照をクラス変数に格納しているんですね。

早とちりでした。ごめんなさい。

で、この場合はこのクラス変数の参照先を変えられたくないのに他のスレッドにも変える手段を公開している場合や、このクラス変数の参照先のインスタンスがスレッドセーフでないのに同時にアクセスできる場合は問題ですね。

コネクションの生成だけが目的ならそのままリターンするでしょうし、このメソッド内でこの後使用する為ならローカル変数で十分でしょうし・・
生成したコネクションをクラス変数に格納する目的はどのようなものなのでしょうか?


おすすめ情報