【初心者向け】独学でJavaプログラミングを学ぶ4つのステップ
Javaは、どうやって学ぶのでしょうか。
「Javaを勉強しよう!と思っても、何からどうやって始めればいいのかわからない。」
習う前は誰しも初心者であり、初心者にはやり方すらわからなくて当然です。学び方の学び方は、実は誰も教えてはくれないのです。
そんな方向けに『Javaの学び方』についてアドバイスになればという意味で今回は説明していきます。
実はNG!おすすめしない学習方法
肩の力を抜いて取り組んでも、やり方を誤ればさらに失敗する可能性が高くなります。では、どのようなやり方が失敗しやすいのでしょうか。
知り合いに教えてもらう
この方法が失敗するのは、知り合いに知識が足りない等そういったことではありません。その最大の理由は「プログラミングできることと、人に教えるのは別物」だからなのです。
プログラミングというのは専門的な知識がたくさんあります。その世界に長くいる人には、「これは普通の人にはわからないことなんだ」ということを常に意識してくれません。また、そうした専門的な知識を一切使わずに専門的なことを説明するというのは、かなり高度な技術が必要なのです。
このため、思ったような成果が出ない場合が多いようです。「教える」というのは大変な技術です。
入門書を読み進める
入門書が悪いわけではなく、入門書を読むことだけで勉強を進めていくことに問題があります。実はリスクの高い方法なのです。
入門書の著者の多くは、コンピュータの専門家ではあっても文章の専門家ではありません。先ほど知り合いの項目でお話しした「人に教えるのには技術がいる」といった言葉は、この場合でも同じです。
専門的な言葉を駆使して難しいことを説明するのは得意でも、そうした用語を一切使わずにアマチュアでもわかるように説明するのはとても難しいです。もちろん、そういったことを踏まえたすぐれた入門書もありますが、それを選定すること自体初心者には難しいです。
そしてもう一つ致命的なのは、「読めばできるようになる」と思ってしまうことです。プログラミングは、知識ではなく経験の世界です。いくら命令をたくさん覚えても、それだけでは何もできないのです。実際に覚えた命令を使ってさまざまなプログラムを作っていく中で、少しずつ身になっていきます。
なんらかの教室に通う
まず、普通のパソコン教室では、通常プログラミングは教えません。あくまでパソコン自体や既存アプリケーションの使い方のみですので、プログラミングとは結びつきません。
プログラミングを専門に教えるスクールなどはいいかもしれません。そうしたところではかなり本格的に学ぶことができます。ただし、それなりに費用がかかることが一番の懸念点ですので、失敗とは違いますが、途中で挫折したりした場合のリスクは大きいです。
プログラミングスキルを身につけて、アプリケーションやWEBサービスを作りたい方へ!
【DMM WEBCAMP】は、独学では挫折率の高いプログラミング学習を徹底サポートします。
✔受講生の97%が未経験からのスタート!
✔一人一人に合わせた学習計画で進められるため、仕事や学校と両立できる!
✔基礎知識をゼロから丁寧に学習できるコースを用意!
プログラミング前に身につけておくこと
パソコンやOS(Windows等)についての知識も何一つない状態でいきなりプログラミングというのは無理な話です。以下の点については、プログラミング学習前に押さえておきたいものです。
パソコンの基本的な扱い(ファイル操作や拡張子のルール)
プログラミングの世界では、ファイル名や拡張子が重要な役割を持っています。
コマンド操作を覚える
Windowsならばコマンドプロンプト操作、Mac OS X/Linuxなどであればターミナルからのコマンド操作
コマンドプロンプトやターミナルについてわからない方はまずそこから覚えましょう。
昨今の開発環境はこれらをあまり知らなくてもできなくはないですが、いざという時に必要になったりしますので
面倒に思わずこれらの情報についてもネット検索するなどして理解しておきましょう。
学習の4つのステップ
準備万端で学習を開始したはいいが、どういう順番に勉強していけば効率的なのか、それも悩むところです。特にJavaの場合、非常に幅広い活用がされていますから、何から手をつければいいかますますわからないことが多いと思います。
そこで、どういう順番に勉強をしていけばいいか概要を説明します。
まずは基礎的な文法
最初は、「値」「変数」「制御構文」の3つを理解します。これらは時間をかけて徹底的に頭にいれておきます。
更にJavaの場合、「クラス」「メソッド」「フィールド」などと理解するべき文法がまだあります。これらは文法として捉えていくとちょっと難しく、まだ最初なのでイメージをつかみずらいですが、ここでいい加減にしておくと先にいって苦労するので、時間をかけてじっくり理解していってください。
AWTを覚える
Javaには、GUI(グラフィカルユーザインターフェース。ウインドウやメニューといった視覚的に操作するもの)を作るために「AWT」と呼ばれる部品が用意されています。基本的な文法がわかったら、このAWTの使い方を中心に勉強していってみてください。
「目標としてサーバサイドJavaをやりたいから関係ない」と思っている人も、AWTはやったほうがいいです。AWTはJavaのもっとも重要な機能です。サーバ側の開発をやる場合でも、例えばグラフィックイメージを処理するようなときには必ずAWTが絡んできます。
標準のクラスを学ぶ
AWTがある程度わかってきたら、平行して「java.lang」「java.util」と呼ばれる標準パッケージ(機能の集合体のようなもの)の使い方を少しずつ勉強していきます。これらの中には、プログラムを作成する上で役立つさまざまなユーティリティ機能がつまっています。
また、これらがわかってきたら、続いて「java.io」パッケージというものも勉強しましょう。これはファイルアクセスなどに関する機能をまとめたものです。
AWTに加え、「java.lang」「java.util」「java.io」まで一通り学習すればビギナーは卒業です。どんな道へ進むにしろ、ここまではすべて共通です。ここまでのものは、どんなプログラムを作るにしろ必ず勉強しておくものと考えてください。
それぞれの専門分野
「Javaの基礎」となる部分がある程度終了したら、後はそれぞれのやりたいジャンルごとに分かれて勉強していきます。Javaの一般的なアプリケーション開発をしたい人は、「Swing」と呼ばれるGUIライブラリを勉強したり、サーバサイドの開発をしたい人は、「JSP」「サーブレット」と呼ばれる技術を学習します。Android端末での開発は、専用開発環境(AndroidSDKいいます)をインストールして開発します。
‥‥という具合に、各専門ごとにその分野の勉強に進むとよいでしょう。
未経験からホームページやWEBアプリケーションが作れるようになりたい方へ!
国内最大級のプログラミングスクール【DMM WEBCAMP】は
✔︎未経験からでも実践的なスキルが身に付くカリキュラムを用意!
✔分からないことは、チャットやビデオ通話で講師に好きなだけ質問可能!
✔通学不要!スキマ時間でプログラミング学習ができる!
プログラミングを覚えるための近道
各ステップの説明を行いましたが、どのような学習方法が有効なのでしょうか。それは以下です。
「プログラミングする環境を整えた後、ひたすらプログラムを書く」
ということです。
プログラミングを覚える基本は「書いて覚える」ことです。おすすめしないやり方で書いたことは、知り合いや入門書が悪いのではなく、この基本さえ守ればどんなアプローチでも問題ありません。
例えば入門書を買ったなら、そこにある課題・例題をひたすら書いて動かしていく。例えば知り合いに教えてもらうなら、教えてもらったことを踏まえてプログラムをひたすら書いて動かしていく。
プログラミング学習に王道はないのです。ただ、どれだけたくさんプログラムを書いたか、それだけが上達のための確実な方法です。
効率的な上達のヒント
ただひたすら書くといっても、もちろん効率の良し悪しはあります。ここでは効率よくプログラムを書いて上達していくヒントになりそうなことを挙げていきます。
ヘルプを読む
最近の言語開発ソフト(統合環境など)は非常にドキュメント類が充実しています。ソフトの使い方だけでなく、プログラミング言語の文法や命令などもすべてヘルプとして用意されているものです。
ヘルプは、いわば「辞書」のようなものです。英語を勉強するときにとにかく辞書を引いて覚えたように、プログラミングも何かわからなければすぐにヘルプで調べます。この基本を忘れずに作業してください。
入門サイトを活用する
入門書などを買わなくても、インターネットを検索すればプログラミングの入門サイトというのがたくさん見つかるはずす。
そうしたものは、書籍などに比べると情報量や内容の点で劣る場合が多いですが、誰でも利用できるのですからこれを活用しない手はありません。自身で気に入ったサイトを発掘し、最初のうちはそれらのサイトを活用しましょう。また、練習問題や課題などもサイトにある場合があるので、それも活用するといいかもしれません。
挫折しないために
今すぐにでも勉強を始めよう!と思っている人は、思い立ったが吉日です。がんばってください!ですが、その前にプログラミングを勉強していく上で頭に入れて起きたい心得のようなものを最後に書いておきます。
すべてを理解しようとしない・全部覚えることはない
プログラミング言語を勉強しよう!という人はずいぶんとたくさんいます。ですが、その中で継続して続けていける人は少数派であり、多くの人が途中で諦めたりしているのが実際だと思います。やっぱりプログラミングは難しいものだと決めつけて、最初からあきらめている人も多いのではないでしょうか。
プログラミングは、取っつきにくいところは確かにあります。しかし、「専門教育を受けた理系出身でもないと無理」なんてことは全くありません。ITの世界では、たくさんの専門用語や技術が溢れていますが、全部覚えなければいけないなんてことは思い込みです。
プログラミングで「これはすぐにでも暗記しなければいけない」ということは、実はそう多くはありません。基本的な文法、値や変数、オブジェクト指向の基本的な知識、それぐらいです。すべて覚えているに越したことはありませんが、覚えるのは必要最低限で結構です。
なぜかというと、先ほど紹介したヘルプ機能が充実していたり、また多くの開発ソフトでは、入力する命令などを支援するための機能が揃っており、何もかも自分で暗記していなくてもプログラミングできるようになっています。
重要なのは、今すぐ理解できないことにぶつかっただけで、簡単に「ダメだ」と思わない、ということ。そして少しでもわからないと「もう無理」なんて思わないこと。わからないのが当たり前であり、肩の力を抜いて気負わずに取り組むことが重要です。
あまり高い目標を持たない
はじめから、高い目標を持っていても、それが実現できるのは当分先となり、目標がモチベーションをかえって下げてしまう原因になります。
最初は、すぐに到達できる身近な目標を考えながら勉強をしていきましょう。例えば、グラフィックツールを作ってみたいなら、まずは図形を描く、マウスで操作する、グラフィックを保存する、そうした1つ1つの機能を着実に習得していきましょう。
そういった作業の積み重ねの結果、高い目標へとたどり着くスキルが身についていきます。
さいごに
いかがでしたでしょうか。
何事にも通じますが、手を抜くところは抜き、やるべきところはやる、それに尽きます。最初からすべてがんばりすぎたり、すべて手を抜いていたら続けるのは難しいでしょう。
「どうすれば長続きできるか」というのが、実はもっとも大切なことかも知れませんね。楽しく学習し上達すればそれが一番です。みなさんで自身が楽しくなる方法を探してみてくださいね。
DMM WEBCAMPについて
DMM WEBCAMPは3ヶ月間で未経験から即戦力エンジニアを育成する転職保障付きのプログラミングスクールです。1ヶ月でプログラミング・Webデザインを学ぶ通い放題の「ビジネス教養コース」も展開しています。
DMM WEBCAMPを運営する株式会社インフラトップ では、「学びと仕事を通して人生を最高の物語にする」という理念で会社を経営しています。
キャリアアップを目指す方は、この機会に私達と一緒にプログラミングを学んでみませんか?
【インタビュー】未経験でもたった1ヶ月で営業からエンジニアとして転職!
未経験でも1ヶ月のプログラミング学習と手厚いキャリアサポートでエンジニアとして転職したWebCamp受講生にお話を伺いました。
「本当に1ヶ月でプログラミングを学習できるの?」
「未経験でもゼロからエンジニアになれるの?」
と疑問に思っている方は、是非この記事を読んでみてくださいね!