2009-03-31 9 views
1

私はJavaを学ぼうとしていますが、あまりにも多くの部品が一緒になっているようです。 あなたはJSP、Java EE、Java SE、Java MEなどを持っています。 Netbeansは基本的な操作を行うことができますが、春のフレームワークを見てみると、IDEから実行するには多くの作業が必要です多数の構成。初心者の1人のプログラミングチームにとって、Javaはあまりにも複雑なプログラミング言語ですか?

私はウェブプログラミングやモバイルにしたいと考えています。

アドバイスはありますか?

別のプログラミング言語ですか?

Javaはこの複合体ですか、それとも簡単ですか?

答えて

14

Javaの言語は複雑ではありません。仕事をするのに役立つ膨大なライブラリとフレームワークが存在します。これは多くのプログラミング言語に当てはまります。 CPANにはPerlなどがあります。どの言語を使用するかは、目標が何であるかによって大きく異なります。

あなたは簡単に作業を開始して、大規模なプロジェクトと大規模なプロジェクトを作業することができます。

Javaは1人で作業するにはあまりにも複雑すぎることはありませんが、完全形式のWebプログラミングのあらゆる形式を学ぶことは、新しいものであることを学ぶのが大変です。同じ目的で.NETを見ているなら、あまりにも多くのことがあります。

巨大エンタープライズアプリケーションを実行している場合を除き、JSPとJMSを除くすべてのJ2EEと他のほとんどのコンポーネントは無視してください。 J2EEのシェアは、拡張する必要のあるエンタープライズアプリケーションのコンテキストでのみ役立ち、小規模なアプリケーションで使用すると実際には危険です。

Spring、Hibernate、Apache- *、Webサービスなどのフレームワークは、仕事をするのに役立ちますが、仕事を遂行するためにもっと多くのことがあります。学ぶべきことがたくさんあります。

Javaを使用する必要がありますか? LAMP(またはWAMP)では、Linux(またはWindows)+ Apache-HTTPD + MySQL + PHPの開発がかなり進んでいます。これにより、Javaや.NET、あるいはこれらのフレームワークのどれかを心配する必要はありません。 LAMP/WAMPは、幅広い用途に適しています。

サーバー上のJavaと.NETは、より大規模なサービスに適していますが、使い慣れていると小規模なサービスでもうまく機能します。

あなたは自分の目標が何であるかを決め、それからあなたがやっていることをどのように実行しているのかを見極めなければなりません。これは、あなたが探しているニッチに最も必要なテクノロジを把握するのに役立ちます。

+0

LAMPスタックにはPHPフレームワークは言及していません。フレームワークなしでJavaを使うことができます。あなたの議論が、フレームワークが複雑さを増すということであれば、PHPもそれに苦しんでいます。 –

+0

@Steve Claridge:True。違いは、PHPがウェブサーバからウェブページを生成することにドメイン固有であり、そのために完全に集中していることです。しかし、あなたのポイントはよく取られます。かなりの労力を必要とするフレームワークがなければ、有用な技術はほとんどありません。 – Eddie

18

言語としてのJavaは確かにあまりにも複雑ではありません。 J2EE 全体としては、1人のチームにとっては実現可能ですが、J2EE全体はめったに必要ありません。

1人のチームが中規模のWebアプリケーションを実装するのは完全に合理的です。私は1人が自分でGMailを書くことができるとは言っていませんが、テクノロジースタックをあまり恐れてはいけません。実際にビットを見つけてください。が必要です。その一方で、それ自体はかなりの量の経験を必要とします - 私は実際にエンタープライズアプリケーション(小さなものでも)をとしてJavaから始めることは絶対にありません。

小さなものから始める。コア(言語、IO、コレクション)を学び、小さなプロジェクトから始めましょう。あなたがモバイル、デスクトップ、サーバなどにいたいかどうかにかかわらず、同時に試してみてください。徐々にあなたの経験を蓄積します。

+0

エンタープライズアプリケーションでは、どの言語やフレームワークの初心者でも始めたくない! – Eddie

+0

@エッディー:私もそうはしませんが、何人かの人が試してみると驚いています... "サーブレットを書いていて、何が「int」なのか分かりません...」 –

