開発環境構築
最近はプログラム作成時に、プログラムの文法チェックやコード入力の支援、そして書いたプログラムをすぐに起動して結果を見ることができるなど便利な機能がたくさんついたIDE(統合開発環境)というシステムがよくつかわれます。
中でも無料で使い勝手のいいEclipseの設定をの仕方についてまとめようと思います。
以下の記事はネットで検索すると出てくる記事の一つですが、流し読みしていただけると助かります。
(抜粋「Javaの勉強を始めたいアナタへ」http://www.searchman.info/java_eclipse/1070.html)
<ワークスペース>
本には書いてありませんが、ここは超重要です。
インストールしたフォルダのeclipse.exe をダブルクリックしましょう。
※警告が出ても「実行」をクリック。
すると、以下のように、ワークスペースの設定が出てきます。
ここでワークスペースの設定に
スペース(空白)や全角文字を絶対入れてはいけません。
デフォルトのままだと、
大抵「Documents and Settings」などが入っていて空白が入っています。
しかし、これは後々困ることになるので、
絶対に空白や全角文字が入らないようにしましょう。
このワークスペースが、あなたが開発で使うディレクトリになるのですが、
私のお奨めは、上記↑黄色マーカーのように
「C:\eclipse-SDK-4.3.1-win32\workspace」です。
(※↑をコピーしてもOKです)
ワークスペースを書き換えたら、
「この選択をデフォルトとして使用・・・」にもチェックをいれましょう。
ワークスペースの設定が終わると、以下の画面が出てきます。
<Eclipse起動時のエラー1>
もし、Eclipseの起動が失敗すると、
↓のような画面が出てくる場合があります。
(出てこなければ、ここは関係ありません)
さらにログを確認すると、↓のようなメッセージが出ている場合があります。
!ENTRY org.eclipse.core.launcher
!MESSAGE Exception launching the Eclipse Platform:!STACK
java.lang.RuntimeException: Could not find framework
この場合は、
Eclipseの解凍(展開)がうまくいっていない場合がほとんどです。
Eclipseの場合、たまにそういうことがあるようなので、
再度解凍(展開)してEclipseのインストールをやり直しましょう。
<Eclipse起動時のエラー2>
また、↓のようなメッセージが出て、
Eclipseが起動できない場合もあります。
Required Java version
JVM is not suitable
その場合の解決方法は、こちらを参照してみてください。
<Eclipse起動時のエラー3>
また、↓のようなメッセージが出て、
Eclipseが起動できない場合もあります。
Failed to create The Java Virtual Machine
その場合の解決方法は、こちらを参照してみてください。
<デフォルトJavaの設定>
Eclipseが使用するデフォルトのJavaを設定します。
Eclipseは、
パスの通っているところのJREをデフォルトでもちます。
このJREのままだと、JSPの開発の時に
「JSPファイルをコンパイルするためにTomcatがJDKを欲しがっています。」
というエラーメッセージがでる場合があります。
そこで、JDKをデフォルトJavaにします。
たぶん初心者のかたは何を言っているかわからないと思いますが、
ここを以下のとおりやってしまいましょう。
ウィンドウ→設定→Java→インストール済みのJREを選びましょう。
ここで、前にインストールしたJDK(JDKをインストール参照)の
ディレクトリを指定するので、
(もし、そのJDKが無い場合は)追加ボタンをクリックして追加します。
そのまま(標準VM)で、「次へ」をクリック。
「ディレクトリ一覧」ボタンをクリックし、
JDK(JDKをインストール参照)のディレクトリを指定しましょう。
(私の場合は、C:\Program Files\Java\jdk1.7.0_51 です。)
JDKを追加登録した後は、インストール済みのJREのチェックを、
そのJDKに変更しておきます。
<Eclipseのエディタで行番号表示させよう>
Eclipseの行番号が表示されると便利ですので、これも設定しておきましょう。
ウィンドウ→設定→一般→エディタ→テキストエディタを選びましょう。
行番号の表示をチェック入れておきましょう。
<Eclipseのプログラムソースファイルと実行ファイルをわけよう>
次の設定をすると、
ソースファイルと実行ファイルのディレクトリがわかれるので、
すっきりとファイル管理ができます。
ウィンドウ→設定→Java→ビルド・パスを選びましょう。
そこで、フォルダーのほうにチェックを入れます。
※よくわからなくても、やっておけばいいですからね。
<コンパイラーの設定>
古いJDKなどが残っていると、そのまま古いJDKのコンパイラーを使っている場合があります。
そこで、最新のコンパイラーに設定しておくために、
ウィンドウ→設定→Java→コンパイラーを選びましょう。
コンパイラーの標準レベルを1.7にします。
と手順が細かく載ってるわけですが、自分の使っているパソコンによって設定画面が異なるため、たとえ本を見ながら設定していたとしても途中で不安なところがでてきてネットで調べる必要が出てきます。
しかもまだ知らない単語ばかりで何を言ってるのか全然わからないので、
1人でやっていてどつぼにはまった人はここであきらめたくなるのではないか思いました。
Java言語とは
200以上あるプログラミング言語(PCに命令を伝えるための人工的なコトバ)のなかから人気の3つを取り上げこれから学んで行くJava言語がどういったものかを理解します。
(参考「プログラミング言語人気TOP10の簡易解説」http://www.mwsoft.jp/column/program_top10.html)
1. Javaとは
・どんな言語か
ここしばらくTIOBE(プログラミング言語)のランキングで1位を取っている有名言語。
中間コードにコンパイルされVM上で動作するので移植性が高く、Web系や組込み系、Androidなど幅広い分野で利用されている。
・長所
実行速度はC言語に及ばないもののスクリプト言語よりは数十倍速い。
一度コードを書けばそれが広い範囲で長期間利用できる。Java1.4で書かれたライブラリが今でも普通にJava6から呼ばれていたりするみたいな。
・短所
VM(仮装マシーン)を立ち上げるのに時間がかかるので、一瞬で終わる軽い処理を実行する場合はどの言語よりももっさりした動きになる。
名前空間とか、型の宣言とか、かなり厳密にやらないといけない。
・誰が学ぶべきか
最近だと話題のHadoopとかCassandraなどがJavaで書かれている。その辺りのソフトと親しくなりたい場合は覚えておくと良いかもしれない。
あとは企業で利用されているケースが目立つので、覚えておけば仕事を得る手助けになる。
けど、言語としてはだいぶ古いし、なんとか0xほどではないにしても新しいバージョンの仕様がなかなか決まらないし(クロージャ入れると言い始めてはや何年?)、モダンなものを求めてしまう人には向かないかもしれない。
2. C言語とは
・どんな言語か
プログラミング言語もCでできている。
というように世の中の基板になるところを支えている言語。
・長所
有名な高級(?)言語の中では最速の実行速度を誇る。なのでスクリプト言語(比較的単純なプログラムを記述するための、簡易的なプログラミング言語全般)を利用している時に速度が出なくて困ったら、その部分をちょろっとCで書き直すと平気で100倍速になったりすることもある。
何十年も使われてきた歴史ある言語なので、周りにはCで書かれたいろんな資産がある。学習する時に参考になる良いソースを探すのも楽。参考図書にも困らない。
・短所
コード量が軽量な言語と比べるとかなり多くなる。
自分で何かソフトを作ることになったとして、ピュアなCでガリガリ書くというシチュエーションはあまり思い浮かばない。C++を使うような気がする。
移植性が低い。たとえばAndroidで動いているコードをiOSで動かそうと思ったら、いろいろ書き換えないといけないところが出てくる。
・誰が学ぶべきか
軽い言語だと勝手に裏側でやってくれるようなメモリの確保やファイルポインタの操作なんかも、Cでは自分で意識して書かないといけない。そのため、一度触れておくとプログラムが裏側で何をしているかが意識できるようになり良い。
OSや言語の細かい挙動を追いたいという願望が生まれた時に(たとえばPHPのネットワーク関連の機能について、実際にこれは裏では何をしてるんだ、ということが知りたくなった時とか)、Cが読めると割とあっさり答えに辿りつけたりもする。
ガリガリ書けるようになる必要があるかは別として、とりあえず知っておいて損はない言語。
3. C++とは
・どんな言語か
C言語にテンプレート、クラス、継承、多重継承、演算子のオーバーロード、デフォルト引数など、その他いろんな厄介な仕様を取り付けることで出来上がった言語。
多くの仕様が加わることによって生み出されるコードは混沌としたが、最後には希望が残ったと言われているとかいないとか。
・長所
速度はCと同じく音速。その上オブジェクト指向やらスマートポインタやら様々な機能が付加され、Boostなんていう強力という言葉がよく似合うライブラリ(ある特定の機能を持ったプログラムを、他のプログラムから利用できるように部品化し、複数のプログラム部品を一つのファイルにまとめたもの。)も使えるので、多彩なコードの書き方ができる。
CでできることはC++でもすべてできるので文字通りCにプラスされた感じ。
・短所
メモリ管理は面倒。
学習する際はC言語の基本を学んでからC++に手を伸ばすような経路が一般的。つまり、ただでさえ学習コストが他の言語より高めなCを学んで、さらにC++の概念を学ばないといけない。使えるようになるまでかなり時間がかかる。
PythonやRubyの学習コストを10として、Javaを15、Cを20とすると、C++の学習はコストが30くらいかかるような感じ。
大規模なプロジェクトだとビルド(最終的な実行可能ファイルを作成すること)にけっこうな時間がかかる。
・誰が学ぶべきか
間違っても「ちょっとプログラムというのを学んでみたい。C++ってかっこよさそう」なんていう気持ちで手をつけてはいけない。「ちょっと登山を経験してみよっかな」と言ってチョモランマに登るようなものである。
速くて省メモリな○○ライブラリというような触れ込みで公開されるライブラリはC++で書かれていることが多い。たとえば去年(2010年)Googleが公開したRE2という速くて省メモリな正規表現ライブラリはC++で書かれていた。
そういう良く呼び出され、速度が求められ、書き捨てられるようなコードではない系のソフトを作りたい人は甘えたことは言わずにC++に手を出すのが良いかもしれない。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
最初に登場したJavaをこれから学ぶということで、次回はそのための開発環境の整え方を学びます。