« CLOSE_WAITがたまる | メイン | 水浴び... »

2005年2月21日

Eclipseの功罪

カテゴリー: [プログラミング]

まあ,あんまりネタが思いつかないので,このブログらしく技術ネタを一つ書いてみます.

私は最近Eclipseを使ってしかJavaのプログラムを書かないんですが,Eclipseを初心者に使わせるとよくないことがあるという意見をあちこちで聞くことがあります.
これについて本当にどうなのかというのは,検証できない話ですので,私の主観で書いてみようかと思います.

そもそも,Eclipse を使うとプログラミングが身に付かないという意見がなぜ出るか.
Eclipse は非常に便利です.では,なぜ便利中といえば,その一つはEclipseが,多くのことを内部で自動的に処理してくれるからです.つまり,その自動で処理されている知識が欠落するのではないかという懸念があるのだと思います.
コンパイルなんか,その代表格でしょう.

反論もあって,その一つに,今時プログラムを打ち込むのに紙テープを使ってないのと同じだというのもあります.まあ,コンパイルとかの知識は,紙テープほど古い物とは思えないので,ちょっと言い過ぎかとは思いますが.

私は,便利な物は使えばいいと言う人間なので,便利であることが問題であるとは思いません.また,苦労すると覚えるとも思えません.どちらかといえば,便利な方法を知らない方が怖いですね.
うちの大学のプログラミングの演習では,コマンドラインでgccを使わせるのですが,結局,gcc のコマンドをおまじない程度にしか認識していない人は多いです.
そのせいで,プログラムの実行直前には,必ずコンパイルするという行動をとる人がいました.つまり,自分が何しているのか全くわかってないのです.(何をしているか教えないのも悪いのですが)

Eclipse はバックグラウンドで勝手にコンパイルしてくれますが,じゃあ,手動でやったらわかるのかと言えば,そんなことはないでしょう.

Eclipse の便利な機能に,補完機能と,文法チェック機能があります.これをやると,コンパイルが通った喜びを初学者に感じてもらう事が出来ないという意見を見たことがありますが,そもそもそんなところで喜んでいることが間違いです.動かすことが目的なのであって,コンパイルなんて通って当たり前です.
ちなみに,Eclipse を使わせても,教えないと補完機能なんかは使い始めない人もいます.

コンパイルにしたって,操作を教えたり,それを繰り返させても意味が無く,その意味を教えないでしょう.意味が分かっていれば,計算機が出来ることはやらせておけばいいのです.
勉強する気のない人には,何を使わせても同じ事でしょう.会社何かだとそうもいってられないので,Eclipseはよくないとかいう話になるのかもしれませんが,使いたいと言う人にわざわざ使うなと言ったりすることもあるようですから,それはどうかなあと思います.

結論みたいになりますが,私の主観としては,Eclipse を初学者に使わせるのは全く問題ありません.実際に,私も研究室の学生には積極的に勧めています.
あと,これは,会社等の組織での話になりますが,ツールの種類に関わらず,きちんと指導することです.もちろん中身について.

それに,Eclipse を使うとコードの質が上がる訳ではありません.あれは,あくまで便利な道具ですから.
能力を上げるには,別の努力が必要で,その時間を確保するために,実際の作業をさぼったっていいと思います.というか,そうするべきです.ただでさえ,計算機というのはややこしいのですから.浮いた時間分だけ,どんどんコードを書いた方がよっぽどいいでしょう.
まあ,勉強として,試しにコマンドラインからやってみるというのも,少しは必要かもしれませんが.

ちなみに,私は最初からIDEでした.Microsoft Cを買う金が無くて,2万円くらいで手に入る Quick Cを使っていたからです.これは,MS-DOS上で動作しますが,立派にIDEです.
こればっかり使っていたので,コマンドラインからコンパイルする事なんて滅多にありませんでした.でも,別に知識を得る上で,何にも困ったことなんてありませんでしたけどね.
ちなみに,Javaでは,vim + javac, 秀丸 + ant, Eclipseと移ってきました.私は便利な道具があれば飛びつくので.

何?私では例が悪いと.まあ,ごもっともです(笑)

投稿者 shingo : 2005年2月21日 23:49

トラックバック

このエントリーのトラックバックURL:
http://isolinear.info/cgi-bin/mt/mt-tb.cgi/50

コメント

コメントしてください

コメントスパム等の対策のために,大量のURLを含むコメント,古いエントリーに対するコメント,連続したコメントなどは,一旦保留されます.




保存しますか?