+0

@Jon:ああ、あまりにもおなじみのその例です... –

4

あなたの戦いを選ぶことを学ぶ必要があります。 J2EE全体をカバーすることは大変な作業であり、ほとんどの場合、最初は不必要です。私は、初心者のプログラマーにとって共通の間違いは、すべてを学ぶ必要があると思うということです。まず、コア言語の構造に焦点を当て、Webまたはモバイルプログラミングのいずれかに焦点を当てると、生産性が向上します。

あなたはある地域から次のエリアへ持ち越せる量に非常に驚く(そして満足している)でしょう。言語を知っていれば、さまざまなプラットフォームの異なるライブラリは単なるツールです... Javaに固執してください。それは学ぶのに良い言語です。

1

Javaとそのライブラリのすべてを習得する必要はありません。手元にある仕事のために必要なものだけを学びましょう。たくさんのオプションがありますが、毎回最良のオプションを得る必要はありません。

1

基本プログラミングの概念が明確でない場合は、 言語は難しいはずです。私はvb 6からjavaにC#を現在の目的のCに切り替えました。実際にコード作成者の生活を簡単にするのは、IDE、デバッグツール、ドキュメント、Googleが検索できるブログ記事の多くです:-)私の個人的な見解は私が助けを借りてコードと研究だけに任せているときです私は大規模なチームをプログラミングすることで、結果よりも多くのスクリューアップにつながると思います。

5

Javaは、存在する最も単純な型の強い言語の1つです。 C++やC#のクローズよりもはるかに簡単ですが、私は主張します。

標準のAPI /ライブラリは実際には巨大ですが、誰もそのことを誰も知りません。初心者の皆さんが大きくて新しくなったことを見ていると、脅迫に苦しんでいます。まず、java.utilのコレクション、次におそらく基本的なWeb開発者のために、おそらくJDBCライブラリとJavaサーブレットとJSPという標準的なユーティリティのことを学ぶ必要があります。以上です。

+0

+1 Javaが実際には単純であることを指摘してください。 – Ingo

5

代替タクトここ...

Javaで発生する別の問題はChoiceです。

私の最高のアドバイスは、テクノロジーがあなたを引き付けるか、議論する人があなたを動かすようになったら、約1日辺りを検索することです。次に、1つを選択します。誰でも。本当に、それは問題ではありません。特に、最初のプロジェクトでは問題ありません。彼らはすべて学習曲線を持っている、彼らはすべて長所と短所を持って、彼らはすべてファンと敵を持っています。

キーは、いったんあなたが選択したのは、それにぴったりです。あなたは必然的にいくつかの問題につまずくでしょう。他の誰かにこの問題を提起し、 "ああ、あなたはKnifeForkSpoonの代わりにQEDを使うべきだった"と言うでしょう。そして、あなたはもう一度自分自身を推測し、QEDの不思議、そしてその下に生まれた子猫とそれによって食べられる空腹の子どもたちについて聞いてみましょう。あなたがサイレンの "緑の草"の歌にぶつかると、あなたのプロジェクトは揺れるでしょう。 (失敗しないでください。)

落ちないでください。ちょうどあなたの問題を修正してください。最後に、あなたは新しいプロジェクトを進めています。それから、最高の偉大な銀色の弾丸を探します。マークアップとプレゼンテーション

  • ストライプやStrutsの2のためにJSTLとJSP 2.0

    • :私はちょうどJavaで今日のWebプログラミングにになっていた場合はさておき、私は謙虚に、この簡単なレシピを提供するであろうよう

      ロジックの永続性

    • のためのデータベース・プールと
    • 「生」JDBC(Strutsの2(TWO)、Strutsの1はプレーン悪であることに注意してください)
    • Tomcatは、より人気のコンテナのTomcatやGlassfishの(、GFのうち、より使いやすくボックス)
    • NetbeansのまたはEclipse(NBは箱から出して使用する方が簡単です)

    これは、今日のJavaでのWebアプリケーションのための最も基本的な、まだ機能的な施設を使用して適用の多く、およびWebアプリケーションの主要な問題を解決厚くて浸透しない層でそれらを覆うことはありません。

    これらの「粗末な」ツールを使用すると、多くのことを学ぶことができます。

  • 2

    私は一般にウェブプログラミングを学んでいるという意味で「ウェブプログラミングに参加」することはできますか?それが本当であれば、一時的にJavaを設定し、LAMP/WAMPにEddieが提案したように詳しく見てもらうことを検討するかもしれません。 (私は個人的にPHPの代わりにPerlを使用しますが、PHPはセクシーな再開の飼料であり、フロントエンドで非常にクールなことをすることができますが、私の経験ではサーバ側のコードを書くことになると、PHPのドアを吹き飛ばします私はHTML :: Masonの拡張モジュールがPerlをPHPのフロントエンドの充実感でかなり立派に置いていると聞いたことがありますが、私はそれを自分で使っていません)。

    私は、 PerlのJavaとWebアプリケーションで私は両方の言語が好きですが、学習ツールとしてPerlをJavaよりも先に置いていました。あなたが分かっているように、Javaは巨大なバスティッシュです。その一部は、他の人が触れたように、Javaの機能は、あなたの即時のニーズにはあてはまらないさまざまな拡張機能を持つ成熟した言語です。しかし、あなたもあなたの最初の "Hello World" Webアプリを稼働させる前に、かなりのオーバーヘッドを処理する必要があります。これと比較すると、Perlを使う方がはるかに速くなるでしょう。

    (実際には、Javaは他の言語に比べて一般的にかなり冗長になりがちですが、必ずしも悪いことではありませんが、私はPerlに大きな不満を抱いています。このコードは、しばしば鮮やかで、エレガントで、コンパクトで、専門家以外の人には全く理解できないものです。書かれてから6ヵ月後にコードを修正しなければならない馬鹿馬鹿しい人にとって、特に問題の悪い馬鹿に巻き込まれたとき)。

    そして、Webプログラミングを学ぶ方法として、Javaの洗練は実際にはそれに対して働くことができます。プロとして、私はJavaのWebベースのツールが自動的にセッション管理のように私のために多くの面倒な作業を処理することを嬉しく思っています。しかし、私は完全にを理解していませんでした。私がPerl専用の環境に投げ込まれ、自分自身のすべてのものを処理しなければならなかったときまでのこと。

    私はそれがあなたがこれをやっている理由とあなたがそれに専念できる時間に依存していると思います。時間が限られ、将来の雇用主にアピールするものを探しているなら、ええ、Javaは優れた選択肢です。このスレッドでは、Javaの使用を開始する方法についていくつか確かなアドバイスを受けています。

    時間があれば、古い学校のPerl/CGIプログラミングに嗅覚を与えることを強くお勧めします。これは特に市場性の高いスキルではありませんが、知る価値のあることを学びます。

    0

    Javaは複雑な言語ではありませんが、最初は恐ろしいようです。

    私は学校ではなく、家庭から15歳でJavaを学び始めました(はい、はい、それは自慢できません)。これはノルウェーの本なので、私はアマゾンにリンクしません)

    本を読んだりハッキングすると、私は本を捨ててオンラインでもっと多くのものを探していることが分かりました。 Googleは本当に素晴らしいです!

    JVM、フレームワーク、サードパーティ製のライブラリ、JSRなどのすべての機能についてよく読んでいますが、私の人生はどれほど優れているのでしょうか?はい、私は試してみましたが、同時に必要ではないJavaやフレームワークを学ぶのはあまりにも混乱していました。

    人によっては、insertRandomLibraryName()やinsertFancyFrameworkName()を使用しなかったために私に地獄を与え、時間と労力をどれだけ節約できるか教えてくれましたが、私は聞きませんでした。

    今の時代は変わりました。私は今でも新しいもの、あるいは古いものをやりやすい簡単な方法を毎日学びます。そして私は、すべての派手なものの前に言語そのものを学ぶ時間を取ってうれしいです。

    また、コードを書くためにメモ帳を使用しないで、最初からIDEを使用してください。私が実際に使ったことのある唯一のものはNetBeansですので、これが私が推奨できる唯一のものですが、本当に満足しています!

    Java SE、ME、およびEEについては、SEで開始してください。そうすれば、これで十分です。 D

    関連する問題